Skip to content

Esse projeto busca tentar fascilitar o contato entre consultores/recrutadores e candidados. Nele os consultores cadastram os horários disponíveis para reuniões e os candidatos marcam reunões nesses horários.

Notifications You must be signed in to change notification settings

Savio-Anjos/API-Consultly

Repository files navigation

🚀 Tecnologias

Este projeto está utilizando as seguintes tecnologias:

📜 Descrição

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.

⚙️ Como funciona?

RFs (Requisitos funcionais)

  • É 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.

RNs (Regras de negócio)

  • O título da reunião é uma junção do nome do consultor com o nome do usuário.

Rotas da aplicação

A seguir estão as principais rotas da aplicação:

Usuários

  • POST /users: Cria um novo usuário.
  • POST /users/auth: Autentica um usuário.

Consultores

  • POST /consultants: Cria um novo consultor.
  • POST /consultants/auth: Autentica um consultor.

Disponibilidades

  • 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.

Reuniões

  • 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.

🎲 Quer customizar o projeto?

Clone esse repositório

git clone https://github.com/Savio-Anjos/API-Consultly.git

Navegue até o diretório do projeto

cd API-Consultly

Instale as dependências

npm i
yarn

Execute o docker compose

docker compose up

Execute o docker

docker start

Rode as migrations

npx prisma migrate dev

Inicie a aplicação

npm run start:dev

Criado com 💙 por Sávio Anjos

About

Esse projeto busca tentar fascilitar o contato entre consultores/recrutadores e candidados. Nele os consultores cadastram os horários disponíveis para reuniões e os candidatos marcam reunões nesses horários.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published