Em desenvolvimentoPlataformas / Web / Acadêmicos
Tekidu
A Tekidu centraliza informações acadêmicas — notas, frequência, boletim, turmas e comunicados — em um único ambiente, no lugar de planilhas e sistemas dispersos. A plataforma possui quatro experiências distintas, cada uma com telas e permissões próprias.

O problema
Informações acadêmicas espalhadas entre planilhas e sistemas separados, sem um lugar único onde estudante, professor e administração enxerguem os mesmos dados.
A solução
Um ambiente único com quatro perfis de acesso: o administrador gerencia estudantes, professores, turmas, disciplinas e avisos; o professor cuida de turmas, avaliações, notas e frequência; o estudante acessa boletim, desempenho, frequência, justificativas de falta, mensagens e avisos, restrito aos próprios dados; o responsável consulta boletim e frequência dos estudantes vinculados, somente leitura.
Arquitetura
- 1
React + TypeScript (Vite) — quatro experiências de UI (admin, professor, estudante, responsável) sobre a mesma base de componentes
- 2
Firebase Authentication — login, primeiro acesso e recuperação de senha
- 3
Cloud Firestore — dados acadêmicos: estudantes, turmas, notas, frequência, avisos
- 4
Firestore Security Rules — autorização por perfil aplicada no banco, não só na UI
- 5
Camada de serviços por domínio (students, grades, attendance, reports, audit, email) isolando o acesso a dados dos componentes
- 6
Cloudflare Pages Functions — envio do e-mail de primeiro acesso (EmailJS) e Web Push, mantendo credenciais fora do bundle do cliente
- 7
Deploy em Cloudflare Pages
O que o projeto faz
- Autenticação completa: login, primeiro acesso com e-mail transacional (EmailJS, enviado pelo servidor) e recuperação de senha via Firebase Authentication
- Gestão acadêmica com CRUDs completos de estudantes, professores, turmas, disciplinas e avaliações
- Lançamento de notas, cálculo de médias e boletim consolidado por estudante
- Registro de frequência por sessão, com histórico por período
- Relatórios e indicadores de desempenho por estudante e por turma
- Justificativas de falta com documento comprobatório (imagem ou PDF) e mensagens entre professores e estudantes
- Exportação de boletim em PDF e de frequência e relatórios em Excel/PDF
- Avisos, central de notificações e calendário acadêmico
- Command palette para navegação por atalhos de teclado
- UX mobile dedicada: bottom navigation, sheets e FAB próprios
- PWA instalável, com Service Worker
- Painel de acessibilidade com preferências de texto, contraste e movimento
- Dark mode via tokens de design em CSS variables
Desafios técnicos
- Problema
- Esconder botões e rotas na interface não impede que um usuário autenticado leia ou escreva dados de outro perfil diretamente na API do Firestore.
- Investigação
- Revisão de quais coleções cada perfil (admin, professor, estudante) realmente precisa ler ou escrever, e quais campos podem ser alterados por cada um.
- Solução
- Regras de autorização escritas diretamente nas Firestore Security Rules, com suíte de testes própria usando Vitest, Firebase Emulator e @firebase/rules-unit-testing cobrindo cenários de acesso permitido e negado.
- Problema
- Um estudante abrindo a plataforma não deveria baixar o código do portal administrativo só para ver seu próprio boletim.
- Investigação
- Mapeamento das rotas por perfil de usuário para identificar quais telas nunca são acessadas juntas na mesma sessão.
- Solução
- A maioria das páginas carregada sob demanda com React.lazy, agrupadas por Suspense conforme o perfil — cada usuário baixa só o código da sua própria experiência.
Decisões técnicas
Camada de serviços por domínio
O acesso ao Firestore fica isolado em serviços (students, grades, attendance, reports, audit, email, entre outros), mantendo os componentes de UI livres de lógica de dados. Alterações sensíveis, como edição de notas, geram log de auditoria assíncrono.
O que ainda falta
Segundo o roadmap do repositório, ainda não há pipeline de CI/CD nem testes de componentes de interface; também estão previstos monitoramento de erros em produção e uma auditoria de acessibilidade.
O que este projeto me ensinou
A Tekidu marcou a transição de construir interfaces isoladas para uma aplicação com autenticação, persistência de dados, autorização por perfil e regras de segurança validadas no banco — não só escondidas na tela.
Telas do projeto




