Sound Town

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.

Index

| MVP Feature List | Database Schema | API Documentation | Frontend Routes |

Technologies Used

Getting started

  1. Clone this repo.

    • git clone git@github.com:stevenkleinberg/Python_Group7_Soundcloud.git
  2. Install frontend dependencies in the react-app directory.

    • npm install
  3. 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>;
  4. Back in the root directory, install back-end dependencies in a python virtual environment.

    • pipenv install --python "$PYENV_ROOT/shims/python"
    • pipenv shell
  5. Create a .env file in the backend directory based on the .env.example found within the respective directory.

  6. 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.

  7. 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.

  8. Create Database, Migrate, and Seed models.

    • flask db migrate
    • flask seed all
  9. Start the services in the frontend directory (react-app), which should open the project in your default browser. If not, navigate to http://localhost:3000.

    • npm start
  10. You can use the Demo user or create an account to begin using Sound Town.

Features

Logged in users can perform the following actions.

  • Add/View/Edit/Delete Songs
  • Add/View/Edit/Delete Comments