Now that you've got the code, follow these steps to get acclimated:
- Update project name and description in
package.json
npm install
- Create two postgres databases (
MY_APP_NAME
should match thename
parameter inpackage.json
): - These commands will create both your development and test databases
createdb <YOUR APP NAME HERE FROM package.json>
createdb <YOUR APP NAME HERE FROM package.json>-test
- By default, running
npm test
will use your test database, while regular development uses development database
Sync and seed your database by running npm run seed
. Running npm run start:dev
will make great things happen!
- start:dev will both start your server and build your client side files using webpack
- start:dev:logger is the same as start:dev, but you will see your SQL queries (can be helpful for debugging)
- start:dev:seed will start your server and also seed your database (this is useful when you are making schema changes and you don't want to run your seed script separately)
- Set up the Heroku command line tools
heroku login
- Add a git remote for heroku:
-
If you are creating a new app...
heroku create
orheroku create your-app-name
if you have a name in mind.heroku config:set JWT=<your secret here!>
to set a secret for JWT signing
Database Setup
-
heroku addons:create heroku-postgresql:hobby-dev
to add ("provision") a postgres database to your heroku dyno (This creates your production database) -
heroku config:set SEED=true
to get heroku to sync and seed your database -
note everytime your app restarts, the database tables will be dropped and re-created. To avoid this you can
config:unset SEED
-
If you already have a Heroku app...
heroku git:remote your-app-name
You'll need to be a collaborator on the app.
Now, you should be deployed!