Skip to content

Music web app, similar to Google Play Music (CS348 databases project)

License

Notifications You must be signed in to change notification settings

espidev/music-app

Repository files navigation

music-app

This is a web application to manage and play music collections.

It supports the following features:


The production data is at: https://drive.google.com/file/d/1bCoon3Nj-6nh-_RE9vNY4kQnDKoq9Fye/view?usp=sharing

The testing data is at: https://drive.google.com/file/d/11nd32AImDeLA856__QpqkyL5lRC_An66/view?usp=drive_link

In order to load the data into the web application, please use the Upload tab and batch-upload all the song files to be imported into the database.


The website and backend is in the website folder. The file storage server is in the filestore folder.

Developing

Set up the local PostgreSQL server:

$ docker-compose -f db-docker-compose.yml up -d

Initialize the database (only needs to be run once):

$ cd setup
$ npm install
$ npm start
$ cd ..

Start the filestore server:

$ cd filestore
$ npm install
$ npm start

In another terminal session, start the webserver:

$ cd website
$ npm install
$ npm run dev

Testing

Docker is used for consistent deployments:

$ cd filestore
$ docker build . -t cs348-filestore:latest
$ cd ../setup
$ docker build . -t cs348-setup:latest
$ cd ../website
$ docker build . -t cs348-music-app:latest
$ cd ..
$ docker-compose up

Loading and interacting with PostgreSQL in Docker

With the Docker Compose stack up:

$ docker exec -it cs348_db_1 psql postgresql://postgres:password@localhost/musicapp

# Should now be in the Postgres CLI

We can run a few commands to do some basic queries in the Postgres CLI:

CREATE DATABASE test;
USE test;
CREATE TABLE user(name TEXT);
SELECT * FROM user;

About

Music web app, similar to Google Play Music (CS348 databases project)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published