Skip to content

Latest commit

 

History

44 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SmartFinance AI

Visão geral

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.


Principais funcionalidades

Autenticação e perfis de acesso

  • 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.

Dashboard financeiro

  • Total de receitas.
  • Total de despesas.
  • Saldo atual.
  • Visão por período.
  • Resumo de receitas e despesas por categoria.

Movimentações

  • 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.

Categorias

  • 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 extratos e faturas

  • 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.

Relatórios

  • 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.

Assistente IA Financeiro

  • 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.

Stack utilizada

  • Python
  • Django
  • SQLite em ambiente local
  • Bootstrap 5
  • JavaScript simples para UI dinâmica
  • pdfplumber para leitura de PDFs
  • Git e GitHub para versionamento

Estrutura principal do projeto

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

Como executar localmente

1. Entrar na pasta do projeto

cd <CAMINHO_DO_PROJETO>

Substitua <CAMINHO_DO_PROJETO> pelo diretório onde o projeto foi clonado ou criado no seu ambiente.

2. Ativar o ambiente virtual

.\.venv\Scripts\Activate.ps1

3. Instalar dependências

pip install -r requirements.txt

4. Aplicar migrations

python manage.py makemigrations
python manage.py migrate

5. Validar o projeto

python manage.py check

6. Subir o servidor

python manage.py runserver

Acesse:

http://127.0.0.1:8000/

Segurança e privacidade

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.


Status da fase atual

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.

Próximas evoluções sugeridas

  • 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.

About

Seguindo aula

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages