Giter Site home page Giter Site logo

natelalor / song-queries Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 29 KB

A python and SQL program created as a group project that uses a song/artist dataset to give users ability to query for specific songs, artists, and more specific information.

Python 100.00%
database parsing python query sql

song-queries's Introduction

Song Query Program

CS 205 "Warm-Up" Project

Group Members:

- Zach Hayes
- Matt Thomas
- Andrew Richter
- Nate Lalor

Outline

The Song Query Program is a way for users to find more about songs and artists that were in the top charts of 2022. We provide over a dozen commands for the users to ask and get timely responses relating to song duration, song peak popularity, artist hits, and more. We used Python with SQLite to provide a seamless frontend/backend. More information below.

Here is a list of commands available:

General Assistance:
HELP -- brings up general help page
LOAD DATA -- loads all the required data

Artist Queries:
"artist_name" ARTIST SONGLIST -- returns specific artist's list of songs 
"artist_name" ARTIST HITS -- returns specific artist's # of top songs 
"artist_name" ARTIST WEEKS -- returns specific artist's # weeks as a top artist 
"character(s)" ARTIST SEARCH -- returns all artists with the given character(s) 
"artist_name" ARTIST INFO -- returns complete artist's info 
- Example Input: "Adele" ARTIST HITS -- would return number of Adele's hits, so 3. 

Song Queries:
"song_name" SONG AUTHOR -- returns specific song's author
"song_name" SONG DURATION -- returns specific song's duration (in MS, milliseconds)
"song_name" SONG RANK -- returns specific song's rank on top song list
"song_name" SONG WEEK -- returns specific song's weeks on top song list
"character(s)" SONG SEARCH -- returns all songs with the given character(s)
"song_name" SONG INFO -- returns complete song's info
- Example Input: "Butter" SONG DURATION -- would return the duration of the song "Butter", so 164442.

Meta Data Queries:
TOTAL ARTISTS -- returns the total number of artists in the database
TOTAL SONGS -- returns the total number of songs in the database
AVG DURATION -- reruns the average length of all of the songs (in MS, milliseconds)

This is all facilitated by our parse.py file that thoroughly reads the user input and sends the needed information to the backend. Once returned from the backend, it makes the data more presentable and portrays it to the user.

Backend Information

The initial dataset we used can be found here, via Kaggle.

We used this dataset as our foundation for our data. We then split it into two categories, with one category focusing on the songs and song-oriented information, while the other category focused on artists and artist-oriented information. In essence, there were our two databases. After acquiring the CSV files that targetted the information we wanted, we used pandas, a Python data analysis library, to implement the information into our database. From there we developed db_handler.py to handle the backend requests, and then implemented parse.py to be the frontend connection.

Project Timeline: January 23rd, 2023 - February 15th, 2023

song-queries's People

Contributors

natelalor avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.