How karansunar07/monk-play works
Monk Play is a Flask playlist and music-management website. The main user flow is browsing saved tracks or connecting Spotify to import playlists, then viewing and playing playable tracks; admins also upload local music and manage users. Authentication, cookie preferences, dashboard reporting, and CSRF protection are supporting capabilities. Most application behavior appears to be concentrated in app.py, while a separate app package provides authentication routes and MySQL setup. The excerpts do not expose all route implementations, so some capability links rely on README documentation.
Main entry points: app.py Saved tracks · database.py MySQL access · authroutes.py Auth routes · templates Page templates
Components 20
Web experience
- Flask routes
app.py - Home and songs
app.py - Dashboard
app.py - Page templates
app/templates - Music player UI
app/statics/js/app.js
Music library
- Spotify import
app.py - Manual uploads
app.py - Saved tracks
app.py
Accounts and admin
- Auth routes
app/routes/authroutes.py - Auth controller
app/controllers/authcontroller.py - Login guard
app/auth.py - Admin tools
app.py - CSRF protection
app/__init__.py - Cookie tools
app/controllers/authcontroller.py
Persistence and integrations
- MySQL access
app/database.py - MySQL database
- App configuration
config.py - Spotify API
Other components
- Listener
- Admin
Connections 25
- Listener → Flask routes: browses
README.md - Admin → Flask routes: manages
README.md - Flask routes → Home and songs: routes requests
app.py - Home and songs → Saved tracks: loads tracks
app.py - Home and songs → Page templates: renders pages
README.md - Dashboard → Page templates: renders dashboard
README.md - Saved tracks → MySQL access: reads records
README.md - Music player UI → Saved tracks: plays tracks
README.md - Listener → Spotify import: imports playlists
README.md - Spotify import → Spotify API: requests playlist data
app.py - Spotify import → Saved tracks: saves imported tracks
README.md - Admin → Manual uploads: uploads music
README.md - Manual uploads → Saved tracks: saves local tracks
README.md - Saved tracks → MySQL access: writes records
app.py - MySQL access → MySQL database: reads and writes
app/database.py - MySQL access → App configuration: uses settings
app/database.py - Flask routes → Auth routes: registers blueprint
- Auth routes → Auth controller: dispatches requests
app/routes/authroutes.py - Auth routes → Login guard: checks login
app/routes/authroutes.py - Auth controller → MySQL access: loads user
app/controllers/authcontroller.py - Flask routes → CSRF protection: validates posts
app/__init__.py - Admin → Admin tools: manages users
README.md - Admin → Cookie tools: sets preferences
app/controllers/authcontroller.py - Admin tools → MySQL access: updates records
README.md - Cookie tools → Page templates: renders cookie page
app/controllers/authcontroller.py