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
Build and Deploy (Gitea) / build-and-deploy (push) Successful in 50s
Details
This commit is contained in:
parent
844796e404
commit
a8f439c1cd
35
gemini.md
35
gemini.md
|
|
@ -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:
|
||||
```
|
||||
|
||||
---
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Reference in New Issue