microtecflix/gemini.md

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 o AdminApp.tsx.
  • Para as demais URLs (estudo.microtecinformaticacurso.com.br), o sistema renderiza o App.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 E-mail 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:

  1. git init
  2. git checkout -b main
  3. git remote add origin https://gitea.microtecinformaticacurso.com.br/sidney/microtecflix.git
  4. git add .
  5. git commit -m "Configuracao completa MicrotecFlix para deploy no Docker Swarm via Portainer"
  6. git push -u origin main