- Clone/Baixe este repositório na sua máquina;
- Se tiver o
docker-compose
instalado, abra o terminal na raiz da pasta do projeto e rode o comandodocker-compose up --build
para subir o servidor do projeto; - Se não tiver o
docker-compose
instalado, abra o terminal na raiz da pasta do projeto e rode os comandosyarn install
ounpm install
para instalar as dependências do projeto, depoisyarn build
ounpm run build
para buildar o projeto e depois o comandoyarn start:dev
ounpm run start:dev
para subir o container do projeto; - Pronto, seu servidor backend está no ar e pronto pra ser acessado no endereço
http://localhost:3000
ou na porta configurada.
- Verbo: GET
- Rota para visualizar todas as regras cadastradas;
- Parâmetros: nenhum;
- Retorno: um array de regras ou um array vazio;
- Verbo: GET
- Rota para visualizar os horários disponíveis de acordo com as datas informadas nos query params;
- Parâmetros: query param { since=12-01-2010, until=20-02-2010(opcional) }
- Retorno: um array de horários disponíveis organizados por data ou um array vazio;
- Verbo: POST
- Rota para cadastrar uma nova regra diária;
- Parâmetros: body { "intervals": [{ "start": "12:00", "end": "13:00" }] }
- Retorno: um objeto com os dados da nova regra diária cadastrada;
- Verbo: POST
- Rota para cadastrar uma nova regra por data;
- Parâmetros: body { "date": "03-06-2021", "intervals": [{ "start": "15:00", "end": "16:00" }] }
- Retorno: um objeto com os dados da nova regra por data cadastrada;
- Verbo: POST
- Rota para cadastrar uma nova regra semanal;
- Parâmetros: body { "days": ["MON", "FRI"], "intervals": [{ "start": "16:00", "end": "17:00" }] }
- OBS: parâmetros aceitos no array "days": ["MON", "TUE", "WED", "THU", "FRI"];
- Retorno: um objeto com os dados da nova regra semanal cadastrada;
- Verbo: DELETE
- Rota para remover uma regra por ID;
- Parâmetros: route param { /72a74117-bf14-4741-b4ad-e7d2b555e044 }
- Retorno: { "statusCode": 200, "message": "Rule Deleted Sucessfully!" }
- O comando
yarn test
ounpm run test
testa a aplicação;
Backend |
---|
NodeJS |
Express |
TypeScript |
DateFNS |
NestJS |
Eslint |
Prettier |
Docker |