Skip to content

Latest commit

 

History

History
97 lines (65 loc) · 1.16 KB

README.md

File metadata and controls

97 lines (65 loc) · 1.16 KB

Description

Simple application to manage Todos.

Auth

- Register
- Login
- Guard for routes

TODO

- Create
- Edit ( TODO )
- Mark complete/undo ( TODO )
- Delete ( TODO )
- List

Stack

- NestJS (single repo to manage micro-services)
- gRPC with ProtoBuf
- Kakfa
- MongoDB

Architecture

- Client <=> Rest <=> Gateway <=> gRPC <=> Auth
- Client <=> Rest <=> Gateway <=> gRPC <=> Todo

Installation

$ npm install

Running the Server ( MongoDB + Kafka )

$ docker-compose --profile server up

Running the App ( Gateway + Auth + Todo )

$ docker-compose --profile app up

Generate ProtoBuf typescript interfaces

$ npm run proto:build

Artillery ( installed locally )

Smoke/Stress test

$ artillery run ./artillery/<file>.yml

Generate reports

$ artillery run ./tests/performance/<file>.yml --output test.json
$ artillery report --output report.html test.json

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

License

Nest is MIT licensed.