https://github.com/levysantiago/daily-diet-api
Manage your diet with the Daily Diet API.
https://github.com/levysantiago/daily-diet-api
fastify knex restful-api sqlite typescript
Last synced: about 2 months ago
JSON representation
Manage your diet with the Daily Diet API.
- Host: GitHub
- URL: https://github.com/levysantiago/daily-diet-api
- Owner: levysantiago
- Created: 2023-08-17T23:59:29.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-02T20:15:53.000Z (almost 3 years ago)
- Last Synced: 2025-03-02T10:24:04.846Z (over 1 year ago)
- Topics: fastify, knex, restful-api, sqlite, typescript
- Language: TypeScript
- Homepage:
- Size: 107 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Daily Diet
[](https://github.com/levysantiago/daily-diet-api/actions/workflows/node.js.yml)
Esta aplicação é um dos desafios da trilha Ignite da plataforma da Rocketseat. Aqui utilizo o Knex como ORM, SQLite como banco de dados e o Fastify como framework backend.
Este é o [link do Figma](https://www.figma.com/community/file/1218573349379609244/Daily-Diet-%E2%80%A2-Desafio-React-Native) do desing de como seria a aplicação frontend.
## Getting started
### Instalando Dependências
```bash
npm i
```
ou
```bash
yarn
```
### Rodando migrations
```bash
npx knex migrate:latest
```
### Iniciando aplicação
```bash
npm run dev
```
ou
```bash
yarn dev
```
### Rodando testes
```bash
yarn test
```
ou
```bash
npm run test
```
### Regras da aplicação
- [x] Deve ser possível criar um usuário
- [x] Deve ser possível identificar o usuário entre as requisições
- [x] Deve ser possível registrar uma refeição feita, com as seguintes informações:
*As refeições devem ser relacionadas a um usuário.*
- Nome
- Descrição
- Data e Hora
- Está dentro ou não da dieta
- [x] Deve ser possível editar uma refeição, podendo alterar todos os dados acima
- [x] Deve ser possível apagar uma refeição
- [x] Deve ser possível listar todas as refeições de um usuário
- [x] Deve ser possível visualizar uma única refeição
- [x] Deve ser possível recuperar as métricas de um usuário
- [x] Quantidade total de refeições registradas
- [x] Quantidade total de refeições dentro da dieta
- [x] Quantidade total de refeições fora da dieta
- [x] Melhor sequência de refeições dentro da dieta
- [x] O usuário só pode visualizar, editar e apagar as refeições o qual ele criou