How brianharoldbernardo-lang/song-recommendation-system works
This repository is a music-sharing social application: users can register and log in, browse a feed, search songs, users, and playlists, and view profiles. The sampled frontend establishes routing and authentication state; the backend tree separates accounts, posts, songs, playlists, feed, and search into Django apps. Search currently displays in-component sample data. Backend wiring and the implementations of most pages and services were not sampled, so uncertain API relationships are omitted.
Main entry points: App.jsx App router · SearchPage.jsx Search page · AuthContext.jsx Auth state · api.js API client
Components 25
Frontend
- App router
frontend/src/App.jsx - Auth state
frontend/src/context/AuthContext.jsx - API client
frontend/src/services/api.js - Auth requests
frontend/src/services/auth.js - Feed page
frontend/src/pages/FeedPage.jsx - Search page
frontend/src/pages/SearchPage.jsx - Profile page
frontend/src/pages/ProfilePage.jsx - Login page
frontend/src/pages/LoginPage.jsx - Register page
frontend/src/pages/RegisterPage.jsx - Song card
frontend/src/components/SongCard.jsx - Post form
frontend/src/components/PostForm.jsx - Navigation
frontend/src/components/Navbar.jsx
Accounts
- Account endpoints
backend/apps/accounts/views.py - Account data
backend/apps/accounts/models.py
Music sharing
- Post endpoints
backend/apps/posts/views.py - Post data
backend/apps/posts/models.py - Song endpoints
backend/apps/songs/views.py - Song data
backend/apps/songs/models.py - Playlist endpoints
backend/apps/playlists/views.py - Playlist data
backend/apps/playlists/models.py
Discovery
- Feed endpoints
backend/apps/feed/views.py - Feed data
backend/apps/feed/models.py - Search endpoints
backend/apps/search/views.py - Search data
backend/apps/search/models.py
Other components
- User browser
Connections 9
- User browser → App router: opens
- App router → Feed page: routes to
- App router → Search page: routes to
- App router → Profile page: routes to
- App router → Login page: routes to
- App router → Register page: routes to
- App router → Navigation: renders
- Search page → Song card: renders
- Auth state → API client: requests profile