How jonatassvs/automatic-digital-marketing-saas-pi-2 works
O produto é um construtor de landing pages: usuários criam páginas no dashboard, editam uma árvore de componentes e podem visualizá-la; o README ressalta que a edição atual é apenas em memória e não persiste pela API. O backend oferece autenticação, persistência, publicação em JSON, SEO, analytics e configuração de GTM. As setas abaixo seguem chamadas mostradas nos trechos, referências do índice de fontes e capacidades documentadas; partes não amostradas não permitem detalhar todo o roteamento.
Main entry points: application.ts Composição da aplicação · usePageEditorState.ts Estado e árvore · ComponentRenderer.tsx Renderizador de componentes · page.service.ts Páginas e publicação
Components 26
Interface e edição
- Dashboard
app/dashboard/page.tsx - Tela do editor
app/editor/[pageId]/page.tsx - Estado e árvore
components/editor/PageEditor/usePageEditorState.ts - Contexto de autenticação
components/auth/AuthContext.tsx - Cliente API
services/api.ts - Página publicada
app/p/[slug]/page.tsx - Pré-visualização
app/preview/[pageId]/page.tsx
Modelo e renderização
- Documento de página
types/page.ts - Renderizador de componentes
renderer/ComponentRenderer.tsx - Schemas de componentes
renderer/schemas/componentSchemas.ts - Validação de página
renderer/validation.ts
API e aplicação
- Route handlers
app/api/pages/route.ts - Middleware de rotas
server/middleware/route.ts - Composição da aplicação
server/application.ts - Controlador de páginas
server/controllers/page.controller.ts
Serviços de domínio
- Autenticação
server/services/auth.service.ts - Páginas e publicação
server/services/page.service.ts - SEO
server/services/seo.service.ts - Analytics
server/services/analytics.service.ts - Integrações GTM
server/services/integration.service.ts
Persistência
- MongoDB
server/repositories/database.ts - Repositório de páginas
server/repositories/page.repository.ts - Repositório de usuários
server/repositories/user.repository.ts - Repositório de eventos
server/repositories/event.repository.ts
Other components
- Visitante
- Usuário editor
Connections 34
- Usuário editor → Dashboard: gerencia páginas
app/dashboard/page.tsx - Dashboard → Contexto de autenticação: consulta sessão
app/dashboard/page.tsx - Dashboard → Cliente API: usa cliente
app/dashboard/page.tsx - Usuário editor → Tela do editor: edita página
app/editor/[pageId]/page.tsx - Tela do editor → Estado e árvore: monta editor
app/editor/[pageId]/page.tsx - Estado e árvore → Documento de página: atualiza estado
components/editor/PageEditor/usePageEditorState.ts - Estado e árvore → Schemas de componentes: consulta schemas
components/editor/PageEditor/usePageEditorState.ts - Estado e árvore → Validação de página: valida árvore
components/editor/PageEditor/usePageEditorState.ts - Contexto de autenticação → Cliente API: chama autenticação
components/auth/AuthContext.tsx - Visitante → Página publicada: abre slug
app/p/[slug]/page.tsx - Página publicada → Composição da aplicação: busca página
app/p/[slug]/page.tsx - Página publicada → Renderizador de componentes: renderiza página
app/p/[slug]/page.tsx - Pré-visualização → Renderizador de componentes: renderiza prévia
app/preview/[pageId]/page.tsx - Renderizador de componentes → Documento de página: consome modelo
renderer/ComponentRenderer.tsx - Renderizador de componentes → Schemas de componentes: consulta schemas
renderer/ComponentRenderer.tsx - Cliente API → Route handlers: envia requisições
- Route handlers → Middleware de rotas: envolve handler
app/api/pages/route.ts - Middleware de rotas → Composição da aplicação: obtém aplicação
server/middleware/route.ts - Composição da aplicação → Controlador de páginas: compõe controlador
server/application.ts - Composição da aplicação → Autenticação: compõe serviço
server/application.ts - Composição da aplicação → Páginas e publicação: compõe serviço
server/application.ts - Composição da aplicação → Analytics: compõe serviço
server/application.ts - Composição da aplicação → Integrações GTM: compõe serviço
server/application.ts - Controlador de páginas → Páginas e publicação: encaminha operações
server/controllers/page.controller.ts - Controlador de páginas → SEO: analisa SEO
server/controllers/page.controller.ts - Páginas e publicação → Repositório de páginas: persiste páginas
server/services/page.service.ts - Autenticação → Repositório de usuários: persiste usuários
server/services/auth.service.ts - Composição da aplicação → MongoDB: obtém conexão
server/application.ts - Repositório de páginas → MongoDB: usa MongoDB
server/repositories/database.ts - Repositório de usuários → MongoDB: usa MongoDB
server/repositories/database.ts - Repositório de eventos → MongoDB: usa MongoDB
server/application.ts - Visitante → Analytics: gera eventos
README.md - Páginas e publicação → Documento de página: publica JSON
README.md - Integrações GTM → Documento de página: configura GTM
README.md