Uma aplicação web full-stack moderna para o gerenciamento completo de dojos de artes marciais, desenvolvida como solução para o Projeto Integrador Transdisciplinar em Engenharia de Software II.
Dashboard - Dojo Scheduler
O Dojo Scheduler foi criado para resolver a necessidade de uma ferramenta centralizada e intuitiva para administrar alunos, aulas e matrículas. A plataforma oferece uma experiência de usuário fluida, com um design responsivo e funcionalidades robustas que garantem a integridade dos dados e facilitam a rotina administrativa de um dojo.
O projeto foi construído seguindo as melhores práticas de desenvolvimento, com uma arquitetura baseada em componentes, um backend robusto e um banco de dados relacional gerenciado por um ORM moderno.
Toda a documentação técnica do projeto, incluindo diagramas UML e o dicionário de dados, pode ser encontrada na pasta /documentation.
- 📊 Dashboard Inteligente: Visão geral com estatísticas de alunos e aulas, além de um feed de atividades recentes que é atualizado em tempo real.
- 👤 Gerenciamento de Alunos (CRUD):
- Cadastro de novos alunos com validação de dados (email, telefone).
- Visualização em tabela responsiva.
- Exclusão segura de membros.
- 🥋 Gerenciamento de Aulas (CRUD):
- Criação de novas aulas com dia da semana, horários e capacidade máxima.
- Visualização e exclusão de aulas existentes.
- 🎟️ Sistema de Matrículas:
- Interface simples para matricular alunos em aulas.
- Validação automática de vagas disponíveis.
- Prevenção inteligente contra matrículas duplicadas.
- 🗓️ Agenda Semanal: Uma visualização clara de todas as aulas da semana, organizadas por dia, com indicadores de ocupação.
- 🌙 Tema Escuro e Claro: Suporte nativo a temas, com persistência da preferência do usuário.
| Categoria | Tecnologia |
|---|---|
| Frontend | React, Next.js 14 (App Router), TypeScript, Tailwind CSS |
| Backend | Next.js API Routes, TypeScript |
| Banco de Dados | Prisma ORM, SQLite (Facilmente portável para PostgreSQL/MySQL) |
| UI/UX | Shadcn/UI, Lucide React (Ícones), Sonner (Notificações), Zod (Validação) |
| Testes | Jest, React Testing Library |
Siga os passos abaixo para executar o projeto em seu ambiente local.
- Node.js (versão 18.x ou superior)
- npm ou yarn
-
Clone o repositório:
git clone https://github.com/seu-usuario/dojo-scheduler.git cd DojoScheduler -
Instale as dependências:
npm install
-
Configure as Variáveis de Ambiente:
copy .env.example .env
cp .env.example .env
-
Configure o Banco de Dados: O Prisma precisa criar e popular o banco de dados SQLite.
npx prisma migrate dev
Este comando irá:
- Criar o arquivo do banco de dados em
prisma/dev.db. - Aplicar o schema definido em
prisma/schema.prisma.
- Criar o arquivo do banco de dados em
-
Inicie o servidor de desenvolvimento:
npm run dev
-
Abra http://localhost:3000 em seu navegador para ver a aplicação.
Para garantir a qualidade e a robustez do código, foram implementados testes unitários e de integração. Para executá-los, use o comando:
npm testA estrutura do projeto foi organizada para manter a escalabilidade e a clareza:
dojo-scheduler/
├── prisma/ # Schema e migrações do banco de dados
├── public/ # Arquivos estáticos
├── src/
│ ├── app/
│ │ ├── api/ # Rotas da API (backend)
│ │ │ ├── activities/
│ │ │ ├── bookings/
│ │ │ ├── classes/
│ │ │ └── members/
│ │ ├── (pages)/ # Rotas de páginas da aplicação (frontend)
│ │ │ ├── agenda/
│ │ │ ├── bookings/
│ │ │ ├── classes/
│ │ │ └── members/
│ │ └── layout.tsx # Layout principal
│ │ └── page.tsx # Página do Dashboard
│ ├── components/ # Componentes React reutilizáveis
│ │ ├── layout/
│ │ └── ui/ # Componentes base (shadcn)
│ ├── context/ # Contexto global da aplicação (AppProvider)
│ └── lib/ # Funções utilitárias e tipos
└── README.md
Modo Escuro
Mobile
- Arquitetura: Padrão MVC adaptado para Next.js
- Testes: TDD (Test-Driven Development)
- Versionamento: Git com commits semânticos
- Validação: Zod schemas para validação de dados
- Tipagem: TypeScript para type safety
- Estilização: Tailwind CSS com design system consistente
- Acessibilidade: Componentes Radix UI acessíveis por padrão
- Christiansen Taques
- Projeto Integrador Transdisciplinar em Engenharia de Software II - UNIFRAN
- À minha noiva ❤️ - Por não ter ficado brava comigo quando eu virei várias madrugadas fazendo esse projeto. Te amo!
- Amigos - Pelas trocas de ideia e feedbacks que ajudaram a melhorar o projeto
Distribuído sob a licença MIT.







