Finlyo é uma aplicação full-stack moderna para gestão financeira pessoal, desenvolvida com React no frontend e Node.js/Express no backend. O sistema permite aos usuários gerenciar transações, contas, orçamentos, metas financeiras e categorias, oferecendo uma solução completa para controle financeiro.
- Dashboard Intuitivo: Visualização clara das finanças com gráficos e estatísticas
- Gestão de Transações: Registro e categorização de receitas e despesas
- Múltiplas Contas: Suporte a contas bancárias, cartões de crédito e investimentos
- Orçamentos Personalizados: Definição de limites por categoria
- Metas Financeiras: Acompanhamento de objetivos de economia
- Relatórios Detalhados: Análise de gastos e tendências
- Autenticação Segura: Sistema completo com JWT, recuperação de senha e perfis de usuário
- Design Responsivo: Experiência otimizada em dispositivos móveis e desktop
- React: Biblioteca para construção de interfaces
- Context API: Gerenciamento de estado
- React Router: Navegação entre páginas
- Tailwind CSS: Framework CSS para design responsivo
- Chart.js: Visualização de dados em gráficos
- Node.js: Ambiente de execução JavaScript
- Express: Framework web para API RESTful
- Sequelize: ORM para interação com banco de dados
- MySQL: Banco de dados relacional
- JWT: Autenticação e autorização
- Bcrypt: Criptografia de senhas
O projeto segue uma arquitetura moderna de aplicação web:
finlyo/
├── frontend/ # Aplicação React (SPA)
│ ├── public/ # Arquivos estáticos
│ └── src/ # Código-fonte React
│ ├── components/ # Componentes reutilizáveis
│ ├── contexts/ # Context API para gerenciamento de estado
│ ├── pages/ # Páginas da aplicação
│ └── services/ # Serviços para comunicação com API
│
├── backend/ # API RESTful em Node.js/Express
│ ├── src/
│ │ ├── controllers/ # Controladores para lógica de negócios
│ │ ├── models/ # Modelos Sequelize
│ │ ├── routes/ # Rotas da API
│ │ ├── middlewares/ # Middlewares para autenticação e validação
│ │ ├── config/ # Configurações do sistema
│ │ └── app.js # Configuração do Express
│ └── server.js # Ponto de entrada do servidor
│
└── docker-compose.yml # Configuração para containerização
- Node.js (v16 ou superior)
- MySQL (v8 ou superior)
- npm ou yarn
-
Clone o repositório:
git clone https://github.com/seu-usuario/finlyo.git cd finlyo -
Configure o ambiente do backend:
cd backend npm install -
Configure as variáveis de ambiente:
cp .env.example .env # Edite o arquivo .env com suas configurações -
Inicie o servidor:
npm start
-
Em um novo terminal, navegue até o diretório do frontend:
cd frontend npm install -
Inicie a aplicação React:
npm run dev
-
Acesse a aplicação em seu navegador:
http://localhost:3000
Para executar todo o ambiente com Docker:
docker-compose up -d- Importação/exportação de dados
- Suporte a múltiplas moedas
- Aplicativo móvel nativo
- Integração com bancos via Open Banking
- Modo offline com sincronização
Contribuições são bem-vindas! Para contribuir:
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-funcionalidade) - Faça commit das alterações (
git commit -m 'Adiciona nova funcionalidade') - Faça push para a branch (
git push origin feature/nova-funcionalidade) - Abra um Pull Request
Este projeto está licenciado sob uma Licença AGPL 3.0.
⭐ Se este projeto foi útil para você, considere dar uma estrela! ⭐
Desenvolvido com ❤️ e ☕
