Índice do fórum » Projetos » ibsala
| Autor | Mensagem |
|---|---|
| joshazze Administrador Registrado em: Fev 2026 Mensagens: 13 Localização: Belo Horizonte |
Enviado em: 15 Ago 2026
Assunto: ibsala
ContextoO Ibmec BH publica a ocupação das salas numa planilha que a coordenação atualiza durante o dia. Ela é correta e é ilegível. Para saber se a 204 está livre às 15h você abre o arquivo, acha a aba do dia, cruza a linha do horário com a coluna da sala e torce para ninguém ter mexido nos últimos dez minutos. Todo mundo desistia no segundo passo e saía andando pelo prédio. Comecei o O que eu fizDuas versões inteiras, e a segunda existe porque a primeira acertou o problema e errou a fundação. A primeira foi Flask em contêiner numa VM da GCP, com Google Sheets como banco. Funcionava. Ela ganhou cadastro com Google OAuth, notificação por web push, painel administrativo, página de privacidade, exportação e autoexclusão de conta para atender à LGPD, e uma suíte que chegou a 263 testes rodando em CI junto com O problema é que a planilha como banco cobra juros. Cada consulta virava chamada de API com cota, cada escrita concorrente era uma corrida, e a captura da grade rodava no GitHub Actions entregando de 6 a 10 execuções por dia quando o agendamento pedia 48. O Actions simplesmente não garante horário. Em 23 de julho comecei a reescrita. Postgres de verdade no Supabase, autenticação e funções de borda no mesmo lugar, frontend estático no Cloudflare Pages, e a captura movida para Como funcionaO universo de salas deixou de ser subproduto do scraper. Ele vem de um repertório fixo e versionado, com 58 salas canônicas, 22 apelidos conhecidos e 11 grafias que devem ser ignoradas. Grafia que ninguém reconhece não vira sala nova: cai numa fila de quarentena para eu olhar depois. Essa decisão nasceu de um bug bonito. A origem escreve pares de sala concatenados com barra, tipo O aviso é PWA instalável com web push, incluindo iOS, que é onde a coisa dói. No iPhone o push só existe se o app estiver na tela de início, o O que aprendiDuas coisas que eu não teria aprendido lendo. A primeira veio de uma auditoria de segurança no banco novo. Eu tinha escrito uma policy de RLS que deixava o aluno atualizar a própria linha, e ela estava certa na metade que eu olhei. Policy de A segunda foi pior, porque não era código. Quatro dias depois do corte, um aluno que tinha se descadastrado e saído recebeu uma notificação. Eu já tinha conferido o sistema novo: o cascade apagava em dois níveis, os testes provavam, o banco confirmava. O sistema novo estava certo. Só que o antigo nunca parou. A VM continuava lá, o contêiner do agendador continuava com Virar o DNS não desliga nada. Desligar é Resultados
|
« Tópico anterior: Blank Page Próximo tópico: Liga Acadêmica IbTech »