Centralize sua vida financeira em uma única plataforma!
Explore a documentação »
Ver Demo
·
Reportar Bug
·
Solicitar Feature
Índice
O Zuno é uma aplicação full-stack projetada para centralizar a vida financeira de um investidor em uma única plataforma. O objetivo principal é agregar dados de diversas fontes, como corretoras e outras instituições financeiras, para fornecer uma visão holística e unificada do patrimônio.
Por que Zuno?
- Centralização Total: Não perca mais tempo alternando entre múltiplas plataformas e planilhas complexas
- Visão em Tempo Real: Acompanhe a performance de suas carteiras, análise de alocação de ativos e recebimento de dividendos em tempo real
- Insights Inteligentes: Obtenha análises valiosas para otimizar suas estratégias de investimento
- Gestão Simplificada: Simplifique a gestão de portfólios complexos com uma interface moderna e intuitiva
A plataforma oferece dashboards interativos, rastreamento completo de transações, monitoramento de eventos (dividendos), e integração com dados de mercado em tempo real da B3 e criptomoedas.
O projeto utiliza tecnologias de ponta para garantir performance, escalabilidade e excelente experiência do usuário:
O projeto é composto por três aplicações principais em um monorepo:
-
API (Spring Boot) - Backend principal responsável por:
- Autenticação e autorização de usuários (JWT)
- Gerenciamento de transações e posições
- Persistência de dados (PostgreSQL)
- Cache de dados (Redis)
-
Market API (FastAPI) - Microserviço especializado em dados de mercado:
- Cotações em tempo real de ações da B3
- Histórico de dividendos
- Cotações de criptomoedas
- Integração com Yahoo Finance via yfinance
-
Web (Next.js) - Interface do usuário:
- Dashboard interativo com gráficos
- Visualização de posições e patrimônio
- Gerenciamento de transações
- Análise de eventos (dividendos)
Para obter uma cópia local funcionando, siga estes passos simples.
Certifique-se de ter as seguintes ferramentas instaladas:
- Java 21+
- Node.js 20+
- Python 3.13+
- Maven
- Docker (para PostgreSQL e Redis)
Verifique as versões instaladas:
java --version
node --version
python --version
docker --version-
Clone o repositório
git clone https://github.com/ilanzgx/zuno-app.git cd zuno-app -
Instale as dependências do Frontend (Next.js)
cd apps/web npm install cd ../..
-
Instale as dependências do Backend (Spring Boot)
cd apps/api mvnw dependency:resolve cd ../..
-
Instale as dependências da Market API (FastAPI)
cd apps/market pip install uv uv sync cd ../..
-
Suba os containers do banco de dados (PostgreSQL e Redis)
docker-compose up -d
-
Configure as variáveis de ambiente
cd apps/api cp .env.example .env # Edite o arquivo .env com suas configurações
-
Inicie todas as aplicações
npm run dev
- Rodar todas as aplicações:
npm run dev - Rodar apenas o backend:
npm run start:api - Rodar apenas o frontend:
npm run start:web - Rodar apenas a Market API:
npm run start:market
Dashboard Financeiro
- Visualize seu patrimônio total e rentabilidade
- Gráficos interativos de evolução patrimonial
- Distribuição de ativos por tipo
Gestão de Transações
- Cadastre compras e vendas de ativos
- Preços atualizados automaticamente via integração com Yahoo Finance
- Histórico completo de movimentações
Monitoramento de Posições
- Acompanhe suas posições em tempo real
- Visualize ganhos e perdas por ativo
- Análise de rentabilidade individual
Eventos de Dividendos
- Rastreie todos os dividendos recebidos
- Histórico completo de proventos
- Análise de rendimento passivo
A API fornece os seguintes endpoints:
-
Autenticação:
/v1/authPOST /v1/auth/register- Registro de novo usuárioPOST /v1/auth/login- Login de usuário
-
Usuários:
/v1/usersGET /v1/users/me- Informações do usuário autenticado
-
Posições:
/v1/positionsGET /v1/positions- Lista todas as posições do usuário
-
Transações:
/v1/transactionsGET /v1/transactions- Lista todas as transaçõesPOST /v1/transactions- Cria nova transação
-
Portfólio:
/v1/portfolioGET /v1/portfolio/summary- Resumo do portfólioGET /v1/portfolio/history- Histórico do portfólio
-
Dividendos:
/v1/dividendsGET /v1/dividends- Lista todos os dividendos
-
Mercado:
/v1/marketGET /v1/market/{ticker}- Dados de mercado de um ativo
A Market API fornece dados em tempo real do mercado financeiro:
- Cotações B3:
GET /b3/quote/{ticker}- Obtém cotação de ações da B3 - Cotações por Data:
GET /b3/quote/{ticker}/date/{date}- Cotação histórica - Dividendos B3:
GET /b3/dividends/{ticker}- Histórico de dividendos - Notícias:
GET /b3/news/{ticker}- Notícias de um ativo - Cotações Crypto:
GET /crypto/quote/{ticker}- Cotação de criptomoedas
O projeto é um monorepo com a seguinte estrutura:
zuno-app/
├── apps/
│ ├── api/ # Backend Spring Boot
│ │ ├── src/
│ │ │ └── main/
│ │ │ └── java/
│ │ │ └── com/ilanzgx/demo/
│ │ │ └── config/
│ │ │ └── modules/
│ │ │ ├── auth/
│ │ │ ├── dividend/
│ │ │ ├── market/
│ │ │ ├── portfolio/
│ │ │ ├── position/
│ │ │ ├── shared/
│ │ │ ├── transaction/
│ │ │ └── user/
│ │ └── pom.xml
│ │
│ ├── market/ # Market API (FastAPI)
│ │ ├── app/
│ │ │ ├── api/
│ │ │ │ └── v1/
│ │ │ ├── core/
│ │ │ └── services/
│ │ ├── pyproject.toml
│ │ └── uv.lock
│ │
│ └── web/ # Frontend Next.js
│ ├── src/
│ │ ├── app/
│ │ │ ├── (protected)/
│ │ │ └── (public)/
│ │ ├── components/
│ │ ├── lib/
│ │ ├── resources/
│ │ └── stores/
│ └── package.json
│
├── docker-compose.yml
├── package.json
└── README.md
Contribuições são o que tornam a comunidade open source um lugar incrível para aprender, inspirar e criar. Qualquer contribuição que você fizer será muito apreciada.
Se você tiver uma sugestão para melhorar o projeto, por favor faça um fork do repositório e crie um pull request. Você também pode simplesmente abrir uma issue com a tag "enhancement". Não se esqueça de dar uma estrela ao projeto! Obrigado!
- Fork o Projeto
- Crie sua Feature Branch (
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
Este projeto é licenciado sob a GNU Affero General Public License v3.0 (AGPLv3). Isso significa que qualquer pessoa que modificar ou utilizar este software para oferecer um serviço (SaaS) deve disponibilizar o código-fonte dessas modificações.
Para mais detalhes, consulte o arquivo LICENSE.
Ilan Fonseca - @ilanzgx
Link do Projeto: https://github.com/ilanzgx/zuno-app
