To get started developing copy configuration/example-configuration.json
to
configuration/development-configuration.json
and edit as required.
> docker-compose up
This will start the API and db containers. It will automatically run npm install
in api folders so you don't need to.
Saving API code triggers auto reload.
- Find the api container ID :
dps | grep api | awk '{print $1}'
- Exec into the container:
docker exec -it ${CONTAINER ID} bash
- Run the Jest Testing environment:
npm run test:watch
When you save a test file the tests will re-run automatically. Saving a changed code file (ie not a test file) does not re-run the tests.
- api: the api source code
- src:
- routes: route handlers - return responses, throw http exceptions here
- controllers: handlers that do things - interact with the db here
- models: the database models
- services: services used code like loggers and config loaders
- src:
- configuration: application configuration
- scripts: script helpers to run the code
- production: production configuration - compose file and nginx code
- build-production-containers.sh: script to build the containers, tag and push to docker hub