SmartCash
💳 SmartCash – Simulador Inteligente de Transações Bancárias
(Baseado no projeto conceitual “BankFlow”)
🧭 Visão Geral
O SmartCash é uma aplicação full stack que simula operações bancárias modernas, com autenticação segura, dashboard interativo e integração com IA para análise financeira. Este projeto foi desenvolvido para demonstrar, de forma didática e profissional, a construção de um sistema financeiro robusto, utilizando tecnologias atuais e boas práticas de desenvolvimento.
🚀 Funcionalidades Principais
- Login e Registro Seguros: Autenticação de usuários com JWT e bcrypt para proteção de senhas.
- Dashboard Financeiro: Exibição do saldo atual e histórico detalhado de transações (receitas e despesas).
- Gerenciamento de Transações: Adição de novas transações com categorias, valores e descrições.
- Assistente Financeiro (IA): Análise básica do comportamento financeiro do usuário e dicas personalizadas, além de um chatbot interativo.
- API RESTful: Backend robusto para gerenciar usuários, autenticação e transações.
🏗️ Arquitetura e Tecnologias
O projeto é dividido em três partes principais: Frontend, Backend e Serviço de IA.
🗂️ Estrutura de Pastas
SmartCash/
│
├── frontend/ # Interface React (usuário final)
│ ├── src/
│ │ ├── components/ # Componentes reutilizáveis
│ │ ├── pages/ # Páginas principais (Login, Dashboard, etc.)
│ │ ├── services/ # Comunicação com API (Axios)
│ │ ├── App.jsx
│ │ └── index.jsx
│ ├── package.json
│ └── tailwind.config.js
│
├── backend/ # API Node.js com Express
│ ├── src/
│ │ ├── config/ # Configurações e middlewares
│ │ ├── controllers/ # Lógica de negócio
│ │ ├── models/ # Modelos do MongoDB (Mongoose)
│ │ ├── routes/ # Rotas da API
│ │ └── server.js
│ ├── .env.example
│ ├── package.json
│ └── README.md
│
└── ai-service/ # Serviço de IA em Python (Flask)
├── app.py
├── requirements.txt
└── .env.example
🖥️ Frontend
- Tecnologias: React, Tailwind CSS, Axios, React Router DOM
- Descrição: Interface moderna e responsiva, construída com Tailwind CSS para estilização ágil e Axios para integração com a API. O React Router DOM é utilizado para navegação entre as páginas de login, dashboard e cadastro.
⚙️ Backend
- Tecnologias: Node.js (Express), MongoDB (Mongoose), JWT, bcryptjs, CORS
- Descrição: API RESTful responsável pela autenticação, controle de usuários e operações financeiras. O MongoDB oferece flexibilidade e escalabilidade, enquanto o JWT garante a segurança das requisições autenticadas.
🧠 Serviço de IA
- Tecnologias: Python (Flask), python-dotenv
- Descrição: Microserviço independente que analisa o comportamento financeiro e oferece dicas automatizadas via chatbot. Comunica-se com o frontend via HTTP.
🔐 Segurança
- Autenticação JWT: Cada requisição autenticada utiliza tokens de acesso únicos.
- Criptografia de Senhas: Senhas armazenadas com bcrypt para máxima segurança.
- CORS Controlado: Apenas domínios autorizados podem interagir com a API, prevenindo ataques Cross-Origin.
🤖 Inteligência Artificial Integrada
A IA do SmartCash analisa padrões de gastos e simula um consultor financeiro digital. O chatbot responde perguntas simples, como:
“Quanto gastei este mês?” “Qual categoria mais consome meu orçamento?”
⚙️ Como Rodar o Projeto Localmente
🧩 Pré-requisitos
- Node.js (v14+)
- npm
- Python (v3.8+)
- pip
- MongoDB Atlas (ou instância local)
🔧 Passo a Passo
- Repositório:
Repositório: https://github.com/MarcioGil/SmartCash.git
cd SmartCash
- Backend:
cd backend
npm install
- Crie um arquivo
.env
com:
MONGO_URI=mongodb+srv://<username>:<password>@cluster0.mongodb.net/<dbname>?retryWrites=true&w=majority
JWT_SECRET=sua_chave_secreta
PORT=5000
- Inicie o servidor:
npm start
- Serviço de IA:
cd ../ai-service
pip install -r requirements.txt
python app.py
- Frontend:
cd ../frontend
npm install
npm start
- O app estará disponível em http://localhost:3000.
🌐 Deploy
- Frontend: Vercel
- Backend: Render ou Railway
- Banco de Dados: MongoDB Atlas
🧑💻 Autor
Márcio Alexandre de Paiva Gil Desenvolvedor Full Stack • Estudante de Engenharia de Software Embaixador DIO Campus Expert 📍 Brasil 🔗 LinkedIn 🌐 Portfólio
📄 Licença
Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para mais detalhes.
"Construir tecnologia é como cuidar das finanças: exige lógica, segurança e propósito." — Márcio Gil