Dashboard de gestão para o Coder Dojo Braga.
O Katana é uma aplicação de gestão pensada para apoiar a organização do Coder Dojo Braga — uma iniciativa que reúne crianças (os Ninjas) para aprenderem a programar em sessões mensais.
Organizar um Dojo envolve coordenar muita gente e muita logística: inscrições de ninjas, atribuição de vagas, agendamento de sessões, mentores disponíveis e comunicação com as famílias. O Katana centraliza tudo isso numa única dashboard, para que a equipa de organização deixe de depender de folhas de cálculo soltas e emails enviados à mão, e passe a ter uma visão clara e controlada de toda a operação.
Em resumo, o Katana serve para:
- Gerir os Ninjas — inscrições, perfis, histórico de participações.
- Gerir as sessões — criar, editar e cancelar sessões (data, hora, local, capacidade).
- Atribuir vagas — cruzar Ninjas e Mentores disponíveis e distribuir lugares por sessão.
- Comunicar com as famílias — gerar e enviar emails (sempre com confirmação manual).
- Acompanhar a operação — estatísticas e listagens para a equipa de organização.
A plataforma organiza-se em dois grandes grupos de contas:
- O Guardião (encarregado de educação) faz o registo e adiciona os perfis dos seus Ninjas.
- Guardião e Ninjas partilham o mesmo email — o sistema distingue quem entra através da password.
- Os Ninjas são as crianças que participam nas sessões de programação.
Contas criadas exclusivamente por um Administrador (sem registo público):
- Mentor — acompanha sessões e os ninjas que lhe são atribuídos.
- Champion (Campeão) — gere sessões, atribuição de vagas e aprovações.
- Admin — acesso total, incluindo gestão de contas e configuração do sistema.
- Gestão de sessões — criar, editar e cancelar sessões com data, hora, local e capacidade máxima.
- Motor de atribuição — interface para cruzar Ninjas e Mentores e atribuir vagas, com import/export (
.xlsx,.csv,.json). - Motor de comunicação — emails para Guardiões, Mentores ou grupos específicos.
- Regra de ouro: nenhum email em massa é enviado automaticamente. O sistema gera drafts a partir de templates (ex.: "Abertura de inscrições", "Confirmação de vaga", "Vaga por desistência") e exige sempre um ecrã de revisão e um botão explícito de Confirmar e Enviar.
| Camada | Tecnologia |
|---|---|
| Backend | Go 1.26 · Gin · GORM · PostgreSQL · JWT |
| Frontend | Next.js 16 · React 19 · Tailwind CSS v4 · Bun · TypeScript |
São precisos dois terminais:
# Terminal 1 — backend (porta 8080)
cd backend && go run main.go
# Terminal 2 — frontend (porta 3000)
cd frontend && bun devDepois acede a http://localhost:3000.