Skip to content

Create your daily menu and organize your food routine with Daily Menu

License

Notifications You must be signed in to change notification settings

evandroafonso/daily-menu-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Daily Menu - 🚧 Em construção 🚧

English Version

Licença

MIT License

O que é?

  • Daily Menu é/será uma aplicação web para cadastro de produtos e organização da sua rotina alimentar. Os principais objetivos do sistema são:

- Antes da autenticação no sistema permitir que o usuário:

- Cadastre usuários no sistema
- Autenticar/autorizar seu usuário através de JWT (fazer login)

- Após autenticação no sistema permitir que o usuário:

- Cadastre produtos
- Crie uma lista de compras de supermercado
- Crie um cardápio para sua rotina alimentar

Principais ferramentas utilizadas:

  • Backend: Java 11 com Spring Boot
  • Banco de dados: MySQL 8.0.31
  • Gerenciamento de projeto: Maven
  • Versionamento de banco de dados: Flyway (aprenda mais sobre aqui)
  • Documentação de API: Swagger (aprenda mais sobre aqui)

Passo a passo para colaborar com o Daily Menu

Existem duas formas para você iniciar sua colaboração:

1 - AQUI você encontrará todas as issues que precisam de atenção.

2 - Encontrou um bug, um erro na aplicação ou quer criar uma nova funcionalidade? CRIE uma issue AQUI.

REGRA BÁSICA: Nunca inicie o desenvolvimento de qualquer coisa sem ter uma tarefa vinculada e mantenha o foco no escopo da tarefa!

Encontrei a issue perfeita para trabalhar, mas como começar?

Siga os passos abaixo para configurar seu ambiente: (Caso já tenha configurado, pule para o próximo tópico)

  1. clone o projeto Daily Menu em sua máquina. (aprenda aqui)
  2. para baixar as dependencias e compilar localmente o projeto, rode o comando abaixo na pasta raiz do projeto:
mvn clean compile
  1. para rodar o projeto você precisará ter alguns programas instalados em sua máquina, são eles:
    • Java 11
    • Spring Tools Suite - STS (ou qualquer outra que você prefira)
    • MySQL versão 8.0.31 - para desenvolvimento local eu utilizo o editor DBeaver, mas fique a vontade para usar o que preferir. Aqui é importante criar um usuário para o banco de dados local e guardar essas credenciais para que você possa utiliza-las no próximo passo.
    • Postman após o download, você pode importar a collection do Daily Menu utilizando esse link
  2. será necessário configurar as variáveis de ambiente do seu projeto local para que seja possível a conexão com o banco de dados, login com JWT e demais configurações. Essas variáveis estão declaradas no arquivo application.properties do projeto. Caso tenha dúvidas como criar variáveis de ambiente para o projeto, você pode aprender mais com esse vídeo a partir de 08:45
  3. para criar as tabelas em seu banco de dados local e atualiza-las conforme o "ambiente de produção" será necessário rodar o comando do WildFly. Esse comando criará todas as tabelas e atualizações do banco de dados que existe até o momento. Entre na pasta raiz do projeto, abra o terminal e rode o comando abaixo:
mvn flyway:migrate

fluxo de desenvolvimento

Seu ambiente de desenvolvimento já está configurado e já definiu em qual tarefa você irá trabalhar? Então siga os passos abaixo:

aqui utilizaremos branchs de desenvolvimento, caso não saiba o que é isso, aprenda mais aqui

ciclo de desenvolvimento: branch local -> pull request -> aprovação pull request -> main
  1. na issue que você irá trabalhar, na sessão development, clique em Create a branch e no modal que abrir, adicione/edite o nome da branch e clique em Create branch
  2. na pasta raiz do projeto, abra um terminal e altere a branch conforme a que você criou, por exemplo:
git checkout branch-que-voce-criou

e execute um git pull para garantir que todas as alterações estarão em sua máquina:

git pull
  1. após o desenvolvimento, crie o commit
git push
  1. crie o pull request e aguarde a revisão!

About

Create your daily menu and organize your food routine with Daily Menu

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages