Soundpost is an app for music students to book lessons with their teachers, track their practice statistics, and access their practice assignments all in one place. Logged in students can quickly and easily choose lesson times from their teacher's availability, and upcoming lessons display directly in their dashboard. To ensure that they are practicing consistently, students can keep a record of which days they practice and look at interactive stats to see how they measure up. Students can also ensure that their practice is effective by viewing current and previous assignments from their teachers.
Soundpost uses the following tools, frameworks, and key packages:
Flask-SQLAlchemy (with PostgreSQL)
Hosted on Heroku
-
Clone this repository
git clone https://github.com/cellomatt/soundpost
-
Install dependencies
pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
-
Create a .env file based on the example with proper settings for your development environment
-
Setup your PostgreSQL user, password and database and make sure it matches your .env file
-
Get into your pipenv, migrate your database, seed your database, and run your flask app
pipenv shell
flask db upgrade
flask seed all
flask run
-
To run the React App in development, checkout the README inside the
react-app
directory.
IMPORTANT! psycopg2-binary MUST remain a dev dependency because you can't install it on apline-linux. There is a layer in the Dockerfile that will install psycopg2 (not binary).