O SmartFinance AI é uma aplicação web criada com Python e Django para controle financeiro pessoal e familiar. O sistema permite cadastrar receitas e despesas, organizar movimentações por categoria, importar extratos bancários e faturas, gerar relatórios e consultar um assistente de IA local para análise financeira.
Nesta fase, a IA funciona de forma local e baseada em regras, analisando apenas os dados cadastrados no próprio sistema. Nenhum dado financeiro é enviado para serviços externos.
- Login e logout de usuários.
- Usuário
admin/superuser atua como dono/root do sistema. - Usuários com perfil administrativo conseguem cadastrar e gerenciar outros usuários.
- Usuários comuns acessam apenas o controle financeiro.
- Total de receitas.
- Total de despesas.
- Saldo atual.
- Visão por período.
- Resumo de receitas e despesas por categoria.
- Cadastro manual de receitas e despesas.
- Edição de movimentações.
- Exclusão de movimentações.
- Associação com categorias.
- Suporte a valores no padrão brasileiro, como
1.000,50.
- CRUD de categorias por usuário.
- Categorias de sistema disponíveis para todos.
- Admin/root pode gerenciar categorias de sistema.
- Usuário comum pode gerenciar suas próprias categorias.
- Importação de arquivos CSV.
- Importação de PDFs com texto selecionável.
- Suporte a PDFs protegidos por senha, desde que o usuário informe a senha.
- Leitura melhorada para layouts de Nubank e Banco do Brasil/Ourocard.
- Pré-visualização antes de gravar no banco.
- Detecção básica de duplicidades.
- Registro de lote de importação.
- Exclusão de lote importado inteiro.
- Filtro por período.
- Filtro por tipo: receitas, despesas ou todos.
- Filtro por categoria.
- Filtro por data inicial e final.
- Resumo por categoria.
- Exportação CSV do relatório filtrado.
- Análise local dos dados financeiros.
- Resumo financeiro automático.
- Identificação de maior despesa.
- Categoria com maior gasto.
- Alertas sobre despesas altas.
- Sugestões de economia.
- Chat IA com histórico.
- Balão flutuante do chat disponível em todas as telas autenticadas.
- Python
- Django
- SQLite em ambiente local
- Bootstrap 5
- JavaScript simples para UI dinâmica
- pdfplumber para leitura de PDFs
- Git e GitHub para versionamento
SmartFinance/
├── config/
│ ├── settings.py
│ └── urls.py
├── core/
│ ├── admin.py
│ ├── ai_views.py
│ ├── models.py
│ ├── report_views.py
│ ├── urls.py
│ ├── views.py
│ ├── templatetags/
│ │ └── formatadores.py
│ └── templates/
│ └── core/
│ ├── assistente_ia.html
│ ├── chat_ia.html
│ ├── confirmar_importacao.html
│ ├── editar_categoria.html
│ ├── excluir_categoria.html
│ ├── importar_movimentacoes.html
│ ├── listar_categorias.html
│ ├── listar_importacoes.html
│ └── relatorios.html
├── templates/
│ └── base.html
├── manage.py
├── requirements.txt
└── .gitignore
cd <CAMINHO_DO_PROJETO>Substitua
<CAMINHO_DO_PROJETO>pelo diretório onde o projeto foi clonado ou criado no seu ambiente.
.\.venv\Scripts\Activate.ps1pip install -r requirements.txtpython manage.py makemigrations
python manage.py migratepython manage.py checkpython manage.py runserverAcesse:
http://127.0.0.1:8000/
O projeto foi configurado para evitar o versionamento de arquivos sensíveis, como:
- PDFs de faturas.
- Extratos bancários.
- Arquivos CSV financeiros.
- Banco local SQLite.
- Arquivos de importação.
- Ambiente virtual.
O .gitignore deve manter essas proteções antes de qualquer git push.
Esta fase está concluída com:
- Controle financeiro funcional.
- Importação CSV/PDF funcional.
- Lotes de importação.
- Relatórios.
- CRUD de categorias e usuários.
- Chat IA local com balão flutuante.
- Menu lateral organizado com submenus expansíveis.
- Melhorar visual geral do sistema.
- Criar metas financeiras.
- Criar orçamento mensal por categoria.
- Melhorar importadores específicos por banco.
- Criar classificação automática de categorias.
- Criar integração futura com IA generativa, se desejado.
- Preparar deploy em ambiente Linux.
- Adicionar testes automatizados.