"Omega Beats" is a Django Web Application in which you can create and share music.
I made this project as part of Softuni's course "Python Web Framework- July 2021". To make it I utilized the knowledge I gained during the course. In it, I used techniques like template inheritance, using media and static files, authentication, CBVs, and more.
The application is deployed on Heroku here- https://omega-beats.herokuapp.com/
- Python
- Django
- Javascript
- HTML
- CSS
- common
- beats
- omega_beats_auth
- Holds the home page view
- like/comment models and logic
- Contains the main App data entity- the "Beat"
- also the BeatPlay and BeatNotes models
- Holds the browser page, beat details, beat player, and recorder
- All CRUD operations for the "Beat"
- Contains the login/register functionality
- Holds the extended User and Profile model
The UserModel is extended and the login is made via email and password.
The authentication logic is stored in the omega_beats_auth app.
There are three types of users:
- Annonymus
- Authenticated
- Admins
These users are able to browse other user's creations, view their details, and listen to them.
These users have all the privileges of the anonymous users plus having the ability to like and comment on different beats.
They can also create their own music and customize their own profile pages. They can edit and delete the content they make.
They have a special admin page where they can edit and delete other user's content.
All profile and beat cover images are stored in Cloudinary Management Media Library. The images are called with cloudinary's API.