Este projeto está utilizando as seguintes tecnologias:
Este projeto busca facilitar o contato entre consultores/recrutadores e candidatos. Nele, os consultores cadastram os horários disponíveis para reuniões e os candidatos marcam reuniões nesses horários. Nele, foram utilizados padrões de arquitetura de software e foram desenvolvidos testes unitários e E2E. Para garantir a qualidade, o ambiente CI foi configurado com GitHub Actions.
- É possível fazer o cadastro como usuário.
- É possível fazer o cadastro como consultor.
- É possível fazer login como usuário.
- É possível fazer login como consultor.
- É possível listar todos os horários de um consultor.
- É possível listar todas as reuniões de um usuário.
- É possível listar todas as reuniões de um consultor.
- É possível listar todas as reuniões de um determinado usuário e consultor.
- Consultores podem cadastrar horários.
- Consultores podem deletar horários.
- Usuários podem marcar reuniões.
- Usuários podem deletar reuniões.
- O título da reunião é uma junção do nome do consultor com o nome do usuário.
A seguir estão as principais rotas da aplicação:
- POST
/users
: Cria um novo usuário. - POST
/users/auth
: Autentica um usuário.
- POST
/consultants
: Cria um novo consultor. - POST
/consultants/auth
: Autentica um consultor.
- POST
/availabilities
: Cria uma nova disponibilidade de consultor. - GET
/availabilities/:id
: Lista as disponibilidades de um consultor específico. - DELETE
/availabilities/:id
: Deleta uma disponibilidade de consultor.
- POST
/meetings
: Cria uma nova reunião. - DELETE
/meetings/:id
: Deleta uma reunião. - GET
/meetings/user/:id
: Lista todas as reuniões de um usuário. - GET
/meetings/consultant/:id
: Lista todas as reuniões de um consultor. - GET
/meetings/:userId/:consultantId
: Lista todas as reuniões entre um usuário e um consultor.
git clone https://github.com/Savio-Anjos/API-Consultly.git
cd API-Consultly
npm i
yarn
docker compose up
docker start
npx prisma migrate dev
npm run start:dev
Criado com 💙 por Sávio Anjos