In this project, user registration with email confirmation, login, forget password and password change have been implemented.
- backend : nestjs framework + typescript
- documentation : swagger
- database : mongodb
- logging : EFK stack = ElasticSearch + Fluentd + Kibana
- DevOps : docker + docker-compose
- install the Node.js : Node.js
- Download or clone this repo :
git clone https://github.com/pedramaghasian/jabama-challenge
- go to the package directory :
cd ./user-management
- install npm dependencies :
npm install
- run this command for prepare resources:
npm run compose
- execute the app :
npm run start:dev
- open swagger :
http://localhost:3000/api/v1/docs
- open kibana UI :
http://localhost:5601/app/management/kibana/indexPatterns
- create this indexPattern :
user-management
- see you log :
http://localhost:5601/app/discover
- use RabbitMQ for queuing the emails
- add e2e test
- complete unit test