Docs

01 — Arquitetura e Stack

Visão de alto nível do monorepo. Oferta do produto: ../empresa/. APIs: 04-api-integrations.

Princípio

Lógica de negócio no service; UIs por audiência; conteúdo público no website; persistência via PostgreSQL + Hasura; Redis para estado volátil.

Apps

AppStackAudiênciaDomínio prod
apps/serviceNestJSAPI RESTservice.vectorgen.ai
apps/appReact + Vite + TanStack Router + ApolloClienteapp.vectorgen.ai
apps/backofficeReact + Vite + TanStack Router + ApolloAdmin internobackoffice.vectorgen.ai
apps/websiteNext.jsLanding / SEOvectorgen.ai
apps/hasuraHasura + PostgreSQLGraphQL / permissionsapi.vectorgen.ai
apps/pgbouncerPgBouncerPool de conexões(infra Docker)

Stack

CamadaTecnologia
FrontendReact, Vite, Tailwind, shadcn/ui, TanStack Router
BackendNestJS (REST API)
DBPostgreSQL + PgBouncer
GraphQLHasura
CacheRedis
InfraDocker Compose, Dokploy

Fluxo de dados

Browser (app | backoffice | website)
    → service (REST)
    → Hasura → PgBouncer → PostgreSQL
    → Redis (TTL)
    → Integrações externas

Hasura usa PgBouncer na porta 6432 (transaction mode; use_prepared_statements: false). Postgres admin/migrations: 5432 local, 5439 em prod.

Backoffice não tem backend próprio: SPA + auth client=backoffice + endpoints /admin/* no mesmo apps/service.

Fronteiras

  • Regras de negócio críticas no service, não só no client
  • Hasura: permissions e queries; regras complexas no service
  • Help docs in-app: apps/app/public/docs/

Links