Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Katana 🥷

Dashboard de gestão para o Coder Dojo Braga.

Objetivo

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.

Quem usa a aplicação

A plataforma organiza-se em dois grandes grupos de contas:

👨‍👩‍👧 Guardiões e Ninjas

  • 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.

🧑‍🏫 Mentores e Administraçã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.

Funcionalidades principais

  • 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.

Stack

Camada Tecnologia
Backend Go 1.26 · Gin · GORM · PostgreSQL · JWT
Frontend Next.js 16 · React 19 · Tailwind CSS v4 · Bun · TypeScript

Como correr

São precisos dois terminais:

# Terminal 1 — backend (porta 8080)
cd backend && go run main.go

# Terminal 2 — frontend (porta 3000)
cd frontend && bun dev

Depois acede a http://localhost:3000.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages