in.orbit-api é uma API Rest com o fim de realizar o gerenciamento de metas semanais, permitindo o cadastramento da meta, quantidade de dias que será realizada durante a semana, listagem, exibindo as metas da ultima semana baseando-se no dia atual com a contagem de dias que a meta foi realizada e permitindo a atualização de uma meta como concluída.
in.orbit-api é uma API Rest com o fim de realizar o gerenciamento de metas semanais, permitindo o cadastramento da meta, quantidade de dias que será realizada durante a semana, listagem, exibindo as metas da ultima semana baseando-se no dia atual com a contagem de dias que a meta foi realizada e permitindo a atualização de uma meta como concluída. Aplicação desenvolvida utilizando a API tecnologia TypeScript, com a biblioteca Fastify para web server, Drizzle ORM para manipulação de dados do banco e o banco de dados SQL MySQL, Zod para as validações e biomejs para formatter e linter para a sintaxe. .
- Cadastrar metas para a semana com quantidade de dias para realizar
- Listagem das metas da ultima semana com quantidade de dias que foram completados na semana
- Marcar meta como completa, validando se não foi completada antes e contando os dias de concluído
- Resumo das metas da ultima semana com valor total das mesmas e detalhes de cada uma agrupadas por dia
- Utilização de Common Table Expression (CTE)
- TypeScript
- Fastify
- Zod
- drizzle-orm
- MySQL
- biomejs
Método | Endpoint | Resumo |
---|---|---|
POST | /goals | Responsável por cadastrar uma nova meta para a semana informado titulo e quantidade dias a serem realizada(s) |
GET | /pending-goals | Responsável por listar as metas da ultima semana com a contagem dos dias de frequência completados e não completados |
POST | /completions | Responsável por validar e marcar como concluída uma meta da semana, informando o ID via corpo de requisição, identificando se todos os dias foram completados |
GET | /summary | Responsável por listar um resumo das metas da ultima semana com valor total das mesmas e detalhes de cada uma agrupadas por dia |
GET | /docs | Responsável por servir a documentação dos recursos da API |
# Clone este repositório:
$ git clone https://github.com/CleilsonAndrade/in.orbit-api.git
$ cd ./in.orbit-api
# Instalar as dependências:
$ yarn install
# Aplicar migrações ao banco de dados:
$ yarn drizzle-kit migrate
# Aplicar seed:
$ yarn seed
# Executar:
$ yarn dev
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com 💜 by CleilsonAndrade