- Registration (email, password)
- Login (email, password)
- updateProfile(email, password, username)
- Me (email, username)
- Authorization should work by Bearer token header.
- Tokens must have TTL.
- Use Redis to store tokens.
- After registration, the user should receive an email.
- The email should be sent by the separate process.
- The process must receive an events about registrations through RabbitMQ.
- NodeJS (Apollo server)
- MySQL
- Redis (for save )
- RabbitMQ
- Docker
- run
docker-compose up -d
- open apollo server at http://localhost:3000
.env's included, it is bad practice to include it though