Início Profile Projeto
Avatar de

Thomaz Coelho Machado

Webapp Financeira

  • Spring
  • VueJS
  • Bootstrap
  • MongoDB

Webapp Finanças

Tópicos

🔹 Sobre o projeto

🔹 Acesso

🔹 Funcionalidades

🔹 Executando o projeto

🔹 Tecnologias Utilizadas

🔹 Autor

🪧 Vitrine.Dev
Nome Webapp Financeira
🏷️ Tecnologias Spring, VueJS, Bootstrap, MongoDB
🚀 URL https://financeira.thomazcm.com/

Sobre o projeto

Aplicativo Web para controle de finanças pessoais dos usuários cadastrados. Desenvolvido para fornecer uma interface para as funcionalidades da API REST que fornece o back-end para o funcionamento do aplicativo.

O repositório da API pode ser acessado em: https://github.com/thomazcm/rest-api-financeira

O projeto foi desenvolvido em Java usando o framework Spring com Thymeleaf para o servidor e gerenciamento das views, e Vue.js para a interface do usuário e comunicação client-side com a API.

(voltar para o início)

Acesso

https://financeira.thomazcm.com/

Disponibiliza opções para:

  • Cadastro de um novo usuário para que tenha seu próprio registro de despesas e receitas
  • Criação rápida de uma conta para demonstração temporária, já com diversos registros salvos

Caso queira rodar o aplicativo localmente

Para hospedar o aplicativo localmente, é preciso que a API back-end também esteja sendo executada, as instruções podem ser encontradas aqui.

Estando a API online, prossiga para os próximos passos para executar o aplicativo web.

(voltar para o início)

Funcionalidades

✔️ Cadastro de Usuários e Autenticação Stateless + Stateful

O aplicativo web utiliza autenticação por JWT para administrar o acesso dos usuários aos dados. Os dados estão armazenados em um banco de dados MongoDB que é acessado por uma API REST em um servidor distinto e atua fazendo a comunicação entre o aplicativo web e o banco de dados. Quando um usuário inicia uma sessão, a aplicação web solicita um Token JSON Web Token (JWT) à API, que é armazenado no sessionStorage do navegador. O token é usado para autenticar pedidos subsequentes à API através do esquema de autenticação Bearer Token.

Se o JWT expirar, o client-side envia um pedido ao servidor da aplicação web para obter um novo token da API. Esta abordagem combina os benefícios de segurança e gestão da autenticação Stateful com os benefícios de escalabilidade e desempenho do uso de uma API separada para armazenamento de dados.

✔️ Cadastro, edição e exclusão de novas despesas e receitas

gif CRUD

✔️ Exibição das receitas e despesas do usuário por mês, bem como um resumo gráfico com base nas categorias das despesas

✔️ Geração de usuário demo temporário com despesas e receitas variadas já cadastradas para demonstração

gif demo

✔️ Layout responsivo para Desktop e Mobile

gif layout

(voltar para o início)

Executando o projeto

Caso queira hospedar uma versão localmente, siga os passos abaixo:

Pré-requisitos

Rodando o servidor do aplicativo web

  1. Clone este repositório
git clone https://github.com/thomazcm/webapp-financeira
  1. Na página do MongoDB Atlas, clique em "Browse Collections" e crie uma nova Database com o nome que deseja usar.

  2. Volte até a pagina inicial, clique em "Connect" e em seguida "Connect your Application". Salve a URI para se conectar ao seu banco de dados.

  3. Popule o arquivo env.properties na pasta raiz do repositório com as configurações do seu banco de dados:

DB_URI=
DB_DATABASE=

#DB_URI=Cole aqui a sua URI do MongoDB
#DB_DATABASE=Nome da database que foi criada
  1. 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:8081 - acesse a página de login pelo navegador em <http://localhost:8081/login>

(voltar para o início)

Tecnologias Utilizadas

As seguintes ferramentas foram usadas na construção do projeto

Tecnologias

Persistência e Deploy

Ferramentas

(voltar para o início)

Licença

Este projeto esta sob a licença MIT. Consulte o arquivo LICENSE.md para mais informações.

(voltar para o início)

Autor

Thomaz Machado🚀

Projeto desenvolvido por Thomaz Machado. Entre em contato!

Linkedin Badge Gmail Badge

(voltar para o início)