The Music Application project is a web-based platform designed to provide users with a seamless and enjoyable music streaming experience. The project encompasses features for three main user roles: Creators, Users, and Administrators. Creators can upload, manage, and share their music, while Users can discover and enjoy a wide range of songs and albums. Administrators have tools to oversee user activity, manage flagged content, and perform administrative tasks.
Project Objectives:
- User Registration and Authentication:
- Allow users to register as Creators or Users.
- Implement secure authentication mechanisms.
- User Dashboard:
- Enable Users to create playlists, explore top-rated songs, and discover new albums.
- Implement features for rating songs and albums.
- Creator Dashboard:
- Provide Creators with a dedicated dashboard to manage their songs and albums.
- Support album creation, song uploading, and lyrics submission.
- Administrator Panel:
- Create tools for administrators to monitor flagged content and user activity.
- Implement user management features, such as blocking or unblocking Creators.
- Generate reports on songs, albums and Creators.
- Search:
- Allow Users to search for songs, albums, based on names of songs and ratings efficiently
Technology Stack:
- Backend Framework: Flask (Python)
- Database: SQLite3
- Frontend:
- HTML: Used for structuring the content and layout of web pages.
- Bootstrap: Used for designing the visual appearance of web pages.
- Jinja2: Used with flask to generate dynamic HTML content. - File Storage: Local file storage for audio files
- Data Visualization: Matplotlib