3.0 KiB
3.0 KiB
Contexto de Memória e Arquitetura - MicrotecFlix
Este arquivo registra o contexto de desenvolvimento, arquitetura, esquema de dados e regras de negócio da plataforma MicrotecFlix.
1. Visão Geral do Sistema
O MicrotecFlix é uma plataforma EAD / Streaming de cursos de informática e negócios baseada em assinaturas recorrentes com integração ao gateway de pagamentos Asaas.
Funcionalidades do Aluno (App.tsx):
- Catálogo de Cursos (Windows 11, Word, Excel, PowerPoint).
- Player de Vídeo com aulas em streaming (YouTube ou links diretos MP4).
- Progresso de aula (porcentagem assistida e status de conclusão).
- Bloco de anotações por aula.
- Assinatura e checkout integrado via Pix, Boleto e Cartão de Crédito.
Funcionalidades do Administrador (AdminApp.tsx):
- Dashboard com métricas financeiras (MRR, Receita Total, Taxa de Inadimplência, Alunos Ativos).
- CRUD de Cursos, Módulos e Aulas.
- Gestão de Alunos e alteração manual de status de assinatura (
ACTIVE,OVERDUE,CANCELED,TRIAL). - Visualização do histórico de Webhooks do Asaas.
2. Esquema de Entidades (prisma/schema.prisma / PostgreSQL)
User: Usuários da plataforma (adminoustudent) com status de assinatura (ACTIVE,OVERDUE,CANCELED,TRIAL).Course: Cursos cadastrados com título, descrição, thumbnail, categoria e preço.Module: Módulos organizados sequencialmente por curso.Lesson: Aulas vinculadas ao módulo com URL de vídeo (youtubeoudirect) e conteúdo complementar.Note: Anotações pessoais feitas pelos alunos por aula.Progress: Histórico de progresso do aluno por aula (% assistida ecompleted).Payment: Histórico de faturas e cobranças registradas no gateway de pagamentos.WebhookLog: Registro auditável de webhooks recebidos do Asaas.
3. Infraestrutura & Portainer / Swarm
- Rede Traefik Public:
network_public - Rede Interna App-DB:
microtecflix-net(Overlay) - Containers na Stack:
postgres-microtecflix(Porta externa5435:5432)microtecflix(Porta interna3000, exposto via Traefik HTTPS)
- Domínios Mapeados:
estudo.microtecinformaticacurso.com.br-> Alunoadmin-estudo.microtecinformaticacurso.com.br-> Admin
4. Diretrizes para Futuras Edições
- Preservação da Autenticação JWT: O token JWT é armazenado em
localStoragesob a chavemicrotecflix_token. Qualquer nova rota de API restrita deve utilizar o middlewareauthenticateToken. - Isolamento de Banco de Dados: O container
postgres-microtecflixroda na porta 5435 do host para garantir que não haja conflitos de porta com o banco PostgreSQL de outros projetos (ex: AgendaPRO na porta 5432). - Deploy: O arquivo
docker-stack.ymldeve ser atualizado sempre que novas variáveis de ambiente ou volumes forem necessários para a stack do Portainer.