About the Project
This project is a music streaming application built using Flutter for the mobile and web clients, and Dart Frog for the backend API. It offers a comprehensive set of features for managing music, playlists, and user preferences.
Key Features
- Mobile App (Flutter):
- Play/pause songs with audio controls
- Skip to next/previous track
- Browse songs and albums
- Favorite songs
- Playlist management
- Dark/Light theme support
- Offline playback with manual download caching
- Works on Android, iOS, and Web
- Backend API (Dart Frog):
- JWT-based authentication
- Songs CRUD with search functionality
- Playlists CRUD operations
- Favorites management
- File uploads for audio and cover images
- JSON file persistence for data storage
Technology Stack
- Frontend: Flutter, Dart
- Backend: Dart Frog, Dart
- Authentication: JWT, bcrypt
- Data Storage: JSON files (MVP)
- Development Tools: Docker, Git
Architecture
- Flutter App: Provider for state management, Model-View-Service (MVS) architecture, offline support via manual download caching.
- Backend: Dart Frog framework, JWT for authentication, bcrypt for password hashing, JSON files for data persistence.
Deployment
The project supports deployment via Globe.dev and Docker for the backend, and standard Flutter build commands for the mobile and web applications.
Roadmap
The project includes features such as basic music playback, user authentication, song and playlist management, a favorites system, file uploads, an admin dashboard, artist profiles, social features, search filters, and music recommendations.
License
The project is licensed under the MIT license.