📄 Documento de Desenvolvimento do Sistema de Organização e Otimização de Rotas – Zona Leste Teresina
Regra principal: Este documento deve ser mantido atualizado a cada nova modificação, funcionalidade, correção ou melhoria no sistema.
---
1. Visão geral
Sistema para organização e otimização de rotas de entrega de cartões na Zona Leste de Teresina, com integração a múltiplas fontes de dados e categorização por bairro e sub-bairro.
2. Objetivos principais
- Capturar endereços via OCR ou digitação manual
- Validar endereços consultando múltiplas APIs
- Agrupar endereços por bairro/sub-bairro/rua
- Otimizar ordem de entrega por proximidade
- Exibir rotas no Google Maps e AZE
- Armazenar histórico de rotas e exportar
3. Fontes de dados
- Google Maps API
- Google Places API
- API AZE (mapa antigo)
- CEP Rua API
- SDU/SAAD Teresina
- OpenStreetMap
4. Tecnologias utilizadas
- Back-end: Laravel (PHP)
- Front-end: Blade + TailwindCSS
- Banco de dados: MySQL
- OCR: Tesseract PHP wrapper
- Integrações: APIs listadas acima
- Hospedagem: Servidor PHP compatível com Laravel
5. Estrutura de módulos
1. Módulo de Endereços
2. Módulo de Rotas
3. Módulo de Histórico
4. Módulo de Configuração
6. Estrutura do banco de dados
bairros (id, nome, zona, cep_base)
sub_bairros (id, bairro_id, nome)
ruas (id, sub_bairro_id, nome, nome_antigo, cep)
enderecos (id, rua_id, numero, complemento, latitude, longitude)
rotas (id, data, status)
rota_enderecos (rota_id, endereco_id, ordem)
historico (id, rota_id, data, observacoes)
7. Checklist de desenvolvimento
| Etapa | Descrição | Status |
|-------|-----------|--------|
| 1 | Criar projeto Laravel com Blade + TailwindCSS | ⬜ |
| 2 | Configurar banco MySQL e migrations iniciais | ⬜ |
| 3 | Criar migrations: bairros, sub_bairros, ruas, enderecos, rotas, historico | ⬜ |
| 4 | Implementar cadastro de bairros/sub-bairros | ⬜ |
| 5 | Integrar API Google Maps | ⬜ |
| 6 | Integrar API AZE | ⬜ |
| 7 | Integrar API CEP Rua | ⬜ |
| 8 | Criar busca multi-fonte | ⬜ |
| 9 | Implementar OCR com Tesseract | ⬜ |
| 10 | Criar sistema de validação de endereços | ⬜ |
| 11 | Criar agrupamento por bairro/sub-bairro | ⬜ |
| 12 | Implementar otimização de rota | ⬜ |
| 13 | Criar visualização no Google Maps e AZE | ⬜ |
| 14 | Criar módulo de histórico | ⬜ |
| 15 | Criar sistema de exportação | ⬜ |
| 16 | Testes e ajustes finais | ⬜ |
8. Histórico de alterações
| Data | Alteração | Responsável |
|------|-----------|-------------|
| 13/08/2025 | Documento inicial criado com arquitetura e checklist | odeilsondev |