simple message API project
{root}
src
├── controllers # defines methods for interacting with our database
├── db.ts # database connection handler
├── handlers.ts # normalize API request && responses
├── routes.ts # defines the routes of our API service
├── server.ts # main entrypoint for our API server, sets up Express.js server + middleware
...
- nvm use
- npm i
- make migrate
make dcu
make dev
Other dev tasks
E2E API test setup
make test-dcu
# spins up docker-compose test databasemake test-migrate
# run database migrationsmake test
# run tests, make sure server is not also runningmake test-dcd
# spin down docker-compose test database
make format
uses prettier
make lint
uses eslint
Create new migration
npx knex migrate:make <migration_name> -x ts
Running migrations
npx knex migrate:latest --env <env>
where env can be development, staging or productionnpx knex migrate:rollback
rollback latestnpx knex migrate:list
list pending migrations- For a list of all commands available from knex checkout this doc