This repository contains boilerplate code to cook your own backend app with NodeJS, TypeScript, Postgres SQL and Docker.
You need to have Docker installed.
Then use Docker Compose to run the server.
docker-compose up
This will run the server on the configured port and enable auto-restart on code changes ๐!
Build the docker image with name node-boilerplate
and tag latest
:
docker build . -t node-server:latest
Run a Docker container with the previous built image and expose port 3000:
docker run -d -p 3000:3000 node-server:latest
To enable linting, you need to have NodeJS and NPM installed. Then install all dependencies and use the lint script as follows:
npm install
npm run lint
Create a file .env
and put all env vars there. (Copy the .env.template
file).
Inside the docker-compose.yml
you can specify those env vars too.
If a permission error for the build folder inside the docker container occurs, try to remove the image and container fully and build again.
- Integration tests against temp database
- Use K8s (MiniKube) for Deployment
- Allow debugging with breakpoins
- Authentication with username/password and JWTs
- Env vars from dockerfile
- Eslint with auto formatting
- Postgres SQL database
- Error handling for routes
- ExpressJS with router
- Database Migrations
- Use Docker all the way
- Use TypeScript