Skip to content

Repository files navigation

Finanza AI

Controle financeiro pessoal com IA, dashboard web e app Android.

Version Backend Frontend Mobile Database


Sobre

Finanza AI é uma aplicação full-stack para organizar finanças pessoais, acompanhar gastos, controlar cartões, metas e orçamentos, além de usar IA para ajudar na análise financeira.

O projeto possui:

  • API em NestJS.
  • Web app em React + Vite.
  • App Android em Expo/React Native.
  • Banco PostgreSQL com Prisma.
  • Recursos de IA para chat, insights, categorização e leitura de comprovantes.

Funcionalidades

  • Dashboard financeiro com resumo mensal.
  • Cadastro de receitas, despesas e transferências.
  • Contas bancárias e cartões de crédito.
  • Controle de faturas e compras parceladas.
  • Categorias, orçamentos, metas e recorrências.
  • Importação de extratos e comprovantes.
  • Chat financeiro com IA.
  • Insights e previsões financeiras.
  • App mobile Android.
  • Planos Free e Premium.

Stack

Camada Tecnologias
Backend NestJS 11, Prisma 5, PostgreSQL, JWT
Frontend React 19, Vite 6, TypeScript, Tailwind CSS 3
Mobile Expo SDK 54, React Native 0.81, NativeWind
IA OpenRouter (Gemini 2.0 Flash)
Infra Nginx, PM2, Docker

Pré-requisitos

  • Node.js 22
  • PostgreSQL — local ou Docker (cd backend && docker-compose up -d)
  • OpenRouter API Key para funcionalidades de IA (obter em openrouter.ai)

Configuração

1. Clone e instale dependências

git clone https://github.com/SelmoCastro/financa_new.git && cd financa_new
cd backend && npm install && cd ..
cd frontend && npm install && cd ..
cd mobile && npm install && cd ..

2. Configure as variáveis de ambiente

Copie o arquivo de exemplo e ajuste os valores:

cp backend/.env.example backend/.env

Edite backend/.env com suas credenciais:

Variável Obrigatória Descrição
DATABASE_URL Sim Conexão com PostgreSQL
JWT_SECRET Sim Chave para assinar tokens JWT
OPENROUTER_API_KEY Não (IA opcional) Chave da API OpenRouter
FRONTEND_URL Sim URL do frontend (local: http://localhost:5173; produção: https://finanzaai.tech)
MERCADOPAGO_ACCESS_TOKEN Para pagamentos Access Token configurado somente no ambiente de execução
MERCADOPAGO_WEBHOOK_SECRET Para pagamentos Segredo para validar webhooks do Mercado Pago

3. Prepare o banco de dados

cd backend
npx prisma generate
npx prisma db push   # ou: npx prisma migrate dev

4. Inicie em desenvolvimento

cd backend && npm run start:dev   # API em http://localhost:3000
cd frontend && npm run dev        # Web em http://localhost:5173
cd mobile && npx expo start       # App mobile

Estrutura

Financa_new/
├── backend/    # API NestJS + Prisma
├── frontend/   # Web app React + Vite
├── mobile/     # App Android Expo
└── README.md

Rodando localmente

Backend

cd backend
npm install
npx prisma generate
npx prisma db push
npm run start:dev

Frontend

cd frontend
npm install
npm run dev

Mobile

cd mobile
npm install
npx expo start

Segurança

O projeto usa autenticação JWT, refresh token, validação de DTOs, proteção CSRF, headers de segurança, controle de acesso por usuário e cuidados para evitar vazamento de dados sensíveis em logs.

Arquivos de ambiente, builds, APKs, chaves privadas e artefatos temporários não devem ser enviados ao repositório.


Scripts úteis

Local Script Descrição
raiz npm run release:patch Atualiza versão patch
backend npm run build Build da API
backend npm run start:dev API em desenvolvimento
frontend npm run build Build do frontend
frontend npm run dev Frontend em desenvolvimento
mobile npx expo start App mobile em desenvolvimento
mobile npx expo-doctor Valida configuração Expo

Qualidade

Antes de publicar alterações importantes:

cd backend && npm run build
cd ../frontend && npm run build
cd ../mobile && npx expo-doctor

Feito com ❤️ por Selmo Castro

About

Controle financeiro pessoal com IA para web e Android.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages