# Análise da Aplicação: freefi_admin Este documento resume a arquitetura e as tecnologias da aplicação `freefi_admin`. ## 1. Visão Geral - **Tipo de Aplicação:** Painel de Administração (Admin Panel). - **Propósito Principal:** Gerenciamento de usuários e controle de acesso baseado em papéis (RBAC - Role-Based Access Control). - **Stack Principal:** Laravel, Vite, Tailwind CSS, Alpine.js, Docker. ## 2. Ambiente de Desenvolvimento A aplicação é totalmente containerizada usando Docker и Docker Compose. - **Serviços do Docker:** - `app`: Container da aplicação principal com Laravel 12. - `nginx`: Servidor web que expõe a aplicação. - `db`: Banco de dados MySQL 8.0. - **Acesso:** - A aplicação pode ser acessada através do navegador no endereço `http://localhost:8082`. - **Comandos para Iniciar o Ambiente:** - `docker-compose up -d` (para iniciar os serviços em background) - `docker-compose down` (para parar os serviços) ## 3. Backend - **Framework:** Laravel 12 - **Linguagem:** PHP 8.2 - **Gerenciador de Pacotes:** Composer - **Funcionalidades Chave:** - **Autenticação:** Provida pelo `laravel/breeze`, inclui login, registro, recuperação de senha, etc. - **CRUD de Usuários:** Interface completa para Criar, Ler, Atualizar e Deletar usuários. - **Controle de Acesso (RBAC):** O banco de dados possui tabelas para `roles` (papéis), `permissions` (permissões) e a tabela pivot `role_user`, indicando um sistema de autorização granular. - **Internacionalização:** Suporte a múltiplos idiomas configurado através de rotas e arquivos de tradução. ## 4. Frontend - **Build Tool:** Vite - **Framework CSS:** Tailwind CSS - **JavaScript:** Alpine.js para interatividade leve. - **Gerenciador de Pacotes:** npm - **Comandos:** - `npm install`: Para instalar as dependências. - `npm run dev`: Para iniciar o servidor de desenvolvimento do Vite com hot-reloading. - `npm run build`: Para compilar os assets de frontend para produção. ## 5. Banco de Dados - **Sistema:** MySQL 8.0 (rodando no container `db`). - **Credenciais (padrão do `docker-compose.yml`):** - Database: `adm_freefi` - User: `laravel_user` - Password: `user_password` - Root Password: `root_password` - **Schema:** As migrações definem tabelas para `users`, `roles`, `permissions`, `jobs`, `cache`, etc. ## 6. Testes - **Framework:** Pest (um framework de testes para PHP com foco em simplicidade). - **Comando para Rodar Testes:** - `composer test` ou `php artisan test`