REST-API Financeira
REST API Financeira
🪧 Vitrine.Dev | |
---|---|
✨ Nome | REST-API Financeira |
🏷️ Tecnologias | Spring, MongoDB, JWT |
🚀 URL | https://webapp-financeira.herokuapp.com/ |
🔥 Desafio | https://www.alura.com.br/challenges/back-end-4 |
Tópicos
🔹 Acesso
🔹 Pré-Requisitos e como Rodar o Servidor
🔹 Autor
Descrição do projeto
API REST desenvolvida para fornecer a configuração de back-end para o aplicativo de controle de finanças de pessoais Finanças Webapp.
API desenvolvida em Java com o framework Spring, utiliza um sistema de autenticação stateless e banco de dados MongoDB.
Acesso
As funcionalidades da API podem ser acessadas através do aplicativo web que utiliza os endpoints para seu funcionamento.
Caso queira rodar o servidor localmente siga os passos listados aqui.
Funcionalidades
✔️ Cadastro de novos usuários e autenticação para obtenção do token de acesso
✔️ Autenticação Stateless em cada request através do JSON Web Token para acesso dos dados do usuário
✔️ Cadastro de novas despesas e receitas pelos usuários
✔️ Consulta, edição e exclusão de despesas e receitas já cadastradas pelo usuário autenticado
✔️ Consulta de um resumo das despesas, receitas e saldo de cada mês do usuário
✔️ Geração de usuário demo temporário com despesas e receitas variadas já cadastradas para demonstração
API REST
Os endpoints da API REST estão descritos abaixo.
Cadastrar novo usuário
POST
/usuarios
Criar novo usuário temporário para demonstração
POST
/usuarios/demo
Cadastrar novo usuário
POST
/usuarios
Criar novo usuário temporário para demonstração
POST
/usuarios/demo
Excluir usuário temporário
DELETE
/usuarios/{email}
Listar todas as receitas cadastradas do usuario
GET
/receitas
Listar todas as receitas do usuário com uma descrição específica
GET
/receitas?descricao={descricao}
Listar todas as receitas do usuário de um mês específico
GET
/receitas/{ano}/{mes}
Buscar informações detalhadas de uma receita por seu id
GET
/receitas/{id}
Cadastrar nova receita
POST
/receitas
Editar receita pelo id
PUT
/receitas/{id}
Excluir receita pelo id
DELETE
/receitas/{id}
Listar todas as despesas cadastradas do usuario
GET
/despesas
Listar todas as despesas do usuário com uma descrição específica
GET
/despesas?descricao={descricao}
Listar todas as despesas do usuário de um mês específico
GET
/despesas/{ano}/{mes}
Buscar informações detalhadas de uma despesa por seu id
GET
/despesas/{id}
Cadastrar nova despesa
POST
/despesas
Editar despesa pelo id
PUT
/despesas/{id}
Excluir despesa pelo id
DELETE
/despesas/{id}
Exibir um resumo das despesas e receitas do mês
GET
/resumo/{ano}/{mes}
Pré-Requisitos
Para rodar o servidor localmente você precisa ter instalado as seguintes ferramentas: JDK, Git e Maven.
Além disso, para criar seu próprio banco de dados, é preciso ter uma conta grauita no MongoDB Cloud.
Como rodar a aplicação
- Clone este repositório
git clone https://github.com/thomazcm/rest-api-financeira
Na página do MongoDB Atlas, clique em "Browse Collections" e crie uma nova Database com o nome que deseja usar.
Volte até a pagina inicial, clique em "Connect" e em seguida "Connect your Application". Copie a URI para se conectar ao seu banco de dados.
Por fim, crie uma nova JWT key para que sejam gerados os tokens de autenticação do seu servidor.
Popule o arquivo env.properties na pasta raiz do repositório com as configurações do seu banco de dados:
DB_URI=
DB_DATABASE=
JWT_SECRET=
#Instruções
#DB_URI=Cole aqui a sua URI do MongoDB
#DB_DATABASE=Nome da database que foi criada
#JWT_SECRET=Cole aqui sua JWT key
- Por fim, navegue na linha de comando até a raiz do projeto e execute o comando:
mvnw spring-boot:run
## O servidor inciará na porta:8080 - acesse as endpoints por <http://localhost:8080>
Tecnologias
As seguintes ferramentas foram usadas na construção do projeto:
Tecnologias
- Spring Boot 2.7.2 - Framework
- Maven - Gerenciamento de Dependências
- Mockito 4.5.1 - Testes de Unidade
- Spring Security e JJWT - Segurança
Persistência e Deploy
Ferramentas
Licença
Este projeto esta sob a licença MIT. Consulte o arquivo LICENSE.md para mais informações.
Autor
Thomaz Machado🚀
Projeto desenvolvido por Thomaz Machado. Entre em contato!