https://github.com/mgckaled/ignite-nodejs-desafio-dailydiet-api-rest
Repositório do segundo desafio da trilha Ignite Node.js 2022 proposto pela Rocketseat Education
https://github.com/mgckaled/ignite-nodejs-desafio-dailydiet-api-rest
fastify knex nodejs typescript
Last synced: about 2 months ago
JSON representation
Repositório do segundo desafio da trilha Ignite Node.js 2022 proposto pela Rocketseat Education
- Host: GitHub
- URL: https://github.com/mgckaled/ignite-nodejs-desafio-dailydiet-api-rest
- Owner: mgckaled
- License: mit
- Created: 2023-08-31T09:14:24.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-08-31T21:58:13.000Z (almost 3 years ago)
- Last Synced: 2025-07-07T06:05:48.700Z (12 months ago)
- Topics: fastify, knex, nodejs, typescript
- Language: TypeScript
- Homepage:
- Size: 124 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ignite Node.js - Desafio `Daily Diet - API REST`
[**Desafio**](#desafio) **•**
[**Tecnologias**](#tecnologias) **•**
[**Licença**](#licença)
## Desafio
Nesse desafio desenvolveremos uma API para controle de dieta diária, a Daily Diet API.
### Regras da aplicação
- Deve ser possível criar um usuário
- Deve ser possível identificar o usuário entre as requisições
- Deve ser possível registrar uma refeição feita, com as seguintes informações:
- Nome
- Descrição
- Data e Hora
- Está dentro ou não da dieta
- *As refeições devem ser relacionadas a um usuário.*
- Deve ser possível editar uma refeição, podendo alterar todos os dados acima
- Deve ser possível apagar uma refeição
- Deve ser possível listar todas as refeições de um usuário
- Deve ser possível visualizar uma única refeição
- Deve ser possível recuperar as métricas de um usuário
- Quantidade total de refeições registradas
- Quantidade total de refeições dentro da dieta
- Quantidade total de refeições fora da dieta
- Melhor sequência de refeições dentro da dieta
- O usuário só pode visualizar, editar e apagar as refeições o qual ele criou
### Comandos utilizados no projeto
```bash
# iniciar projeto
$ npm init -y
# criar tsconfig.json
npx tsc --init
# rodar migrations
npx knex -- migrate:make
```
### Código Comentado
Acesse análises e comentários sobre o código [AQUI](./.github/docs/index.md).
## Tecnologias
- [`Node.js`](https://nodejs.org/n/)
- [`Fastify`](https://fastify.dev/)
- [`Typescript`](https://www.typescriptlang.org/)
- [`knex`](https://knexjs.org/)
- [`node-postgres`](https://www.npmjs.com/package/pg)
- [`dotenv`](https://www.npmjs.com/package/dotenv)
- [`zod`](https://www.npmjs.com/package/zod)
- [`vitest`](https://vitest.dev/)
- [`tsx`](https://www.npmjs.com/package/tsx)
- [`tsup`](https://www.npmjs.com/package/tsup)
- [`supertest`](https://www.npmjs.com/package/supertest)
- [`sqlite3`](https://www.npmjs.com/package/sqlite3)
## Licença
Distribuído sob a licença ***MIT***. Veja [LICENSE](LICENSE) para mais informações. 
---
2023 - Marcel Kaled