UniPass
Documentação técnica interna

Unipass — Wiki de Requisitos do Ecossistema

Esta wiki documenta os três produtos do ecossistema Unipass (transporte universitário municipal) em nível de engenharia de requisitos: conceitos de domínio, fluxos, regras de negócio, exceções, requisitos não-funcionais, funcionalidades e casos de uso. É a fonte técnica a partir da qual um engenheiro de requisitos produz a wiki e o tutorial voltados ao usuário final (gestor municipal, operador de frota, motorista, estudante).

1. Propósito e uso deste documento

Conceito

Esta wiki é grounded em código — cada regra de negócio, exceção e fluxo aqui descrito foi extraído do backend (Django/DRF), dos frontends (Next.js, Expo/React Native) e da documentação institucional existente do projeto, não de memória ou suposição. Onde a documentação institucional antiga diverge do comportamento real do sistema, a divergência é sinalizada explicitamente (ver nota sobre RBAC "3-gate" vs. 2-gate real).

Esta wiki não é o tutorial de usuário final — é o insumo técnico para produzi-lo. Por isso o tom é denso e assume vocabulário de engenharia (entidades, endpoints, estados, RBAC), mas cada seção termina em casos de uso escritos em linguagem próxima da experiência real do usuário, para facilitar a tradução.

2. O problema que o Unipass resolve

Municípios brasileiros que mantêm transporte universitário público dependem hoje de planilhas, WhatsApp e confirmações verbais para gerenciar centenas de estudantes, rotas, motoristas e viagens diárias. Não há rastreabilidade de presença, controle formal de execução, nem evidência auditável para prestação de contas ao TCE e ao FNDE. O resultado é risco de evasão por falha de acesso ao transporte, subutilização de frota e ausência de dado para decisão do gestor municipal.

PersonaDor principalO que o Unipass resolve
Gestor municipalVisibilidade zero da operaçãoDashboard e relatórios em tempo real
Operador de frotaConfirmação manual de viagensConfirmação digital com trilha de auditoria
MotoristaSem registro formal de presençaApp com presença digital offline-first
EstudanteSem visibilidade da rotaApp com localização do ônibus e carteirinha digital

3. Arquitetura do ecossistema — 3 produtos + 2 camadas de suporte

Esta wiki cobre os três produtos voltados a usuário final. Cada um é sustentado por uma API comum (Django) e por infraestrutura compartilhada.

Gestão

Painel web (Next.js) para gestores municipais e operadores de frota. Cadastros, planejamento, operação diária, relatórios, auditoria.

App Motorista

App (Expo/React Native) para o profissional que conduz o veículo. Fluxo de viagem, presença, GPS offline-first.

App Estudante

PWA (Expo/React Native Web) para o beneficiário do transporte. Confirmação de presença, acompanhamento de rota, carteirinha digital.

API (suporte)

Django 5 + DRF + PostGIS — lógica de domínio e persistência para os 3 produtos acima.

Infraestrutura (suporte)

Docker Compose — Postgres, Redis, MinIO, Grafana.

4. Vocabulário essencial do domínio

Termos usados em todo o ecossistema — cada produto detalha os que lhe são específicos.

TermoDefinição
EstudanteBeneficiário do transporte universitário subsidiado, vinculado a uma IES.
MotoristaProfissional habilitado que conduz o veículo. Entidade separada de usuário interno — tem CNH, disponibilidade e histórico de substituições.
MonitorSegundo ocupante do veículo com função de supervisão de embarque — é um Motorista com tipo "monitor", não um usuário autônomo.
RotaItinerário com direção (ida/volta), turno, IES destino e lista ordenada de pontos de embarque. Unidade de planejamento.
Ponto de EmbarqueLocal físico georreferenciado onde estudantes embarcam ou desembarcam.
Vínculo Estudante-RotaAssociação formal entre estudante e rota para um turno e período — o documento de inscrição no serviço.
Confirmação DiáriaConfirmação do estudante de que vai usar o transporte no dia seguinte, sujeita a um prazo (cutoff) configurável por rota.
Dia de OperaçãoAgregado de todas as viagens de um dia. Ciclo de vida: rascunho → publicado → em andamento → concluído.
ViagemExecução de uma rota em um dia de operação, com veículo e motorista atribuídos. Unidade de operação em campo.
IESInstituição de Ensino Superior — destino de cada rota.
Registro de PresençaRegistro individual de embarque/desembarque de um estudante em uma viagem (nunca chamado de "check-in" no sistema).
Carteirinha digitalIdentidade visual do estudante no sistema, com QR de validação sob demanda e camadas anti-fraude.

Cada produto tem sua página com glossário detalhado (contextos de disciplina, comunicação, gamificação etc.).

5. Fora do escopo atual (v0.5)

  • Biometria facial
  • Roteirização automática de rotas
  • Módulo financeiro completo (abastecimento/manutenção têm API, mas não gestão dedicada no painel)
  • Integração nativa com WhatsApp/SMS
  • Multi-tenant SaaS — arquitetura é single-tenant por instância/VPS