Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cleilsonandrade/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.
https://github.com/cleilsonandrade/in.orbit-api
api-rest backend biomejs commitizen commitlint common-table-expression conventional-commits dayjs drizzle-orm fastify goal-tracking lint-staged mysql mysql2 sql swagger tsup typescript zod
Last synced: 4 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/cleilsonandrade/in.orbit-api
- Owner: CleilsonAndrade
- License: mit
- Created: 2024-09-11T23:32:49.000Z (22 days ago)
- Default Branch: main
- Last Pushed: 2024-09-19T00:35:16.000Z (15 days ago)
- Last Synced: 2024-09-24T23:22:56.802Z (9 days ago)
- Topics: api-rest, backend, biomejs, commitizen, commitlint, common-table-expression, conventional-commits, dayjs, drizzle-orm, fastify, goal-tracking, lint-staged, mysql, mysql2, sql, swagger, tsup, typescript, zod
- Language: TypeScript
- Homepage:
- Size: 93.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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.
# 📒 Índice
* [Descrição](#descrição)
* [Requisitos Funcionais](#requisitos)
* [Features](#features)
* [Tecnologias](#tecnologias)
* [Endpoints](#endpoints)
* [Instalação](#instalação)
* [Licença](#licença)# 📃 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**](https://www.typescriptlang.org/), com a biblioteca [**Fastify**](https://www.fastify.io/) para web server, [**Drizzle ORM**](https://orm.drizzle.team/) para manipulação de dados do banco e o banco de dados SQL [**MySQL**](https://www.mysql.com/), [**Zod**](https://github.com/colinhacks/zod) para as validações e [**biomejs**](https://biomejs.dev/) para formatter e linter para a sintaxe.
.# 📌 Requisitos Funcionais
- [x] Cadastrar metas para a semana com quantidade de dias para realizar
- [x] Listagem das metas da ultima semana com quantidade de dias que foram completados na semana
- [x] Marcar meta como completa, validando se não foi completada antes e contando os dias de concluído
- [x] Resumo das metas da ultima semana com valor total das mesmas e detalhes de cada uma agrupadas por dia## Features
- [x] 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
```bash
# 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](LICENSE) para mais detalhes.---
Feito com 💜 by CleilsonAndrade