Skip to content

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.

License

Notifications You must be signed in to change notification settings

CleilsonAndrade/in.orbit-api

Repository files navigation

in.orbit-api

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.

Flow

📒 Índice

📃 Descrição

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

📌 Requisitos Funcionais

  • 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

Features

  • Utilização de Common Table Expression (CTE)

💻 Tecnologias

  • TypeScript
  • Fastify
  • Zod
  • drizzle-orm
  • MySQL
  • biomejs

📍 Endpoints

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

🚀 Instalação

  # 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

📝 Licença

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Feito com 💜 by CleilsonAndrade

About

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.

Topics

Resources

License

Stars

Watchers

Forks