This is a clone of Soundcloud. Access the Sound Town MVP.
Sound Town is the place to go to share music and listen to music uploaded by others.
| MVP Feature List | User Stories and Acceptance Criteria | Database Schema | Redux State Shape | API Documentation | Frontend Routes |
-
Clone this repo.
git clone git@github.com:adamtang5/soundtown_heroku.git
-
Install dependencies.
pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
-
Create a
.env
file based on.env.example*
with proper settings required for the development environment. -
Create a POSTGRESQL user with CREATEDB and PASSWORD in PSQL.
CREATE USER <db_username> WITH CREATEDB PASSWORD <'db_password'>;
CREATE DATABASE <db_name> WITH OWNER <db_username>;
-
Follow these instructions to create your aws user and bucket, and obtain your credentials (stop after the Create your AWS User and Bucket section). You will need these credentials in subsequent steps to set up your environment.
-
Enter your username and password information into your .env file along with your desired database name, a secured combination of characters for your SECRET_KEY, and enter the credentials for AWS S3 from the previous step.
-
Get into pipenv, migrate the database, seed the database, and run the flask app using the following commands:
pipenv shell
flask db migrate
flask db upgrade
flask seed all
flask run
-
Install frontend dependencies in the
react-app
directory.npm install
-
Start the frontend React app.
npm start
-
You can use the Demo user or create an account to begin using Sound Town.
Logged in users can perform the following actions.
- Add/View/Edit/Delete Songs
- Add/View/Edit/Delete Comments