- Clone this repository
- Create a .env file based on the example with proper settings for your development environment
- Follow instructions in the
starter_app/README.md
to setup your development Back-End. - Follow instructions in the
client/README.md
to set up your development Front-End.
- Create a new project on your Heroku Dashboard.
- Under Resources click "Find more add-ons" and add the add on called "Heroku Postgres".
- Install the Heroku CLI if you haven't already.
- Add any Config Vars to your heroku app, either on the Heroku CLI, or on the heroku-app dashboard's Settings tab.
- Run
npm run build
in your React app root folder.- This will build the static files for your React app.
- The
postbuild
script from yourpackage.json
will automatically move them into the/static
directory in your flask files.
- Enter your pipenv:
pipenv shell
- Update your requirements.txt with all of the packages installed in the environemt:
pip freeze > requirements.txt
- Login to heroku:
$ heroku login
- Login to the heroku container registry:
$ heroku container:login
- CD into
starter_app
and push yourDockerfile
to heroku (this will build the Flask Dockerfile, and push):$ heroku container:push web -a {NAME_OF_HEROKU_APP}
- Release your docker container to heroku:
$ heroku container:release web -a {NAME_OF_HEROKU_APP}
- Set up your database:
heroku run -a {NAME_OF_HEROKU_APP} {your_migration_script_here}
- Profit.