
Finances
Este projeto é uma solução completa para gestão financeira, desenvolvida para oferecer controle total sobre receitas, despesas e categorização de lançamentos. Construído com o que há de mais moderno no ecossistema PHP, o sistema combina a solidez do Laravel 10 com a reatividade do Inertia.js, proporcionando uma experiência de usuário fluida (SPA) sem abrir mão da segurança e escalabilidade de uma arquitetura baseada em servidor.
---
## 🚀 Principais Funcionalidades
- Gestão de Lançamentos: CRUD completo de transações financeiras, permitindo o registro de títulos, valores, datas e descrições detalhadas.
- Categorização Inteligente (Tags): Sistema flexível de tags que permite organizar os lançamentos de forma multidimensional, facilitando a análise e busca.
- Relatórios Dinâmicos: Dashboard com visualização de lançamentos agrupados por período, permitindo uma análise rápida da saúde financeira mensal.
- API RESTful Versionada: Backend preparado para integrações externas, com rotas versionadas (v1/v2) e autenticação segura via Laravel Sanctum.
- Controle de Acesso (RBAC): Diferenciação entre perfis de usuário (Administradores, Usuários Comuns e System Admins) com restrições baseadas em grupos e tags permitidas.
- Gestão de Tokens: Interface para criação e revogação de Personal Access Tokens, ideal para desenvolvedores que precisam consumir a API de forma independente.
- Arquitetura Polimórfica: Rastreabilidade de origem dos dados, identificando se um lançamento foi criado manualmente ou via integração de API (utilizando relações MorphTo do Eloquent).
---
## 🛠️ Stack Tecnológica
- Backend: PHP 8.1+ & Laravel 10 (Eloquent, Service Container, Migrations).
- Frontend: Inertia.js para uma experiência de Single Page Application (SPA).
- Autenticação: Laravel Breeze & Sanctum (Stateful e Token-based).
- Banco de Dados: Eloquent ORM com suporte a múltiplos drivers (MySQL, PostgreSQL, SQLite).
- Infraestrutura: Docker & Laravel Sail para padronização total do ambiente de desenvolvimento.
- Padrões de Projeto: Utilização de Presenters, API Resources e Form Requests para garantir um código limpo e manutenível.
---
## 📐 Diferenciais de Desenvolvimento
O projeto foi construído seguindo as melhores práticas de engenharia de software, incluindo:
- Código Limpo (Clean Code): Separação clara de responsabilidades entre Controllers, Models e Resources.
- Localização (i18n): Suporte nativo para Português do Brasil (pt-BR).
- Escalabilidade: Pronto para crescer, com suporte a novas versões de API e modelos de dados extensíveis através de relações polimórficas.
- Segurança: Proteção contra vulnerabilidades comuns (CSRF, SQL Injection, XSS) nativa do framework, além de validação rigorosa via Form Requests.