Relatório Técnico Consolidado de Desenvolvimento
Status em: 06 de Novembro de 2025
Este documento consolida o progresso técnico e funcional da plataforma STNB desde o seu início, refletindo o estado atual do desenvolvimento.
Fase 1: Arquitetura e Fundação (Ago 2025)
Nesta fase, definimos a espinha dorsal do projeto para garantir escalabilidade e produtividade.
- Stack: Definida (Laravel 12, Vue.js 3, Inertia.js, MySQL 8, Tailwind CSS).
- Ambiente: Padronizado com Docker (Laravel Sail) sobre WSL2.
- Banco de Dados (Core): Implementadas tabelas `users`, `roles`, `programs`, `courses`, `lessons`, `enrollments` e `poles`.
- Lógica de Negócio (Planejamento): Desenhada a arquitetura para suportar modalidades híbridas (EAD vs. Polo), fluxo de convalidação e modelo financeiro B2C/B2B.
Fase 2: Gestão de Conteúdo e Avaliação (Fim de Ago 2025)
Construímos o back-office completo para a administração acadêmica.
- Gestão de Programas: CRUD completo com associação (Muitos-para-Muitos) de disciplinas.
- Gestão de Disciplinas: CRUD centralizado para gerir Semanas, Aulas (vídeo, texto, PDF) e Atividades.
- Motor de Avaliações: Implementado o "Construtor de Quizzes" (Admin/Activities/Edit.vue) com tabelas `activities`, `questions`, e `question_options`, permitindo a criação de questões de múltiplos tipos.
Fase 3: Matrícula e Pagamento (Início de Set 2025)
Implementamos o fluxo público completo, desde a captação do lead até a conversão financeira.
- Inscrição Pública: Criado o `ApplicationForm.vue` (substituindo /register) com lógica condicional e upload de documentos para MinIO (S3).
- Painel da Secretaria: Desenvolvida a interface `Admin/Applications` para aprovar/rejeitar inscrições.
- Integração Asaas (v1): Na aprovação, o sistema cria um `Customer` no Asaas e gera a taxa de matrícula.
- Webhook (N8N): Configurado o pipeline Asaas -> N8N -> Laravel para confirmar pagamentos e ativar alunos (status `pending_payment` para `active`).
Fase 4: Percurso Acadêmico e Convalidação (Meio de Set 2025)
Com o aluno na base, construímos sua jornada acadêmica e os fluxos de secretaria.
- Fluxo de Convalidação: Criadas as interfaces para o Aluno (solicitar com múltiplos documentos) e Admin (aprovar/rejeitar com justificativa).
- Geração do Percurso: Na aprovação da matrícula, o sistema agora gera a grade curricular do aluno nas tabelas `program_user` e `course_user`.
- Gestão do Percurso (Admin): Implementada a interface `Admin/ProgramStudentController` com reordenação "arrastar e soltar" da grade do aluno.
- Dashboard do Aluno (v1): Criado o `Student/Dashboard` que exibe apenas disciplinas "Liberadas" com base na ordem do percurso.
- Player de Vídeo Seguro: Implementado o `VideoPlayer.vue` (usando Plyr.io) que mascara a URL do YouTube e rastreia o tempo.
- Sistema de Progresso (v1): O `Student/ProgressController` salva o tempo assistido e a conclusão manual da aula.
Fase 5: Gestão de Faturamento e Usuários (Fim de Set 2025)
Iniciamos a construção das ferramentas de gestão de usuários e do faturamento B2B (Polos).
- CRUD de Usuários (Backend): Implementado o `Admin/UserController` com rotas e links de menu prontos para a interface.
- Faturamento de Polos (Backend): Criado o comando `GeneratePoloInvoices` e as regras (`PoloModalityRuleController`) para faturamento B2B.
Fase 6: Fluxo de Atividades e Integração Asaas (Início de Out 2025)
Finalizamos o ciclo de avaliação do aluno e o ciclo financeiro dos Polos.
- Atividades do Aluno (UX): Implementado o cronômetro, auto-save, múltiplas tentativas e feedback pós-correção.
- Correção Manual (Admin): Criada a tela "Correções Pendentes" para o professor avaliar questões dissertativas e de anexo (com download do MinIO).
- Faturamento de Polos (Fluxo): Implementado o "snapshot" (`polo_invoice_roster`), o "Diff Check" para atualizações, e o fluxo de aprovação (Draft -> Confirmed) pelo Sec. de Polo.
- Integração Asaas (v2): O perfil "Financeiro" agora pode gerar a cobrança (Boleto) para o Polo no Asaas e o sistema recebe a conciliação via Webhook (`status` -> `paid`).
Fase 7: Refatoração do Fluxo de Matrícula (Fim de Out 2025)
Substituímos o fluxo público por um fluxo interno de "Convite", mais alinhado às necessidades do Polo.
- Fluxo "Convite Primeiro": Secretários (Admin/Polo) agora convidam alunos (`User` com status `invited`).
- Ciclo de Correção da Ficha: O aluno preenche a ficha (`Student/Application/Show.vue`). Se o admin rejeitar, o aluno é notificado e pode corrigir os dados.
- Múltiplas Matrículas: Admin pode matricular um aluno existente em um novo programa, gerando uma nova ficha `draft`.
- Gestão de Turmas (Polo): Corrigidos bugs para que alunos (Presencial/Semi) caiam em `awaiting_placement` e apareçam corretamente no dashboard do Polo para alocação.
- Seeder Acadêmico: Criado o `AcademicStructureSeeder` para popular 4 anos de conteúdo (Programas, Disciplinas, Aulas) com base nos .docx.
- Sorteio de Questões e Tentativas: Implementada e validada a lógica de `questions_to_show` e `max_attempts` no fluxo do aluno.
Fase 8: UX de Aluno e Dashboard Financeiro (Início de Nov 2025)
Refinamos a experiência do aluno e construímos a visão central do financeiro.
- Portal do Aluno (UX de Elite):
- Refatoração de Rotas: Rotas do aluno agora incluem o ID da Turma, permitindo datas de vencimento corretas.
- Regra de Visibilidade: Disciplinas de Polo sem datas definidas agora ficam ocultas no painel.
- Calendário Dropdown: Implementado `v-calendar` no menu com datas de vencimento de aulas e atividades.
- Anotações (WYSIWYG): Implementado editor `vue-quill` com auto-save (debounce) por aula.
- Alertas de Vencimento: Adicionados alertas visuais (ícones, cores) no dashboard e na barra lateral da aula.
- Portal Financeiro (Admin):
- Dashboard Financeiro: Criado o `FinancialDashboardController` e a view `Admin/Financial/Dashboard.vue`.
- Lógica: O controller calcula estatísticas (Pago, Pendente) e lista faturas (`PoloInvoice`).
- Acesso: Corrigido o login para redirecionar o perfil 'Financeiro' para este novo dashboard.
Fase 9: Módulos de Relatórios (Trabalho Atual - Nov 2025)
Com os dados estruturados, iniciamos a construção dos módulos de Business Intelligence.
- Relatório Financeiro: Implementado o `FinancialReportController` para gerar o relatório de "Faturamento por Polo" com filtros de data.
- Exportação CSV: Adicionada funcionalidade de exportação CSV (formatada para pt-BR) ao Relatório Financeiro.
- Relatório Acadêmico (Drill-Down): Implementado o `AcademicReportController` com um fluxo de drill-down interativo em 3 níveis:
- Nível 1: Progresso Médio de todas as Turmas (`academic.reports.index`).
- Nível 2: Lista de Alunos de uma Turma (`academic.reports.show-turma`).
- Nível 3: Boletim detalhado de um Aluno na Turma (`academic.reports.show-student`).
🧭 Próximos Passos (Planejados)
O foco agora é finalizar as features de UX e expandir os relatórios.
- Refinamento do Módulo de Anotações: Expandir o sistema "Minhas Anotações" para que funcione também para Atividades (activity).
- Página de Calendário Completa: Criar a página `Student/Calendar/Index.vue` para exibir o calendário em tela cheia (melhoria para mobile).
- Módulo de Relatórios (Expansão): Continuar a construir relatórios Acadêmicos (Taxas de Aprovação) e Financeiros (Inadimplência).