Portal CEEC

Documentacao tecnica completa da plataforma

1. Visao geral

O Portal CEEC e uma plataforma de gestao academica e administrativa com tres perfis de acesso:

ADMINISTRADOR PROFESSOR ALUNO

A aplicacao integra cursos, matriculas, progresso, documentos, certificados, financeiro, suporte, forum, notificacoes, email e backups.

2. Arquitetura

Frontend

React + TypeScript + Vite.

Backend

Node.js + Express + TypeScript.

Persistencia

Prisma ORM sobre MySQL.

Autenticacao

JWT (accessToken + refreshToken).

Comunicacao

Notificacoes internas + SMTP por evento.

3. Stack tecnologica

Frontend

  • React 19, TypeScript, Vite, TanStack Router.
  • Tailwind CSS, Radix UI, Recharts, Sonner.

Backend

  • Node.js, Express, TypeScript, Prisma, MySQL.
  • JWT, bcryptjs, multer, nodemailer.

4. Estrutura de pastas

Portal-ceec/ |-- src/ # Frontend |-- api/ | |-- src/ # API e modulos | |-- prisma/ # Schema e migrations |-- uploads/ # Arquivos enviados |-- docs/ # Documentacao (HTML + Markdown)

5. Configuracao de ambiente

Frontend (.env.example)

VITE_API_URL=http://localhost:3333/api

Backend (api/.env)

DATABASE_URL=mysql://USUARIO:SENHA@HOST:3306/DB_NAME JWT_SECRET=troque-por-um-segredo-forte PORT=3333 # opcionais JWT_EXPIRES_IN=15m JWT_REFRESH_SECRET=... JWT_REFRESH_EXPIRES_IN=7d DEFAULT_ADMIN_EMAIL=admin@ceec.com DEFAULT_ADMIN_PASSWORD=Portal123

A API cria automaticamente o administrador padrao se ele nao existir no banco.

6. Scripts

EscopoComandoDescricao
Frontendnpm run devInicia Vite em desenvolvimento.
Frontendnpm run buildBuild de producao do frontend.
Backendnpm run devAPI em watch mode (tsx).
Backendnpm run buildCompila TypeScript da API.
Backendnpm run prisma:generateGera Prisma Client.
Backendnpm run prisma:migrateMigrations em dev.
Backendnpm run prisma:deployAplica migrations no ambiente.

7. Execucao local

Frontend (raiz)

npm install npm run dev

Backend (api/)

cd api npm install npm run prisma:generate npm run dev

URLs padrao: frontend em http://localhost:5173 e API em http://localhost:3333.

8. Modulos de negocio

  • Auth e sessao com renovacao de token.
  • Usuarios, perfis e moderacao.
  • Cursos, modulos, materiais e progresso.
  • Matriculas, documentacao e certificados.
  • Financeiro com comissao, contestacao e repasse.
  • Forum e suporte por tickets.
  • Notificacoes internas e email por eventos.
  • Monitoramento e backups administrativos.

9. Regras-chave

  • Aluno so visualiza cursos com matricula.
  • Curso criado por professor depende de aprovacao admin.
  • Documentacao e financeiro podem bloquear acesso.
  • Certificado depende de revisao/aprovacao de professor ou admin.
  • Usuario banido e bloqueado em login, refresh e acesso autenticado.
  • Notificacoes automaticas podem disparar email conforme preferencias.

10. API por modulo (resumo)

Base URL: /api

ModuloRotas principais
AuthPOST /auth/register, POST /auth/login, POST /auth/refresh, GET /auth/me
UsersGET /users, POST /users, PATCH /users/:id, POST /users/:id/moderate, DELETE /users/:id
CoursesGET /courses, POST /courses, PATCH /courses/:id, modulos, progresso, certificados e comissao
FinanceGET /finance/records, POST /finance/records, proof, contest, settlement, block-course
ForumGET /forum/topics, POST /forum/topics, POST /forum/topics/:id/replies, PATCH status
MaterialsGET /materials, POST /materials, DELETE /materials/:id
NotificationsGET /notifications, POST /notifications, PATCH /notifications/:id, email-settings
SupportGET/POST /support/tickets, POST mensagens, PATCH status/accept/assign
DocumentsGET /documents/requests, POST /documents/requests, PATCH review
BackupsGET/POST /backups, GET download, POST restore, DELETE /backups/:id

Para matriz detalhada de permissao por perfil, consulte especificacao.md.

11. Notificacoes e email

  • Notificacoes internas sao geradas manualmente e automaticamente.
  • Email SMTP configurado por admin em /notifications/email-settings.
  • Eventos comutaveis: geral, financeiro, cursos, moderacao, suporte e forum.
  • Teste de SMTP: POST /notifications/email-settings/test.

12. Uploads

Upload autenticado via POST /uploads. Arquivos sao salvos em uploads/ e servidos em /uploads.

13. Observabilidade e backup

  • GET /api/health para health check.
  • GET /api/dashboard/admin/system-overview para panorama de sistema.
  • Modulo de backup com criacao, download, restauracao e exclusao de snapshots.

14. Fluxos operacionais

Fluxos principais documentados em fluxos.md:

  • Arquitetura geral.
  • Autenticacao.
  • Documentacao e liberacao de acesso.
  • Financeiro e repasse.
  • Certificados.
  • Notificacao e email.

15. Creditos

Desenvolvido por: Adriano Sena Dev

Parceria: 4Server Tecnologia

Gerente de Projeto: Melque Sousa

🌙 Tema escuro