docs: update memory and gemini rules with MinIO, Profile Edit and CPFs logic
Build and Deploy (Gitea) / build-and-deploy (push) Successful in 50s Details

This commit is contained in:
Sidney Gomes 2026-07-21 20:30:16 -03:00
parent 844796e404
commit a8f439c1cd
2 changed files with 41 additions and 1 deletions

View File

@ -8,6 +8,8 @@ Este arquivo documenta a estrutura completa, configurações de domínio, banco
* **Painel do Aluno**: `estudo.microtecinformaticacurso.com.br`
* **Painel do Administrador**: `admin-estudo.microtecinformaticacurso.com.br`
* **Armazenamento S3 (MinIO API)**: `s3-estudo.microtecinformaticacurso.com.br`
* **Painel do MinIO (Admin)**: `minio-estudo.microtecinformaticacurso.com.br`
O sistema realiza o roteamento automático do frontend via `src/Root.tsx`:
* Quando a URL acessada contém a palavra `admin` (`admin-estudo.microtecinformaticacurso.com.br`), o sistema renderiza o `AdminApp.tsx`.
@ -42,6 +44,8 @@ Os dados de acesso para ambiente de testes foram preservados:
| **Aluno** | `pedro@microtecflix.com` | `aluno123` | Aluno com mensalidade em atraso (Overdue) |
| **Aluno** | `ana@microtecflix.com` | `aluno123` | Aluna com assinatura cancelada |
*Nota: No ambiente Sandbox do Asaas, CPFs/CNPJs estruturalmente inválidos (como `111.111.111-11`) são bloqueados na criação de cobranças Pix. Os usuários de teste (`cus_test`) foram configurados com CPFs matematicamente válidos.*
---
## 4. Estrutura de Docker & Deployment no Portainer
@ -66,11 +70,38 @@ services:
networks:
- microtecflix-net
minio-microtecflix:
image: minio/minio:latest
restart: always
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: microtecflix_admin
MINIO_ROOT_PASSWORD: MicrotecFlixS3SecurePass2026!
volumes:
- minio-data-microtecflix:/data
networks:
- microtecflix-net
- network_public
deploy:
replicas: 1
labels:
- "traefik.enable=true"
- "traefik.http.routers.microtecflix-s3.rule=Host(`s3-estudo.microtecinformaticacurso.com.br`)"
- "traefik.http.routers.microtecflix-s3.entrypoints=websecure"
- "traefik.http.routers.microtecflix-s3.tls.certresolver=leresolver"
- "traefik.http.services.microtecflix-s3.loadbalancer.server.port=9000"
- "traefik.http.routers.microtecflix-minio.rule=Host(`minio-estudo.microtecinformaticacurso.com.br`)"
- "traefik.http.routers.microtecflix-minio.entrypoints=websecure"
- "traefik.http.routers.microtecflix-minio.tls.certresolver=leresolver"
- "traefik.http.services.microtecflix-minio.loadbalancer.server.port=9001"
- "traefik.docker.network=network_public"
microtecflix:
image: microtecflix-app:local
restart: always
depends_on:
- postgres-microtecflix
- minio-microtecflix
environment:
- NODE_ENV=production
- PORT=3000
@ -93,6 +124,10 @@ services:
- "traefik.http.routers.microtecflix-admin.tls.certresolver=leresolver"
- "traefik.http.services.microtecflix-admin.loadbalancer.server.port=3000"
- "traefik.docker.network=network_public"
volumes:
pgdata-microtecflix:
minio-data-microtecflix:
```
---

View File

@ -14,6 +14,8 @@ O **MicrotecFlix** é uma plataforma EAD / Streaming de cursos de informática e
* 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.
* Perfil Dinâmico: Edição de dados pessoais (Nome, Data de Nascimento, WhatsApp).
* Upload de Avatar: Integração com armazenamento S3 (MinIO) para hospedar fotos de perfil.
### Funcionalidades do Administrador (`AdminApp.tsx`):
* Dashboard com métricas financeiras (MRR, Receita Total, Taxa de Inadimplência, Alunos Ativos).
@ -42,15 +44,18 @@ O **MicrotecFlix** é uma plataforma EAD / Streaming de cursos de informática e
* **Rede Interna App-DB**: `microtecflix-net` (Overlay)
* **Containers na Stack**:
* `postgres-microtecflix` (Porta externa `5435:5432`)
* `minio-microtecflix` (Porta 9000 para API S3 e 9001 para Web Console)
* `microtecflix` (Porta interna `3000`, exposto via Traefik HTTPS)
* **Domínios Mapeados**:
* `estudo.microtecinformaticacurso.com.br` -> Aluno
* `admin-estudo.microtecinformaticacurso.com.br` -> Admin
* `s3-estudo.microtecinformaticacurso.com.br` -> Bucket S3 (API Público/Uploads)
* `minio-estudo.microtecinformaticacurso.com.br` -> Console de Gerenciamento MinIO
---
## 4. Diretrizes para Futuras Edições
1. **Preservação da Autenticação JWT**: O token JWT é armazenado em `localStorage` sob a chave `microtecflix_token`. Qualquer nova rota de API restrita deve utilizar o middleware `authenticateToken`.
1. **Preservação da Autenticação JWT**: O token JWT é armazenado em `localStorage` sob a chave `devflix_token`. Qualquer nova rota de API restrita deve utilizar o middleware `authenticateToken`.
2. **Isolamento de Banco de Dados**: O container `postgres-microtecflix` roda 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).
3. **Deploy**: O arquivo `docker-stack.yml` deve ser atualizado sempre que novas variáveis de ambiente ou volumes forem necessários para a stack do Portainer.