Skip to content

Sound Town is a clone of SoundCloud. It is the place to go to share music and listen to music uploaded by others.

Notifications You must be signed in to change notification settings

adamtang5/soundtown_render

Repository files navigation

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 | User Stories and Acceptance Criteria | Database Schema | Redux State Shape | API Documentation | Frontend Routes |

Technologies Used

javascriptreactreduxnode.jspythonflaskpostgresqlsqlalchemycss3html5gitamazon web servicesvisual studio code

Getting started

  1. Clone this repo.

    • git clone git@github.com:adamtang5/soundtown_heroku.git
  2. Install dependencies.

    • pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
  3. Create a .env file based on .env.example* with proper settings required for the development environment.

  4. 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>;
  5. 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.

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

  7. 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
  8. Install frontend dependencies in the react-app directory.

    • npm install
  9. Start the frontend React app.

    • 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