How gabtapia/sistema_saida works
O produto é um sistema web para autorizar e auditar saídas antecipadas de estudantes. O fluxo principal começa na interface Streamlit: assistência escolhe um motivo e emite a autorização pela API; depois, a portaria consulta pendências e confirma a saída física, registrada com horário e responsável. A API também oferece autenticação com perfis, gestão de motivos e histórico. As relações refletem chamadas visíveis nos trechos e capacidades descritas no README; partes não amostradas da interface e das rotas têm ligações omitidas quando não foi possível confirmar o fluxo.
Main entry points: crud.py Consultas e operações · auth.py Rotas de autenticação · app.py Interface Streamlit · main.py Aplicação FastAPI
Components 15
Interface
- Interface Streamlit
app.py
API REST
- Aplicação FastAPI
backend/main.py - Rotas de autenticação
backend/routes/auth.py - Rotas de saídas
backend/routes/saidas.py - Rotas de motivos
backend/routes/motivos.py
Domínio e segurança
- Sessão e RBAC
backend/dependencies.py - Hashes e JWT
backend/security.py - Consultas e operações
backend/crud.py - Validação de dados
backend/schemas.py - Entidades e estados
backend/models.py
Persistência
- Sessões e engine
backend/database.py - Base SQLite
Other components
- Assistência
- Portaria
- Administrador
Connections 26
- Assistência → Interface Streamlit: emite autorizações
- Portaria → Interface Streamlit: confirma saídas
- Administrador → Interface Streamlit: gere acessos
- Interface Streamlit → Rotas de autenticação: autentica e consulta perfil
- Interface Streamlit → Rotas de motivos: consulta e cadastra motivos
- Interface Streamlit → Rotas de saídas: emite, consulta e confirma
- Aplicação FastAPI → Rotas de autenticação: regista router
- Aplicação FastAPI → Rotas de motivos: regista router
- Aplicação FastAPI → Rotas de saídas: regista router
- Aplicação FastAPI → Sessões e engine: cria tabelas e sessões
- Aplicação FastAPI → Consultas e operações: popula dados iniciais
- Rotas de autenticação → Consultas e operações: consulta e cria utilizadores
- Rotas de autenticação → Hashes e JWT: verifica senha e emite token
- Rotas de saídas → Consultas e operações: valida e opera registos
- Rotas de motivos → Consultas e operações: consulta e cria motivos
- Rotas de autenticação → Sessão e RBAC: restringe acesso
- Rotas de saídas → Sessão e RBAC: valida sessão e perfil
- Rotas de motivos → Sessão e RBAC: restringe cadastro
- Sessão e RBAC → Sessões e engine: obtém sessão
- Consultas e operações → Sessões e engine: consulta e grava
- Consultas e operações → Hashes e JWT: gera hash de senha
- Sessões e engine → Base SQLite: persiste dados
- Consultas e operações → Entidades e estados: opera entidades
- Rotas de autenticação → Validação de dados: valida contratos
- Rotas de saídas → Validação de dados: valida contratos
- Rotas de motivos → Validação de dados: valida contratos