Skip to content

Latest commit

 

History

79 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues License


Vibesbased Logo

Vibesbased

A music discovery application based on vibes. Due to Spotify's new policies, new users need to message me to gain access.


See Docs · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. License
  5. Contact

About The Project

Product Name Screen Shot

Vibesbased is a full-stack music discovery web app that takes in plain-text music requests from users and plays personalized song recommendations by combining a host of APIs from Spotify, LastFM, and OpenAI. Users swipe through animated music cards to like and dislike songs building a vibe-driven portfolio over time.

The project is an attempt to offer a more intuitive and mood-aware way to explore music.

(back to top)

Built With

APIs & SDKs

  • Spotify Web API & Web Playback SDK
    Used to fetch user data and handle music streaming.
  • Last.fm API
    Pulls songs from tag.getTopTracks endpoint.
  • OpenAI API (Completions endpoint)
    Used to reason for appropriate tags and endpoints given user requests.

Technologies

  • Frontend: React, TypeScript, HTML, Tailwind CSS
  • Backend: Java, Spring Boot
  • Infrastructure: Docker, AWS EC2
  • Database: PostgreSQL

React TypeScript HTML5 TailwindCSS Spring Boot Java PostgreSQL Docker AWS EC2 OpenAI Spotify Last.fm

(back to top)

Getting Started

Follow these steps to set up and run Vibesbased locally for development.

Prerequisites

  • Node.js (v16 or later) and npm
  • Java JDK (version 11 or later)
  • PostgreSQL database (locally installed or accessible remotely)

Installation & Setup

  1. Clone the repository
    git clone https://github.com/jcandrews2/vibesbased.git
    cd vibesbased
  2. Configure environment variables
    Create a .env file inside the backend directory (/backend) with your API keys and database connection string:
    SPOTIFY_CLIENT_ID=your_spotify_client_id
    SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
    LASTFM_API_KEY=your_lastfm_api_key
    OPENAI_API_KEY=your_openai_api_key
    DATABASE_URL=jdbc:postgresql://localhost:5432/vibesbaseddb
  3. Start your PostgreSQL database
    Ensure your PostgreSQL server is running and you have created a database named vibesbaseddb.
  4. Build and run the backend
    cd backend
    ./mvnw clean install
    ./mvnw spring-boot:run
  5. Install dependencies and start the frontend
    Open a new terminal window and run:
    cd frontend
    npm install
    npm start
  6. Access the app
    Open your browser and go to http://localhost:3000

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

James Andrews - jcandrews2@icloud.com

(back to top)

About

AI-Powered Text-to-Music Recommendation Web App

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages