Server : Apache System : Linux dedi-14684855.grupobig.com 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64 User : grupo692 ( 1004) PHP Version : 8.3.33 Disable Function : NONE Directory : /proc/thread-self/root/opt/dash_backend/docs/ |
# Dash Mobile Diretoria — Backend Guide ## Stack Backend O backend utiliza: * Python * FastAPI * Uvicorn * Oracle * JWT * Pydantic * API REST ## Responsabilidades do Backend O backend é responsável por: * autenticar usuários; * validar tokens JWT; * consultar dados no Oracle; * executar regras de negócio; * retornar dados em JSON para o app Flutter; * centralizar segurança e acesso ao banco. ## Regras para Endpoints Ao criar ou alterar endpoints: * manter compatibilidade com endpoints existentes; * manter nomes de campos usados pelo Flutter; * usar HTTPException para erros controlados; * não expor erro bruto do Oracle para o app; * validar parâmetros recebidos; * proteger endpoints com JWT quando necessário; * retornar JSON simples e previsível. ## Regras para Oracle Ao alterar queries: * preservar filtros existentes; * preservar joins existentes; * preservar cálculos; * preservar aliases; * preservar ordenações; * usar bind variables; * evitar SQL injection; * não concatenar parâmetros diretamente no SQL. ## Autenticação JWT O JWT deve ser usado para proteger endpoints privados. Boas práticas: * segredo JWT vindo de variável de ambiente; * tempo de expiração configurável; * tratamento de token expirado; * tratamento de token inválido; * retorno claro para sessão expirada no app. ## Tratamento de Erros O backend deve tratar: * erro de conexão Oracle; * erro de query; * token expirado; * token inválido; * usuário não autorizado; * parâmetros inválidos; * ausência de dados. ## Logs Registrar logs para: * falhas de login; * falhas de conexão; * exceções em endpoints; * erros críticos de query; * comportamento inesperado em produção. Não registrar senha, token JWT completo ou dados sensíveis.