How xiao-yan19/sound_sphere_v1 works
SoundSphere is described as a music social-streaming application; the available implementation evidence is its Express backend, not the Flutter application code. The principal API workflow is a client request routed through the API to authentication, profile/activity, or music handlers, which use domain models or the Jamendo integration. Registration/login and token refresh, profile management, activity retrieval, and music search/trending/track lookup are distinct capabilities. Backend routing and service calls are evidenced; the client-to-API relationship is shown as unverified because no client source is provided.
Main entry points: auth.controller.js Auth handlers · user.controller.js Profile and activity · app.js HTTP API · auth.routes.js Auth routes
Components 18
API runtime
- API startup
backend/src/server.js - HTTP API
backend/src/app.js - Auth routes
backend/src/routes/auth.routes.js - User routes
backend/src/routes/user.routes.js - Music routes
backend/src/routes/music.routes.js
Identity and profiles
- Auth middleware
backend/src/middleware/auth.middleware.js - Auth handlers
backend/src/controllers/auth.controller.js - Profile and activity
backend/src/controllers/user.controller.js - Token utilities
backend/src/utils/jwt.js - Input validation
backend/src/utils/validators.js
Music discovery
- Music handlers
backend/src/controllers/music.controller.js - Jamendo service
backend/src/services/jamendo.service.js
Persistence
- User records
backend/src/models/user.model.js - Sessions
backend/src/models/session.model.js - Activity records
backend/src/models/activity.model.js - Database connection
backend/src/config/database.js
Other components
- App client
- Jamendo API
Connections 22
- App client → HTTP API: sends requests
- API startup → HTTP API: starts
backend/src/server.js - API startup → Database connection: connects database
backend/src/server.js - HTTP API → Auth routes: mounts routes
backend/src/app.js - HTTP API → User routes: mounts routes
backend/src/app.js - HTTP API → Music routes: mounts routes
backend/src/app.js - Auth routes → Auth handlers: dispatches to
backend/src/routes/auth.routes.js - Auth routes → Auth middleware: protects endpoint
backend/src/routes/auth.routes.js - User routes → Profile and activity: dispatches to
backend/src/routes/user.routes.js - User routes → Auth middleware: protects endpoints
backend/src/routes/user.routes.js - Music routes → Music handlers: dispatches to
backend/src/routes/music.routes.js - Auth handlers → User records: reads and writes
backend/src/controllers/auth.controller.js - Auth handlers → Sessions: manages sessions
backend/src/controllers/auth.controller.js - Auth handlers → Token utilities: creates tokens
backend/src/controllers/auth.controller.js - Auth handlers → Input validation: validates input
backend/src/controllers/auth.controller.js - Auth middleware → Token utilities: verifies tokens
backend/src/middleware/auth.middleware.js - Profile and activity → User records: reads and updates
backend/src/controllers/user.controller.js - Profile and activity → Sessions: deletes sessions
backend/src/controllers/user.controller.js - Profile and activity → Activity records: reads and deletes
backend/src/controllers/user.controller.js - Profile and activity → Input validation: validates input
backend/src/controllers/user.controller.js - Music handlers → Jamendo service: requests tracks
backend/src/controllers/music.controller.js - Jamendo service → Jamendo API: fetches track data
backend/src/services/jamendo.service.js