- TypeScript v4, Node.js v16, Express v4
- API Schema: OpenAPI v3
- TLS/SSL not supported, it should be implemented by platform router or reverse-proxy
bungubot/nodejs-api-boilerplate
- Containerized build process with Docker
- Multi-stage build with Docker
- Graceful shutdown
- Internationalization support with
Intl
API for Node.js - Optional: Use GraphQL to implement client-server-client messaging
- Optional: Add GRPC protocol
- Quality assurance tools
- Integrate framework for unit-testing
- Integrate framework for e2e testing
- Coverage reports
- Performance reports
- Linters and code-style checkers
- Watcher
- Hot module replacement for client-side code
- Iterative assets building
Production build:
$ npm run build
Development build:
$ npm run dev:build
Start server:
$ npm start
# or
$ ./bin/start.sh
It is possible to start an application cluster on a local development machine. Docker Compose is used for running development environment. Just change ./dev/docker-compose.yaml
according to your application and run it:
$ cd dev
$ docker-compose build
$ docker-compose up