4.3 KiB
4.3 KiB
MicrotecFlix - Registro de Modificações e Guia de Deploy
Este arquivo documenta a estrutura completa, configurações de domínio, banco de dados PostgreSQL e procedimento de deploy do projeto MicrotecFlix (Plataforma de Cursos e Assinaturas estilo Netflix).
1. Mapeamento de Domínios Oficiais
- Painel do Aluno:
estudo.microtecinformaticacurso.com.br - Painel do Administrador:
admin-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 oAdminApp.tsx. - Para as demais URLs (
estudo.microtecinformaticacurso.com.br), o sistema renderiza oApp.tsx(Painel do Aluno).
2. Arquitetura do Banco de Dados PostgreSQL (Dedicado)
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:
- Container:
postgres-microtecflix - Imagem:
postgres:16-alpine - Porta Host:
5435:5432(evita colisão com a porta 5432 original) - Database:
microtecflix - Usuário:
microtecflix_user - Senha:
MicrotecFlixSecurePass2026! - Volume:
pgdata-microtecflix
3. Usuários de Teste Mantidos (Seed Data)
Os dados de acesso para ambiente de testes foram preservados:
| Papel | Senha | Descrição | |
|---|---|---|---|
| Admin | sidney.gomes1989@gmail.com |
admin123 |
Acesso total ao painel administrativo |
| Aluno | aluno@microtecflix.com |
aluno123 |
Aluno ativo em ambiente de testes |
| Aluno | joao@microtecflix.com |
aluno123 |
Aluno com curso de Excel liberado |
| Aluno | maria@microtecflix.com |
aluno123 |
Aluna ativa |
| Aluno | pedro@microtecflix.com |
aluno123 |
Aluno com mensalidade em atraso (Overdue) |
| Aluno | ana@microtecflix.com |
aluno123 |
Aluna com assinatura cancelada |
4. Estrutura de Docker & Deployment no Portainer
O arquivo docker-stack.yml está pré-configurado para implantação no Docker Swarm com Portainer e Traefik:
version: '3.8'
services:
postgres-microtecflix:
image: postgres:16-alpine
restart: always
environment:
POSTGRES_DB: microtecflix
POSTGRES_USER: microtecflix_user
POSTGRES_PASSWORD: MicrotecFlixSecurePass2026!
ports:
- "5435:5432"
volumes:
- pgdata-microtecflix:/var/lib/postgresql/data
networks:
- microtecflix-net
microtecflix:
image: microtecflix-app:local
restart: always
depends_on:
- postgres-microtecflix
environment:
- NODE_ENV=production
- PORT=3000
- DATABASE_URL=postgresql://microtecflix_user:MicrotecFlixSecurePass2026!@postgres-microtecflix:5432/microtecflix
- JWT_SECRET=microtecflix_jwt_secret_key_2026_super_secure
- ASAAS_ENVIRONMENT=sandbox
networks:
- microtecflix-net
- network_public
deploy:
replicas: 1
labels:
- "traefik.enable=true"
- "traefik.http.routers.microtecflix-student.rule=Host(`estudo.microtecinformaticacurso.com.br`)"
- "traefik.http.routers.microtecflix-student.entrypoints=websecure"
- "traefik.http.routers.microtecflix-student.tls.certresolver=leresolver"
- "traefik.http.services.microtecflix-student.loadbalancer.server.port=3000"
- "traefik.http.routers.microtecflix-admin.rule=Host(`admin-estudo.microtecinformaticacurso.com.br`)"
- "traefik.http.routers.microtecflix-admin.entrypoints=websecure"
- "traefik.http.routers.microtecflix-admin.tls.certresolver=leresolver"
- "traefik.http.services.microtecflix-admin.loadbalancer.server.port=3000"
- "traefik.docker.network=network_public"
5. Instruções para envio ao Gitea
Repositório no Gitea: https://gitea.microtecinformaticacurso.com.br/sidney/microtecflix.git
Passos executados:
git initgit checkout -b maingit remote add origin https://gitea.microtecinformaticacurso.com.br/sidney/microtecflix.gitgit add .git commit -m "Configuracao completa MicrotecFlix para deploy no Docker Swarm via Portainer"git push -u origin main