Um projeto feito para você anotar as suas despesas, lembra aquela fatura do cartão que você sempre esquece ou acha que não pagou? simples salve ela no sistema logo após pagar, atualize ela, quando precisar saber se já pagou basta olhar as suas despesas pendente
-
Porquê decidiu fazer esse projeto?
- Para aplicar o que eu estudava, aprender novas coisas e aplicar elas também em um projeto prático
-
Quais foram os desafios de implementá-lo?
- Seguir um padrão de testes, configurar o spring security e otimizar o hibernate / spring data jpa
-
O que eu aprendi com ele?
- Padrões de teste, como configurar e executar os testes com perfil especifíco, otimizar o hibernate, métricas com micrometer e prometheus, spring security e tratar os erros lançado e cache com spring data
- Arquitetura
- Features
- Requsitos para rodar o projeto
- Instruções para executar o projeto
- Contribua com o projeto
- Changelog
Camadas da aplicação
Domain, é a camada onde se encontra as regras de negócio, validações e as interfaces gateways (abstração dos métodos do banco dedados, são usadas para remover o acomplamento com o banco de dados)
Application, é a camada que contem todos os casos de uso (criar um usuário, pegar um usuário pelo id, atualizar um usuário, deletar um usuário, esse é famoso CRUD) e contem a integração com o gateway do banco de dados
Infrastructure, é a camada responsável por conectar tudo, o usuário com a application e domain layer, contem a conexão com o banco de dados, entidades do banco e as rotas
Principais rotas e features do sistema
- Docker e docker-compose
- Java e JDK 19 (caso não queira rodar atráves de containers)
- Baixe a aplicação e instale as dependências:
# Baixando o projeto e acessando o diretorio
git clone https://github.com/Kaua3045/kfinances.git cd kfinances
# Baixando as dependências
./gradlew --refresh-dependencies
# Gerando o .jar da aplicação
./gradlew build
-
Antes de executar o container, você precisa configurar o arquivo .env.example, depois renomeie ele para .env
-
Suba o container da aplicação e suas dependências:
# Cria a imagem da aplicação e sobe os containers
docker-compose up --build -d
- Para acessar a api, basta usar a url: localhost:8080/api
- Para acessar o grafana com as métricas, basta usar a url: localhost:3333
Para contribuir com o projeto, veja mais informações em CONTRIBUTING
Para ver as últimas alterações do projeto, acesse AQUI