A fully functional music player web application built with Django. This project allows users to first register and log in to the music player and upload the song according to the user mood and test, And playing the song. In this music player, there are two song windows: one is small and the other is a pop-up song window. We can use both for playing the song. Here, songs are managed are song very easily, and make favorites with an intuitive and responsive interface.
-
User Authentication
- User signup, login, and logout
-
Song Management
- Play songs with detailed metadata
-
Responsive Design
- Works seamlessly on desktops, tablets, and mobile devices
- Bootstrap-based styling for modern UI
-
Backend and Database
- Built using the Django framework
- SQLite database for storing user data, songs, playlists, and favorites
| Tool/Technology | Purpose |
|---|---|
| Python 3.13 | Programming language for backend logic |
| Django Framework | Web framework for server-side application |
| SQLite | Lightweight database |
| HTML/CSS/JavaScript | Frontend structure, styling, and interactivity |
| Bootstrap | Responsive and modern UI design |
| Git | Version control |
| Virtualenv | Python environment isolation |
- Django==5.2.1
- pillow==11.2.1
- sqlparse==0.5.3
| django-music-player/
│
├── manage.py # Django project management script
├── requirements.txt # Python dependencies
├── README.md # Project documentation
│
├── musicplayer/ # Main Django project folder
│ ├── init.py
│ ├── settings.py # Project settings (database, installed apps, etc.)
│ ├── urls.py # Root URL routing
│ ├── wsgi.py # WSGI interface
│ └── asgi.py # ASGI interface (optional)
│
├── app/ # Main Django app folder
│ ├── migrations/ # Database migration files
│ ├── static/ # Static files (CSS, JS, images)
│ │ └── app/ # App-specific static assets
│ ├── templates/ # HTML template files
│ │ └── app/ # App-specific templates
│ ├── init.py
│ ├── admin.py # Admin site configurations
│ ├── apps.py # App configuration
│ ├── models.py # Database models (e.g., Song, Playlist)
│ ├── tests.py # Tests for the app
│ ├── urls.py # App URL routes
│ └── views.py # View functions and classes
│
├── media/ # Uploaded media files (songs)
│
└── db.sqlite3 # SQLite database file
-
Clone the repository:
https://github.com/RoshanSharma7/Python-Music-Player
-
Navigate the project directory:
cd django-music-player -
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Mac/Linux venv/Scripts/Activate # On Windows
-
Install the dependencies:
pip install -r requirements.txt
-
Apply Mirations:
python manage.py makemigrations python manage.py migrate
-
Run the Server:
python manage.py runserver
-
Open your browser and go to: http://127.0.0.1:8000
Contributions are welcome! Feel free to open issues or submit pull requests.
- Fork the project.
- Create your feature branch:
git checkout -b feature/YourFeature. - Commit your changes:
git commit -m 'Add some feature. - Push to the branch:
git push origin feature/YourFeature. - Open a pull request.
For questions or Support, Contact on
- GitHub: RoshanSharma7
- LinkedIn: RoshanSharma7
- Instagram: iamroshansharma7
- Email: roshan.amlai96@gmail.com
This project is licensed under the MIT License. Please take a look at the LICENSE file for details.
This README file is structured to provide a comprehensive overview of the project, instructions for running it, and potential areas for improvement.