Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ela-codes/vibin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

74 Commits
Β 
Β 

Repository files navigation

🎡 VIBIN.

A Spotify Mood-Based Song Recommendation App

Imagine this.

You're the main character of a movie. What music is playing in the background right now?

VIBIN. bridges the gap between emotion and music by delivering meaningful song recommendations based on your mood!

This app analyzes user input like "I feel like crying in the rain" to identify moods and match them to Spotify songs that resonate. Whether you're feeling nostalgic, energized, or relaxed, this app delivers personalized music recommendations tailored to your vibe.

vibin-showcase.mov

πŸš€ Purpose

Typically when we search for songs, we already feel a certain type of way. We know what genres or artists to look for to satisfy that "vibe". Some would say we get into "main character energy" and by listening to music that matches our mood, we feel like the main character in a movie.

Designed to explore API integrations, full stack app deployment, user session management, and scalable application design, this project is both a creative experiment and a technical showcase for me!


πŸ› οΈ Tech Stack

  • Backend: Spring Boot for RESTful API development and business logic.
  • Frontend: React, Bootstrap, and Motion for a responsive and dynamic user interface.
  • Database: PostgreSQL via Supabase for managing users, emotions, moods, and genres.
  • APIs:
    • Hugging Face: Emotion detection and sentiment analysis using NLP model.
    • Spotify API: User authentication and track + playlist queries.
  • Testing: JUnit and Mockito for robust unit testing of backend services.
  • Deployment: Backend: Docker, Azure Redis for Cache, Microsoft Azure Container Apps. Frontend: Vercel, GitHub Actions

πŸ“š Lessons Learned

  1. API Integration Challenges: Managing OAuth flows, session tokens and ensuring secure Spotify API access provided valuable insights into third-party API integration.
  2. Data Mapping: Designing relationships between emotions, moods, and genres highlighted the importance of organized back-end logic.
  3. User-Centric Design: Creating an intuitive and engaging interface made me realize the value of combining functionality with user experience.
  4. Testing and Debugging: Writing comprehensive tests for API-driven functionality enhanced code reliability and reduced debugging time significantly.
  5. Live Production Environment: Deployed back-end using Docker, Azure Redis for Cache, and Microsoft Azure Container Apps. Front-end on Vercel with GitHub Actions for CI/CD.

➑️ Next Steps

  1. Deploy the app online. (DONE)
  2. Go through beta testing with 10-20 users. (IN PROGRESS)
  3. Implement app enhancements and refactoring. (IN PROGRESS)

About

A mood-based song recommendation app, powered by Spotify and Hugging Face NLP model.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published