MusicChat is a web application that allows users to listen to their favorite music while chatting with other music enthusiasts in real-time. With MusicChat, users can search for and stream their favorite music tracks from Spotify's music catalog, and communicate with others in a chatroom using Firebase Realtime Database. The application is built using Python and Flask, and includes a database for storing user data and music data.
By working on MusicChat, I aim to develop my skills in Python, Flask, HTML, CSS, and JavaScript, as well as gain experience in integrating with third-party APIs such as Spotify and Firebase services. Additionally, I hope to learn about designing user interfaces, working with databases, and deploying web applications.
Python
, Flask
, HTML
, CSS
, JavaScript
, MySQL
, Spotify API
, Firebase Realtime database
APIs and External Services: a. Spotipy/Spotify API: MusicChat leverages the Spotipy library to interact with the Spotify API, allowing users to search for music and retrieve track information, such as artist, album, and album cover art. The API enables audio playback using Spotify Embeds, which allows users to listen to music directly within the MusicChat platform.
b. Firebase Realtime Database: The chatroom functionality in MusicChat is powered by Firebase Realtime Database, which enables real-time updates and communication among users. Firebase synchronizes and stores chat messages, allowing users to experience a live and engaging chat environment.
-
Head over to Spotify:
- create a developer account,
- create an app at the dashboard,
- go to the settings of the app you created and copy the client id and client secret
-
Create a .env file inside the MCH directory and add the access keys to Spotify:
SPOTIFY_CLIENT_ID = 'your-client-id'
SPOTIFY_CLIENT_SECRET = 'your-client-secret'
- To run locally, start the virtual environment:
source musicChat/bin/activate
- cd to MusicChat then run
python3 run.py