Projeto fullstack simples para consulta de informações básicas do transporte público de Maceió - AL.
Ajudar a população a visualizar:
- linhas de ônibus
- paradas
- horários de saída e chegada
- nível de lotação por parada (baixa, média, alta)
- status do trânsito (livre, moderado, intenso)
- mapa interativo com pontos das paradas
Os dados são simulados (mock) para fins de estudo.
- Backend: Python + FastAPI + SQLite + SQLAlchemy
- Frontend: HTML + CSS + JavaScript puro + Leaflet (OpenStreetMap)
- Infraestrutura: Docker + Docker Compose
.
├── backend/
│ ├── main.py
│ ├── models.py
│ ├── database.py
│ ├── requirements.txt
│ └── Dockerfile
├── frontend/
│ ├── index.html
│ ├── style.css
│ ├── script.js
│ └── Dockerfile
├── docker-compose.yml
└── README.mdPré-requisito: Docker e Docker Compose instalados.
docker compose up --buildApós subir os containers:
- Frontend: http://localhost:8080
- API Backend: http://localhost:8000
- Documentação automática do FastAPI (Swagger): http://localhost:8000/docs
GET /- status da APIGET /linhas- lista linhas com horários, parada, lotação e trânsitoGET /paradas- lista paradas com lotação e coordenadas (lat,lng)GET /paradas/mapa- retorno compacto para renderização de pontos no mapaGET /horarios- lista horários cadastrados
A interface web agora exibe um mapa interativo com marcadores para as paradas simuladas de Maceió.
Os pontos são alimentados pelo endpoint GET /paradas/mapa, contendo:
idnomelinha_idlatlnglotacaotransito
- Integrar dados reais da prefeitura/concessionárias.
- Adicionar autenticação para operadores.
- Incluir geolocalização em tempo real dos ônibus.
- Criar histórico e previsão de lotação.