A modern, feature-rich music streaming application with a Flutter mobile client and FastAPI backend.
- 🎨 Beautiful Dark Theme with Gradient UI
- 🔍 Smart Search with Recent Songs
- 🎵 Music Player with Background Playback
- 💫 Smooth Animations & Transitions
- 🔐 Secure Authentication Flow
- ❤️ Favorite Songs Management
- ⚡ High-Performance FastAPI Server
- 🗄️ PostgreSQL Database with SQLAlchemy
- ☁️ Cloud Storage with Cloudinary
- 🔒 JWT Authentication
- 📚 Auto-generated API Documentation
music_app/
├── # Flutter Mobile Application
│ ├── lib/ # Dart source code
│ ├── assets/ # Images and resources
│ └── [More Details](README.md)
│
└── server/ # FastAPI Backend Server
├── routes/ # API endpoints
├── models/ # Database models
└── [More Details](server/README.md)
The mobile client is built with Flutter and follows modern app development practices:
- State Management with Riverpod
- Clean Architecture
- Responsive Design
- Dark Mode with Custom Theme
The backend is powered by FastAPI and provides:
- RESTful API Endpoints
- Secure Authentication
- File Upload & Management
- Database Operations
- Flutter SDK
- Python 3.8+
- PostgreSQL
- Cloudinary Account
- Clone the repository:
git clone [repository-url]
cd music_app- Set up the backend:
cd server
python -m venv .venv
.venv\Scripts\activate # Windows
source .venv/bin/activate # Unix/MacOS
pip install -r requirements.txt
# Configure .env file (see server/.env.example)
uvicorn main:app --reload- Set up the mobile app:
cd ../client
flutter pub get
flutter runCreate a .env file in the server directory:
# Database
DB_USER=postgres
DB_PASSWORD=your_password
DB_HOST=localhost
DB_PORT=5432
DB_NAME=musicapp
# Cloudinary
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secretUpdate the API endpoint in lib/core/constants/api_endpoints.dart:
const String baseUrl = 'http://your-api-url:8000';This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
- Flutter Team
- FastAPI Team
- SQLAlchemy Team
- Cloudinary
- All Contributors
Made with ❤️ by Ayush Kumar Singh





