HarmoniSync is a music recommendation web application designed to help users discover the finest music tracks across various genres. The project leverages the Spotify API to provide personalized track recommendations based on user-selected genres.
- Introduction
- Features
- Technology & Architecture
- Core Algorithms
- Learnings
- Team
- Installation
- Usage
- Contributing
- License
HarmoniSync was inspired by our passion for music and the desire to create a seamless way for users to discover new tracks. Our team collaborated to design and develop an intuitive application that provides high-quality music recommendations.
- Discover music tracks across multiple genres.
- Select your favorite genres and get personalized recommendations.
- Add recommended tracks to your playlists.
- Explore detailed track information and listen on Spotify.
HarmoniSync utilizes a modern tech stack to ensure a smooth and efficient user experience:
- Frontend: React, Next.js, Tailwind CSS
- Backend: Python, Flask
- APIs: Spotify API for music data
- Database: MySQL for user and playlist data
- Authentication: NextAuth.js for user authentication
HarmoniSync's recommendation system employs advanced algorithms to analyze user preferences and generate personalized music suggestions. The core algorithm involves:
- Fetching user-selected genres.
- Requesting recommendations from Spotify API based on seed genres.
- Filtering and ranking tracks to suit user tastes.
Working on HarmoniSync enhanced our skills in full-stack development, API integration, and collaborative teamwork. We gained a deeper understanding of music recommendation systems and improved our ability to manage technical and non-technical challenges.
- Nathanael Cheramlak
- Daniel Yohannes
To run HarmoniSync locally, follow these steps:
-
Clone the repository:
git clone https://github.com/DanielJohn17/HarmoniSync.git
-
Navigate to the project directory:
cd HarmoniSync -
Install the Frontend dependencies:
npm install
-
Install the backend dependencies:
pip install -r requirements.txt
-
Set up environment variables:
- Create a
.envfile in the root directory. - Add your Spotify API credentials and other required environment variables.
- Create a
-
Start the backend development server:
cd backend python -m api.v1.app -
Start the frontend development server:
npm run dev
- Open your browser and navigate to http://localhost:3000.
- Sign in using your Spotify account.
- Select your favorite genres.
- Explore the recommended tracks and add them to your playlists.
We welcome contributions to HarmoniSync! If you have ideas for new features or improvements, please open an issue or submit a pull request. Follow the contributing guidelines for more information.
HarmoniSync is licensed under the MIT License. See the LICENSE file for more details.