Whale is a "Music Streaming" website developed with Django and Ajax. Users can share music with others.
The main features that have currently been implemented are:
- Listen songs (no need to login)
- Music player functions(play, pause, next, previous, timestamp)
- Comment the song.
- Add to favourite list.
- Upload songs.
- Edit and Delete own songs.
- Authentication and authorization
- User Profile
- Follow / Unfollow
- Search songs
- Responsive design
Frontend - Vanilla Javascript, Ajax
Styling - Bootstrap CSS
Backend - Django
Database - Postgres
Hosting - AWS EC2
Containerization: Docker
Due to server costs, I am sorry that I could not release this site public. I am only sharing with my close friends.
Here is the demo GIF.
- UI Resign
- Shuffle/ Loop songs
- Timer
- Notification
- User Created Playlist
- Song Recommendation
- Live Radio
To get this project up and running locally on your computer:
-
Clone the project.
git clone https://github.com/pyaephyokyaw15/Whale.git
-
Set up the Python development environment.
Note: I want to recommend using a Python virtual environment.
-
Create .env file in the project root directory and create variables used in settings.py.
-
Assuming you have Python setup, run the following commands (if you're on Windows you may use
py
orpy -3
instead ofpython
to start Python):pip3 install -r requirements.txt python3 manage.py makemigrations python3 manage.py migrate python3 manage.py collectstatic python3 manage.py test # Run the standard tests. These should all pass. python3 manage.py createsuperuser # Create a superuser python3 manage.py runserver
-
Open a browser to
http://127.0.0.1:8000.
-
Admin Site:
http://127.0.0.1:8000/admin