Aplicacao open source para operar frota, motoristas e ordens de entrega com validacao geoespacial. Stack: Django 5 + DRF/PostGIS + Celery no backend e React/Vite/Tailwind + Leaflet no frontend.
- Autenticacao JWT e protecao por perfil (admin, motorista).
- CRUD de veiculos (com foto, status e coordenadas), garagens e ordens de entrega.
- Areas de cobertura geoespaciais (centro+raio) e checagem de cobertura via CEP/lat/lon.
- Dashboard com contadores e mapa Leaflet de veiculos/garagens; mapa em tempo quase real.
- Agenda drag-and-drop de ordens por motorista/dia, com filtros e duracao ajustavel.
- Celery para notificacoes e simulacao de trafego (atualiza last_location).
- Backend:
cp .env.example .env
docker-compose up --buildDisponivel em http://localhost:8000 (Swagger: /api/schema/swagger-ui/, admin opcional em /admin).
- Frontend (opcional se nao usar o servico do compose):
cd frontend
cp .env.example .env # aponte VITE_API_URL para http://localhost:8000
npm install
npm run dev -- --host --port 5173- Gere chaves VAPID (ex:
npx web-push generate-vapid-keys) e preenchaWEBPUSH_VAPID_PUBLIC_KEY,WEBPUSH_VAPID_PRIVATE_KEYeWEBPUSH_VAPID_ADMIN_EMAILno.envdo backend. O PWA se inscreve sozinho apos login e mostra o push quando uma nova OS e atribuida a um motorista.
- Auth:
POST /api/token/,POST /api/token/refresh/ - Veiculos:
/api/vehicles/ - Motoristas:
/api/drivers/ - Ordens de entrega:
/api/delivery-orders/ - Garagens:
/api/garages/ - Cobertura:
POST /api/coverage-check/ - Resumo dashboard:
GET /api/dashboard-summary/ - Usuarios (admin):
/api/users/ - CEP lookup:
/api/cep-lookup/ - Docs:
/api/schema/swagger-ui/
- Worker Celery sobe no servico
celery. - Exemplo:
apps.logistics.tasks.add(2, 2). - Notificacao: ao mudar
DeliveryOrderparain_transit, dispara email (console). - Simulacao de trafego:
docker-compose exec web python manage.py simulate_traffic.
Requer banco com extensao PostGIS:
docker-compose run --rm web python manage.py test- Crie um fork, abra uma branch (
feat/minha-feature), envie PR com descricao curta. - Mantenha README e exemplos de prints em
docs/.
MIT (veja LICENSE).


