Sistema web para agendamento de viagens de autocarro em Angola
# 🚌 Sistema de Agendamento de Viagens - Eurico Balaca
Sistema web moderno para agendamento de viagens de autocarro em Angola, desenvolvido com Java Spring Boot e interface web responsiva.
## ✨ Características
- **Interface Moderna**: Design responsivo e atrativo com CSS3 e JavaScript
- **API REST**: Backend robusto com Spring Boot
- **Banco de Dados**: H2 (desenvolvimento) e PostgreSQL (produção)
- **Containerização**: Docker e Docker Compose para deploy fácil
- **Funcionalidades**:
- Busca de viagens por origem, destino e data
- Sistema de reservas completo
- Cadastro de passageiros
- Gestão de agências
- Interface administrativa
## 🚀 Tecnologias Utilizadas
### Frontend
- HTML5
- CSS3 (Flexbox, Grid, Animações)
- JavaScript (ES6+)
- Font Awesome (Ícones)
- Google Fonts (Inter)
### Backend
- Java 17
- Spring Boot 3.2.0
- Spring Data JPA
- Spring Web
- H2 Database (desenvolvimento)
- PostgreSQL (produção)
### DevOps
- Docker
- Docker Compose
- Nginx (Proxy Reverso)
- Maven
## 📁 Estrutura do Projeto
```
Euclides/
├── src/main/java/com/euclides/
│ ├── controller/ # Controllers REST
│ ├── model/ # Entidades JPA
│ ├── repository/ # Repositórios JPA
│ ├── service/ # Serviços de negócio
│ └── SistemaAgendamentoViagensApplication.java
├── src/main/resources/
│ └── application.properties
├── static/ # Arquivos estáticos (HTML, CSS, JS)
├── Dockerfile
├── docker-compose.yml
├── nginx.conf
├── pom.xml
└── README.md
```
## 🛠️ Instalação e Execução
### Pré-requisitos
- Java 17+
- Maven 3.6+
- Docker e Docker Compose
- Git
### Método 1: Deploy com Docker (Recomendado)
1. **Clone o repositório**:
```bash
git clone
cd Euclides
```
2. **Execute o script de deploy**:
```bash
chmod +x deploy.sh
./deploy.sh
```
3. **Acesse a aplicação**:
- Interface Web:
localhost
- API:
localhost
- H2 Console: http …