Nodejs project starter using Onion Architecture
Async and non-blocking Nodejs 😎
Fully based on onion architecture and good practices.
This project is using:
- TypeORM for connection to MySQL database
- Inversifyjs as IoC (Inversion of Control)
- Express as API handler
- Docker for deploy as container
- CircleCI for automating pipeline from commit to deploy
You will need a MySQL database at port 3307 or actually you can change this port at:
.env - production (need to be created and set environment NODE_ENV=production)
.env.dev - development
.env.test - testing
You should install dependencies to use this project
npm install
Test can simply run with:
npm test
This test will show you a map coverage with Jest Simply test are localed at test/ For test you need to name your files as: **.test.ts
You can watch file changes using nodemon simply running:
npm run watch
Using docker:
- docker build -t started:1.0.0 .
- docker run --name started -p '3500:3500' -d started:1.0.0
Using Docker-compose:
docker-compose up -d
Using CircleCI: For circle workflows you should complete the last workflow step named as deploy (Everyone have a different deploy strategy)
Regards