Sistema web completo de reserva de voos para a Turkish Airlines, desenvolvido em Java Servlets e JSP seguindo a arquitetura MVC. A aplicação inclui autenticação e autorização baseada em roles do Tomcat, além de proteções contra SQL Injection e Cross-Site Scripting (XSS).
Este é um sistema de reserva de voos onde uma companhia aérea vende assentos aos clientes via internet. A aplicação possui 3 tipos de usuários com diferentes funcionalidades:
-
Admin (Administrador)
- Gerencia recursos da aplicação
- Altera funcionalidades
- Define assentos disponíveis
-
Manager (Gerente)
- Aprova ou desaprova recursos
- Aprova ou desaprova assentos
- Gerencia aprovações
-
Customer (Cliente)
- Pesquisa voos disponíveis
- Faz reservas de voos
- Visualiza reservas atuais
- Escolhe assentos
- Frontend: HTML, CSS, JavaScript, jQuery, Bootstrap, JSP, AJAX
- Backend: Java Servlets, Java Models
- Banco de Dados: Microsoft Access
- Web Services: SOAP (para preços e número de assentos)
- Segurança: Proteção contra SQL Injection e XSS
- Docker instalado no computador
- Clone o repositório (se ainda não fez)
- Execute no terminal:
docker-compose up -d
- Aguarde alguns segundos para a aplicação inicializar
- Acesse no navegador:
http://localhost:8080/TurkishAirlines/
- Execute no terminal:
docker-compose down
Use estas credenciais para fazer login e testar as diferentes funcionalidades:
| Tipo de Usuário | Senha | Funcionalidade | |
|---|---|---|---|
| Admin | [email protected] |
a |
Gerenciar recursos |
| Manager | [email protected] |
m |
Aprovar recursos |
| Customer | [email protected] |
c |
Fazer reservas |
- A aplicação usa autenticação baseada em roles do Tomcat
- Todas as páginas protegidas redirecionam para login automaticamente
- O sistema possui validações de entrada para prevenir ataques
- Os dados são persistidos em banco Microsoft Access
- Web Services SOAP são utilizados para consultas de preços
Desenvolvido por: Haris Muneer