diff --git a/gemini.md b/gemini.md index 8240867..e3ceda0 100644 --- a/gemini.md +++ b/gemini.md @@ -21,6 +21,7 @@ O sistema realiza o roteamento automático do frontend via `src/Root.tsx`: Para evitar conflitos com outros bancos de dados ativos na VPS (como o PostgreSQL do AgendaPRO na porta `5432`), o MicrotecFlix utiliza uma instância isolada e dedicada de PostgreSQL: +* **Tecnologia ORM**: Prisma ORM (`prisma/schema.prisma`), que governa 100% da persistência de dados. O backend (`server-prisma.ts`) está inteiramente refatorado, sem utilizar mais arquivos `db.json` e nem funções locais (como `loadDb()`). Todas as alterações agora salvam em tabelas. * **Container**: `postgres-microtecflix` * **Imagem**: `postgres:16-alpine` * **Porta Host**: `5435:5432` (evita colisão com a porta 5432 original) diff --git a/memory.md b/memory.md index 6d3af68..971aa59 100644 --- a/memory.md +++ b/memory.md @@ -27,14 +27,21 @@ O **MicrotecFlix** é uma plataforma EAD / Streaming de cursos de informática e ## 2. Esquema de Entidades (`prisma/schema.prisma` / PostgreSQL) +Todo o sistema foi **100% migrado para o PostgreSQL** utilizando o **Prisma ORM**. O antigo arquivo `db.json` e a função genérica `loadDb()` foram completamente descartados e removidos da base de código backend (`server-prisma.ts`). + 1. **`User`**: Usuários da plataforma (`admin` ou `student`) com status de assinatura (`ACTIVE`, `OVERDUE`, `CANCELED`, `TRIAL`). -2. **`Course`**: Cursos cadastrados com título, descrição, thumbnail, categoria e preço. +2. **`Course`**: Cursos cadastrados com título, descrição, thumbnail, categoria e preço avulso/bloqueio. 3. **`Module`**: Módulos organizados sequencialmente por curso. 4. **`Lesson`**: Aulas vinculadas ao módulo com URL de vídeo (`youtube` ou `direct`) e conteúdo complementar. 5. **`Note`**: Anotações pessoais feitas pelos alunos por aula. 6. **`Progress`**: Histórico de progresso do aluno por aula (% assistida e `completed`). -7. **`Payment`**: Histórico de faturas e cobranças registradas no gateway de pagamentos. +7. **`Payment` (SubscriptionPayment)**: Histórico de faturas e cobranças registradas no gateway de pagamentos, linkado a usuários, cursos e planos. 8. **`WebhookLog`**: Registro auditável de webhooks recebidos do Asaas. +9. **`ModuleActivity` / `ModuleGrade`**: Questionários/Múltipla escolha e pontuações dos alunos, substituindo a antiga matriz JSON de atividades. +10. **`Certificate`**: Certificados ganhos pelos alunos (por Módulo ou por Curso) gerados automaticamente. +11. **`Plan`**: Planos de assinatura (Combos vitálcios, Assinaturas Mensais, Anuais). +12. **`Notification`**: Alertas e avisos aos usuários, gerenciados em tabela relacional em tempo real. +13. **`SystemSettings`**: Configurações dinâmicas do sistema, chaves do Asaas e texto de ajuda. ---