git clone https://github.com/lucaskbr/video-server-challenge
cd video-server-challenge
# create a mongodb
# edit .env variables
# tip: use the postman collection in attachment to make calls
npm i
ts-node src/index.ts
METHOD | URI | DESCRIPTION |
---|---|---|
GET | /rooms/:id | find a room by id |
PATCH | /rooms | join or leave a room |
POST | /rooms | create a room |
- | - | - |
GET | /users | find all users |
GET | /users/:username | find a user by username |
POST | /users | create a user |
- | - | - |
POST | /auth/login | sigin a user |
The hexagonal architecture, or ports and adapters architecture, is an architectural pattern used in software design.
It aims at creating loosely coupled application components that can be easily connected to their software environment by means of ports and adapters.
This makes components exchangeable at any level and facilitates test automation.
- Reflectoring: (https://reflectoring.io/spring-hexagonal/)
- GeeksForGeeks: (https://www.geeksforgeeks.org/hexagonal-architecture-in-java/)
- RefactoringGuru: (https://refactoring.guru/pt-br)
- SourceMaking: (https://sourcemaking.com/design_patterns)
- TDD - Tests coverage at least 80%
- Docker - Create docker-compose file
- Conventional commits - Split commits in minor parts - (I didn't do it because I was improving my knowledge in hexagonal arch)
MIT
Free Software, Hell Yeah!