Fortunator é uma aplicação web de controle financeiro que permite o usuário ter uma maior visualização de seus gastos e movimentações financeiras do dia-a-dia.
- Cadastro de usuários ✔️
- Sistema de login ✔️
- Criação de transações (Entrada e saída de dinheiro)] ✔️
- Extrato de transações ✔️
- Criação de lembretes de contas na agenda pessoal
- Distribuição de gastos por categoria
- Criação de metas financeiras e gameficação de níveis
Tecnologias usadas na construção da aplicação
- React
- Java
- Postgres
- Docker
- Docker Compose
- Heroku
- Github actions
Para iniciar a aplicação local, apenas rode da raíz do repositório o comando
make
Isso irá subir 3 containers: um container para banco de dados postgres, um container para o backend (String Boot API) e outro para o front (React)
Request
curl -XPOST "http://localhost:8080/goals" --header "Content-Type: application/json" --data '{
"description": "Comprar um carro",
"amount": "30000",
"date": "2020-11-07T18:39:11.003Z",
"type": "BUDGET",
"user": {
"id": 1
}
}'
Response
{
"amount": 30000,
"date": "2020-11-07",
"description": "Comprar um carro",
"id": 2,
"status": "IN_PROGRESS",
"score": 3000,
"type": "BUDGET"
}
Request
curl -XPUT "http://localhost:8080/goals/2" --header "Content-Type: application/json" --data '{
"status": "DONE",
"user": {
"id": 1
}
}'
Response
{
"amount": 30000.0,
"date": "2020-11-07",
"description": "Comprar um carro",
"id": 2,
"status": "DONE",
"score": 3000.0,
"type": "BUDGET"
}
Para aplicar as análises do sonar, é preciso primeiramente iniciar o server do sonarqube.
Baixe a imagem docker do sonarqube
docker pull sonarqube
Inicie o servidor
docker run -d -p 9000:9000 sonarqube
Após o server ter sido inicializado, é possível acessá-lo em http://localhost:9000
. Nele, será necessário adicionar os projetos fortunator-backend
e fortunator-frontend
.
Como o backend e o frontend do fortunator são aplicações distintas, é necessário rodar o sonar separadamente em cada pasta.
Nesse ponto, é necessário apenas substituir o token pelo token disponibilizado na criação do projeto no sonarqube. Como o backend é feito com o maven, a própria ferramenta já disponibiliza um comando para rodar o sonar scanner.
cd backend && mvn sonar:sonar \
-Dsonar.projectKey=fortunator-backend \
-Dsonar.host.url=http://localhost:9000 \
-Dsonar.login=inserir_token_do_backend_aqui
Nesse ponto, também é necessário substituir o token pelo token disponibilizado na criação do projeto no sonarqube. Além disso, para realizar a análise do projeto em react, é preciso usar a imagem do sonar-scanner-cli
.
docker run \
--rm \
--net=host \
-e SONAR_HOST_URL="http://localhost:9000" \
-v "frontend:/usr/src" \
sonarsource/sonar-scanner-cli \
-Dsonar.login=inserir_token_do_frontend_aqui
Campos | Tipo | Obrigatório |
---|---|---|
name | String | True |
String | True | |
password | String | True |
Campos | Tipo | Obrigatório | Descrição |
---|---|---|---|
id | Int | True | |
user_id | Int | True | FK |
transaction_category_id | Int | False | FK |
type | String | True | |
description | String | False | |
amount | Float | True | |
date | Date | False |
Campos | Tipo | Obrigatório | Descrição |
---|---|---|---|
id | Int | True | |
user_id | Int | True | FK |
name | String | True | |
description | String | True |
Campos | Tipo | Obrigatório | Descrição |
---|---|---|---|
amount | Double | False | |
date | Date | True | |
description | String | True | |
id | Int | True | PK |
status | String | True | |
score | Double | True | |
user_id | Int | True | FK |
type | String | True |
João Zerwes |
Kaique Juvencio |
Kalvin Vasconcellos |
---|---|---|
Roger Rojas |
Wendel Sergio |