Plataforma web para resolução de problemas com voos aéreos no Brasil, baseada na Resolução nº 400 da ANAC. A aplicação facilita o processo de registro de reclamações, gerenciamento de documentos e acompanhamento de status através de um sistema hierárquico de equipe interna.
O Passageiro Legal foi desenvolvido para auxiliar passageiros aéreos a solicitarem indenizações e reivindicações quando ocorrem problemas com voos. A plataforma informa os passageiros sobre seus direitos garantidos pela Resolução ANAC 400 e oferece um processo simplificado para registro de reclamações.
✈️ Atrasos de voos- ❌ Cancelamentos
- 👥 Overbooking
- 🧳 Bagagem extraviada ou danificada
- 📝 Registro de reclamações através de formulário multi-step
- 📄 Upload de documentos necessários (registro de nascimento, comprovante de residência, comprovante de voo)
- 👀 Acompanhamento do status das solicitações
- 📚 Informações sobre direitos do passageiro (Resolução ANAC 400)
- 🔐 Autenticação segura com 2FA
- Visualização de processos atribuídos
- Análise de documentação
- Execução de tarefas operacionais
- Atualização de status dos processos
- Visualização de todos os processos
- Atribuição de processos aos agentes
- Validação e aprovação de trabalhos
- Supervisão da equipe
- Controle total do sistema
- Gerenciamento de usuários e permissões
- Acesso a estatísticas completas
- Tomada de decisões estratégicas
- Laravel 11.31+ - Framework PHP
- Laravel Fortify - Autenticação
- Laravel Jetstream - Profile management e 2FA
- Laravel Sanctum - API tokens
- PHP 8.2+ - Linguagem
- React 18.3.1+ - Biblioteca UI
- TypeScript 5.5.3+ - Type safety
- Inertia.js 2.0+ - Integração Laravel/React
- Tailwind CSS 3.4+ - Estilização
- Radix UI - Componentes acessíveis
- React Hook Form - Gerenciamento de formulários
- Vite 5.4+ - Build tool
- Ziggy - Rotas Laravel no frontend
- PHP 8.2 ou superior
- Composer
- Node.js 18+ e npm
- Banco de dados (SQLite para desenvolvimento, MySQL/PostgreSQL para produção)
💡 Instalando no XAMPP? Veja o guia completo em INSTALACAO_XAMPP.md
O Passageiro Legal possui um instalador web interativo que facilita a configuração inicial.
- Clone o repositório
git clone https://github.com/seu-usuario/passageiro-legal.git
cd passageiro-legal- Instale as dependências
composer install
npm install- Compile os assets do frontend
npm run build-
Configure o servidor web
- Configure seu servidor web (Apache/Nginx) para apontar para o diretório
public/ - Ou use o servidor de desenvolvimento do Laravel:
php artisan serve
- Configure seu servidor web (Apache/Nginx) para apontar para o diretório
-
Acesse o instalador
- Abra seu navegador e acesse:
http://localhost:8000/install - O instalador irá guiá-lo através dos seguintes passos:
- ✅ Verificação de requisitos do sistema
- ⚙️ Configuração do arquivo
.env - 🗄️ Teste de conexão com banco de dados
- 📊 Execução automática das migrations
- 👤 Criação do usuário administrador
- ✨ Finalização da instalação
- Abra seu navegador e acesse:
-
Pronto!
- Após a instalação, você será redirecionado para a página de login
- Use as credenciais do administrador criadas durante a instalação
Para instalação rápida via terminal:
- Clone e instale dependências
git clone https://github.com/seu-usuario/passageiro-legal.git
cd passageiro-legal
composer install
npm install
npm run build- Execute o comando de instalação
php artisan app:installO comando irá:
- Verificar requisitos do sistema
- Criar arquivo
.envse não existir - Gerar chave da aplicação
- Executar migrations
- Criar usuário administrador (solicitará informações)
Opções do comando:
# Com opções personalizadas
php artisan app:install \
--admin-name="Seu Nome" \
--admin-email="admin@exemplo.com" \
--admin-password="senha123"
# Pular etapas específicas
php artisan app:install --skip-env --skip-migrations- Clone o repositório
git clone https://github.com/seu-usuario/passageiro-legal.git
cd passageiro-legal- Instale as dependências
composer install
npm install- Configure o ambiente
cp .env.example .env
php artisan key:generate- Configure o banco de dados no
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=passageiro_legal
DB_USERNAME=root
DB_PASSWORD=- Execute as migrations
php artisan migrate- Crie um usuário administrador
php artisan tinkerUser::create([
'id' => \Illuminate\Support\Str::uuid(),
'name' => 'Administrador',
'email' => 'admin@passageirolegal.com.br',
'password' => \Illuminate\Support\Facades\Hash::make('senha123'),
'role' => \App\Enums\UserRoleEnum::Admin->value,
'status' => 'enabled',
'email_verified_at' => now(),
]);- Compile os assets
npm run build
# ou para desenvolvimento
npm run dev- Inicie o servidor
php artisan serveA aplicação estará disponível em http://localhost:8000
- Permissões: Certifique-se de que os diretórios
storage/ebootstrap/cache/tenham permissões de escrita - Banco de Dados: Crie o banco de dados antes de executar a instalação
- Node.js: Certifique-se de ter Node.js 18+ instalado para compilar os assets
- PHP: Requer PHP 8.2 ou superior com extensões necessárias (PDO, OpenSSL, Mbstring, etc.)
passageiro-legal/
├── app/
│ ├── Enums/ # Enums PHP
│ ├── Http/
│ │ ├── Controllers/ # Controllers
│ │ ├── Middleware/ # Middleware customizado
│ │ └── Requests/ # Request validation
│ ├── Models/ # Eloquent models
│ ├── Repositories/ # Repository pattern
│ ├── Services/ # Service layer
│ └── Providers/ # Service providers
├── resources/
│ ├── js/
│ │ ├── components/ # Componentes React
│ │ ├── pages/ # Páginas Inertia
│ │ ├── models/ # TypeScript models
│ │ └── utils/ # Utilitários
│ └── views/ # Templates Blade
├── routes/
│ ├── web.php # Rotas web
│ └── auth.php # Rotas de autenticação
└── database/
├── migrations/ # Database migrations
└── seeders/ # Database seeders
A plataforma está fundamentada na Resolução nº 400 da ANAC (Agência Nacional de Aviação Civil), que estabelece os direitos dos passageiros aéreos no Brasil em casos de problemas com voos.
O projeto utiliza um sistema hierárquico de roles:
- User - Passageiros que registram reclamações
- Employee - Agentes que processam solicitações
- Admin - Administradores com controle total
Execute os testes com:
php artisan testcomposer dev # Inicia servidor, queue, logs e Vite simultaneamente
php artisan app:install # Instalador via linha de comandonpm run dev # Modo desenvolvimento com hot reload
npm run build # Build de produçãophp artisan app:install # Instalador completo
php artisan app:install --skip-env # Pular configuração do .env
php artisan migrate # Executar migrations
php artisan db:seed # Executar seedersContribuições são bem-vindas! Por favor:
- Faça um fork do projeto
- Crie uma branch para sua feature (
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
- Reutilize arquivos existentes sempre que possível
- Melhore o código existente antes de criar novos arquivos
- Mantenha o código organizado, limpo e reutilizável
- Evite fragmentar a estrutura do projeto
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
- Equipe Passageiro Legal
- Laravel Framework
- Comunidade React
- ANAC pela Resolução 400
Desenvolvido com ❤️ para ajudar passageiros aéreos no Brasil