Foros
The great place to discuss topics with other users
Trending Audio Tracks Widget – Concept & Implementation Guide
'
Join the Conversation
Post Reply
2026-02-25 08:55:55

🎵 Concept Proposal: Trending Audio Tracks Widget
Platform: Sngine-based website
Goal: Replace placeholder widget with a fully dynamic, database-driven trending audio component.
📌 Objective
- Display a maximum of 5 trending audio tracks
- Pull real data from database (no dummy content)
- Use a defined trending algorithm
- Automatically update
- Be performance-optimized
- Optionally API-ready for future expansion
⚙ Functional Requirements
Each track must include:
- HTML5 Audio Player (play/pause minimum)
- Track Title (from post text or title field)
- Primary Hashtag (styled badge)
- Author Full Name (clickable profile link)
- Maximum of 5 tracks displayed vertically
📊 Definition of “Trending”
Suggested scoring formula:
Trending Score = (Likes × 2) + Comments + Shares + Plays
Optional enhancements:
- Time-weighted scoring (recent activity prioritized)
- Trending within configurable timeframe (e.g. last 7 days)
- Admin-adjustable scoring weights
🛠 Technical Implementation
Option A – Direct Query
- Select posts where
post_type = 'audio' - Join with users table
- Calculate trending score
- Order by score DESC
- Limit results to 5
Option B – Recommended (Performance Optimized)
- Create cron job (every 5–10 minutes)
- Calculate trending score in background
- Store top 5 results in cache table (e.g.
trending_audio_cache) - Widget reads only from cache
Reason: Prevent heavy database load and ensure scalability.
🌐 Optional API Endpoint
/api/trending-audio
JSON Example:
[ { "title": "Track Title", "hashtag": "#electronic", "audio_url": "https://...", "user_name": "username", "profile_url": "https://..." } ]
🎨 UI / Design Direction
- Modern, clean layout
- Brand-aligned styling (dark preferred)
- Vertical stacking (max 5 items)
- Styled hashtag badges
- Subtle hover animations
- Custom-styled audio player
- Optional waveform (future enhancement)
🔒 Security & Stability
- Sanitize all output
- Prevent SQL injection
- Respect user privacy settings
- Handle missing audio files gracefully
- Ensure compatibility with current Sngine version
End of Proposal