Sistema de Organização Financeira Pessoal e Familiar
Uma API robusta para gestão financeira que substitui planilhas Excel tradicionais, oferecendo controle manual inteligente com interface moderna e acessível.
O FinOps é uma aplicação completa para organização financeira pessoal e familiar que digitaliza e moderniza o controle financeiro tradicional. O sistema funciona com entrada manual de dados e indicações percentuais, seguindo uma metodologia estruturada de gestão de recursos.
- Dificuldade de usar planilhas Excel em dispositivos móveis
- Necessidade de colaboração financeira entre casais e grupos
- Falta de visualizações claras e automáticas dos dados
- Demanda por interface intuitiva sem complexidade excessiva
- Independência de conexões bancárias ou APIs externas
- ✅ Controle Total: Entrada manual de dados, sem conexões bancárias
- ✅ Múltiplos Modelos: Suporte para diferentes tipos de organização financeira
- ✅ Colaborativo: Gestão compartilhada para casais e famílias
- ✅ Metodologia Estruturada: Fluxo lógico baseado em percentuais
- ✅ Multi-plataforma: Web e Mobile com sincronização
- Casais que juntam todas as rendas
- Divisão 50/50 após todas as alocações
- Gestão unificada de recursos
- Divisão justa de gastos compartilhados
- Cálculo automático de acertos mensais
- Histórico de quem deve o quê
- Para repúblicas e pessoas solteiras
- Cada pessoa responsável por suas contas
- Divisão apenas de gastos compartilhados
- Autonomia financeira com despesas essenciais compartilhadas
- Contribuição fixa para fundo comum
- Privacidade total no restante
- Receitas: Registro manual de todas as entradas mensais
- Gastos Fixos: Dedução de despesas obrigatórias
- Custos Variáveis: Alocação percentual automática
- Poupança: Indicação percentual para reservas
- Investimentos: Sugestões percentuais (sem acompanhamento automático)
- Gastos Livres: Cálculo e divisão do saldo restante
- Autenticação JWT com refresh tokens
- Gestão de Usuários e Grupos (casais, famílias, repúblicas)
- CRUD de Transações (receitas e despesas)
- Sistema de Categorias hierárquico e personalizável
- Cálculos Automáticos baseados em metodologia percentual
- Relatórios e Análises financeiras
- Sistema de Metas e acompanhamento de objetivos
- Backup e Sincronização de dados
- Suporte Multi-tenant para diferentes organizações
- Runtime: Node.js 18+ com TypeScript
- Framework: Express.js
- ORM: Prisma
- Banco: PostgreSQL 14+
- Cache: Redis 6+
- Auth: JWT + bcrypt
- Validação: Zod
- Testes: Jest + Supertest
- Docs: Swagger/OpenAPI
- Containerização: Docker + Docker Compose
- Proxy: Nginx
- SSL: Let's Encrypt
- CI/CD: GitHub Actions
- Cloud: AWS/GCP/DigitalOcean
src/
├── controllers/ # Controladores da API
├── services/ # Lógica de negócio
├── repositories/ # Acesso a dados
├── models/ # Modelos do Prisma
├── middleware/ # Middlewares personalizados
├── utils/ # Utilitários e helpers
├── config/ # Configurações
├── types/ # Tipos TypeScript
└── __tests__/ # Testes automatizados
- Usuario: Pessoa física que utiliza o sistema
- Grupo: Agrupamento de usuários (casal, família, república)
- Conta: Contas bancárias, carteiras, investimentos
- Categoria: Classificação hierárquica de transações
- Transacao: Movimentações financeiras (entrada/saída)
- Orcamento: Planejamento por categoria/período
- Meta: Objetivos de poupança ou investimento
- Usuario ↔ Grupo (N:M) - Múltiplos grupos por usuário
- Usuario → Conta (1:N) - Múltiplas contas por usuário
- Conta → Transacao (1:N) - Histórico de movimentações
- Categoria → Transacao (1:N) - Classificação de gastos
- Usuario → Orcamento (1:N) - Planejamentos individuais/grupos
- Node.js 18+
- PostgreSQL 14+
- Redis 6+
- Docker (opcional)
- Clone o repositório
git clone https://github.com/Alttabcorp/finops-api.git
cd finops-api- Instale as dependências
npm install- Configure as variáveis de ambiente
cp .env.example .env
# Edite o arquivo .env com suas configurações- Execute as migrações
npx prisma migrate dev
npx prisma generate- Inicie o servidor
# Desenvolvimento
npm run dev
# Produção
npm run build
npm start# Desenvolvimento
docker-compose up -d
# Produção
docker-compose -f docker-compose.prod.yml up -d# Autenticação
POST /api/auth/login
POST /api/auth/register
POST /api/auth/refresh
POST /api/auth/logout
# Usuários
GET /api/users/profile
PUT /api/users/profile
GET /api/users/groups
# Grupos
POST /api/groups
GET /api/groups/:id
PUT /api/groups/:id
POST /api/groups/:id/members
# Transações
GET /api/transactions
POST /api/transactions
PUT /api/transactions/:id
DELETE /api/transactions/:id
# Categorias
GET /api/categories
POST /api/categories
PUT /api/categories/:id
# Relatórios
GET /api/reports/monthly
GET /api/reports/categories
GET /api/reports/goals
Acesse http://localhost:3000/api-docs para documentação interativa.
# Executar todos os testes
npm test
# Testes em modo watch
npm run test:watch
# Cobertura de testes
npm run test:coverage
# Testes e2e
npm run test:e2e# Database
DATABASE_URL="postgresql://user:password@localhost:5432/finops"
# Redis
REDIS_URL="redis://localhost:6379"
# JWT
JWT_SECRET="your-super-secret-key"
JWT_EXPIRES_IN="7d"
# Server
PORT=3000
NODE_ENV="production"O projeto inclui pipeline automatizado para:
- ✅ Linting e formatação
- ✅ Testes unitários e integração
- ✅ Build e validação
- ✅ Deploy automatizado
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
- ESLint + Prettier para formatação
- Conventional Commits para mensagens
- Testes obrigatórios para novas features
- Documentação atualizada
- Autenticação e autorização
- CRUD básico de transações
- Sistema de categorias
- Cálculos básicos de organização
- Sistema de grupos
- Modelos de organização financeira
- Divisão Splitwise
- Relatórios básicos
- Metas e objetivos
- Notificações inteligentes
- Dashboard avançado
- Exportação de dados
- IA para sugestões financeiras
- Integração com bancos (opcional)
- Análises preditivas
- Multi-moeda
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
- Desenvolvimento: Alttabcorp
- Documentação: Baseada em análise de requisitos completa
- Arquitetura: Modelo escalável e modular
- Issues: GitHub Issues
- Documentação: Wiki do Projeto
- Email: contato@alttabcorp.com