Skip to content

senior-project-spring-2023-music-discovery-application created by GitHub Classroom

Notifications You must be signed in to change notification settings

comp195/SongSurf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SongSurf

Description

SongSurf allows you to discover new music that you'll love through an informative, attractive, and intuitive website. Input your favorite artists, albums, or songs and receive recommendations based on what you love. SongSurf also allows you to track your favorite discoveries for future use.

Project Features

  • Algorithm-based music discovery generation for tracks, artists, and albums.
  • Configurable search for track, artist, or album.
  • Ability for users to like/dislike
  • Generated list of liked tracks/artists/albums
  • Intuitive and easy to use interface
  • and more!
  1. Install Python 3
  2. Clone repository, then enter
unix/win> git clone https://github.com/comp195/SongSurf.git
unix/win> cd SongSurf
  1. Create a virtual environment
windows> python -m venv my_venv
or
unix> python3 -m venv my_venv
  1. Activate virtual environment
windows> my_venv\Scripts\activate
or
unix> source my_venv/bin/activate
  1. Install the required libraries
windows> pip install -r requirements.txt
or
unix> pip3 install -r requirements.txt
  1. Run the flask server
windows> python src/backend/app.py
or
unix> python3 src/backend/app.py
  1. Open the website link in the console
http://127.0.0.1:8000

Application - Demonstration

Welcome User

home_page logged_in

Signup/Login

signup_page logged_page

User Input

search_page

Recommendations

recommendation_page

Application - Initial Prototype

Search and Discover

prototype_1 prototype_2

Information/Bio and Favorites

prototype_3 prototype_4

Developers

  1. Shahbaj Sohal: s_sohal2@u.pacific.edu
  2. William Balbuena: w_balbuena@u.pacific.edu
  3. Patrick Nisperos: p_nisperos@u.pacific.edu

Tech Stack

  • Flask - 🛠️ The Python micro framework for building web applications.
  • last.fm - 🛠️ API allows building own program using Last.fm data.
  • Python - 🛠️ A general-purpose programming language useful for backend.
  • JavaScript - 🛠️ A scripting language that enables you to create dynamically updating content, and anything web related.
  • SQL - 🛠️ A programming language used to manage data stored in relational databases, which store structured data in tables.

Design Patterns

Our code utilizes some software design patterns to ensure quality and scalability.

  • Facade - 📦 All data displayed to the user in the front end retrieve data from simplified function calls from the backend. Which include: Our database, the API calls for albums, artists, tracks, and the recommendation algorithm

About

senior-project-spring-2023-music-discovery-application created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published