O Contabilize - Sistema de Gestão de Contas Domésticas é uma aplicação desenvolvida para auxiliar os usuários a gerenciar suas finanças pessoais de forma eficiente. O sistema permite o controle de contas a pagar e a receber, o registro de compras feitas com cartão de crédito, a visualização de relatórios financeiros detalhados e o controle de acesso seguro por meio de autenticação de usuários.
- Módulo de Contas a Pagar: Registre despesas futuras e receba notificações sobre vencimentos.
- Módulo de Contas a Receber: Registre receitas e crie receitas recorrentes.
- Módulo de Compras com Cartão de Crédito: Registre compras e controle de parcelas e limites de crédito.
- Relatórios Financeiros:
- Despesas mensais por categoria (tabela e gráfico de barras).
- Saldo entre contas a pagar e a receber.
- Transações de cartão de crédito.
- Evolução do saldo ao longo do tempo (gráfico de séries temporais).
- Exportação de Relatórios: Geração de relatórios em PDF.
- Autenticação de Usuário: Página de login e controle de sessão com suporte para múltiplos usuários.
- Laravel 11.9
- PHP 8.2.6
- PostgreSQL (banco de dados)
- DOMPDF (para geração de PDFs)
- Vue.js (integrado com Laravel via Inertia.js)
- Inertia.js (integração entre Vue e Laravel)
- Tailwind CSS (para estilização)
- Vuetify (componentes de UI)
- PHP 8.2.6 ou superior
- Composer
- Node.js e npm
- PostgreSQL
- Docker (opcional, para uso com Laravel Sail)
-
Clone o repositório:
git clone <URL do repositório> cd prova-php-vue-junior-02287-2024-021.900.226-65/contabilize-app
-
Instale as dependências do Composer:
composer install
-
Instale as dependências do Node.js:
npm install
-
Copie o arquivo
.env.examplepara.enve configure as variáveis de ambiente:cp .env.example .env
-
Gere a chave da aplicação:
php artisan key:generate
-
Configure o banco de dados no arquivo
.enve rode as migrações e seeders:php artisan migrate --seed
-
Compile os ativos front-end:
npm run build
-
Inicie o servidor de desenvolvimento:
php artisan serve
-
Clone o repositório:
git clone <URL do repositório> cd prova-php-vue-junior-02287-2024-021.900.226-65/contabilize-app
-
Inicie os containers do Laravel Sail:
./vendor/bin/sail up -d
-
Acesse o container e instale as dependências do Composer:
./vendor/bin/sail composer install
-
Instale as dependências do Node.js:
./vendor/bin/sail npm install
-
Copie o arquivo
.env.examplepara.enve configure as variáveis de ambiente:cp .env.example .env
-
Gere a chave da aplicação:
./vendor/bin/sail artisan key:generate
-
Rode as migrações e seeders:
./vendor/bin/sail artisan migrate --seed
-
Compile os ativos front-end:
./vendor/bin/sail npm run build
Para processar as filas de trabalho no Laravel, execute o seguinte comando:
php artisan queue:workPara garantir que as tarefas agendadas sejam executadas automaticamente, é necessário configurar o cron job do sistema operacional. Adicione a seguinte linha ao cron (no Linux ou macOS):
* * * * * cd /caminho/para/sua/aplicacao && php artisan schedule:run >> /dev/null 2>&1Essa configuração faz com que o Laravel verifique a cada minuto se há alguma tarefa agendada para ser executada.
- Notificações de Vencimento: O sistema inclui a funcionalidade de notificar os usuários sobre parcelas e contas a vencer. Isso depende do comando de filas para garantir que as notificações sejam enviadas.
- Tarefas Agendadas: O agendamento de tarefas inclui a verificação de receitas recorrentes e a notificação de parcelas atrasadas. Certifique-se de que o cron job esteja configurado para executar essas verificações automaticamente.
- Acesse a página de login (
/login) para autenticar-se. - A conta de administrador padrão é
test@example.com:password. - Gerencie contas a pagar e a receber navegando pelos módulos.
- Registre compras com cartão de crédito e acompanhe o limite.
- Visualize relatórios financeiros e faça download dos PDFs através das rotas configuradas.
Se você deseja contribuir para este projeto, sinta-se à vontade para fazer um fork e enviar um pull request.
