- Clone/Baixe este repositório na sua máquina;
- Se tiver o
docker-composeinstalado, abra o terminal na raiz da pasta do projeto e rode o comandodocker-compose up --buildpara subir o servidor do projeto; - Se não tiver o
docker-composeinstalado, abra o terminal na raiz da pasta do projeto e rode os comandosyarn installounpm installpara instalar as dependências do projeto, depoisyarn buildounpm run buildpara buildar o projeto e depois o comandoyarn start:devounpm run start:devpara subir o container do projeto; - Pronto, seu servidor backend está no ar e pronto pra ser acessado no endereço
http://localhost:3000ou 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 testounpm run testtesta a aplicação;
| Backend |
|---|
| NodeJS |
| Express |
| TypeScript |
| DateFNS |
| NestJS |
| Eslint |
| Prettier |
| Docker |





