Receitas preparadas com os ingredientes presentes
Esta em desenvolvimento!
Porque usar -
Como usar -
Quando usar -
Aonde usar -
Testes -
Diagramas
- Focado em auxiliar no controle mais amigável do estoque de comida, e a possibilidade de integração com outras ferramentas!
- Execute os containers / Instale:
- Redis
doas docker run -p 6379:6379 --name=redis redis
- MySQL
doas docker run -p 3306:3306 --name=mysql mysql
- OBS: Caso altere a porta, mude também em
Foodminder/src/main/resources/application.properties
- Redis
- Clone o repositório
git clone https://github.com/renatonunes74/foodminder
- Entre na pasta
cd foodminder/FoodMinder
- Rode localmente
- CLI / via Terminal:
mvn spring-boot:run
- Via IDE (JetBrains, Eclipse...)
- CLI / via Terminal:
- Agora é só fazer as requisições para a API
- Usuario
- Cadastrar
http://localhost:8080/auth/registrar
-
{ "login": "nome", "password": "senha", "role": "USER" }
- Aonde
"role":
- pode ter
"USER"
ou"ADMIN"
- pode ter
- Aonde
-
- Logar
http://localhost:8080/auth/login
-
{ "login": "nome", "password": "senha", }
-
- Cadastrar
- OBS: Usar o
Authorization: Bearer {token}
nas requisições abaixo: - Listar (GET)
- Planejamentos
- Todos
http://localhost:8080/planejamento
- Por ID
http://localhost:8080/planejamento/{id}
- exemplo:
http://localhost:8080/planejamento/1
- exemplo:
- Todos
- Refeições
- Todas
http://localhost:8080/refeicao
- Por ID
http://localhost:8080/refeicao/{id}
- exemplo:
http://localhost:8080/refeicao/1
- exemplo:
- Todas
- Tipos de refeições
- Todos
http://localhost:8080/tipoRefeicao
- Por ID
http://localhost:8080/tipoRefeicao/{id}
- exemplo:
http://localhost:8080/tipoRefeicao/1
- exemplo:
- Todos
- Planejamentos
- Adicionar (POST)
- Novo planejamento
http://localhost:8080/planejamento
-
{ "data": "2023-08-12", "tipoRefeicao": { "id": 1 }, "refeicao": { "id": 1 } }
-
- Nova refeição
http://localhost:8080/refeicao
-
{ "nome": "Lasanha" "receita": "receita.md" }
-
- Novo tipo de refeição
http://localhost:8080/tipoRefeicao
-
{ "tipo": "Café da Tarde" }
-
- Novo planejamento
- Atualizar (PUT)
- Planejamento por ID
- Refeição por ID
- Tipo de refeição por ID
- Usuario por ID
- Deletar (DELETE)
- Planejamento por ID
http://localhost:8080/planejamento/{id}
- exemplo
http://localhost:8080/planejamento/1
- exemplo
- Refeição por ID
http://localhost:8080/refeicao/{id}
- exemplo
http://localhost:8080/refeicao/1
- exemplo
- Tipo de refeição por ID
http://localhost:8080/tipoRefeicao/{id}
- exemplo
http://localhost:8080/tipoRefeicao/1
- exemplo
- Usuario por ID
- Planejamento por ID
- Linguagem: Java
- Frameworks:
- Testes:
- Bibliotecas:
- Banco de dados: MySQL
- Banco de dados em memória: Redis
- Mensageria: RabbitMQ
- Complementares:
- Mermerd (Criação automática de diagrama de relacionamento)
- Spring Initializer CLI (Para a criação do Spring Boot)
- VHS (Criação de GIF do terminal via código)
- httpie (Maior facilidade para requisições HTTP (alternativa ao
curl
))
- Simples, quando tiver feito uma compra no mercado, liste os itens comprados, além de gerar uma ideia dos custos, também fará uma maior gestão daquilo que consome!
- A aplicação esta em desenvolvimento e por enquanto será possível por meio de requisições HTTP...
erDiagram
tipo_refeicao {
int id PK
varchar tipo
}
planejamento {
int id PK
date data
int tipo_refeicao_id FK
int refeicao_id FK
}
refeicao {
int id PK
varchar nome
text receita
}
planejamento }o--|| tipo_refeicao : "tipo_refeicao_id"
planejamento }o--|| refeicao : "refeicao_id"
- MealCLI
- Gerenciador de refeições CLI usando SHELL
Estou aberto a contribuições, feedback e opiniões da comunidade! Se você tiver alguma ideia para melhorar o projeto, correções de bugs ou sugestões de novos recursos, ficarei feliz em receber sua contribuição! Basta enviar um Pull Request no repositório do projeto.