Saltar a contenido

Estructura del Monorepo

El codigo de Vertivo vive en un unico monorepo gestionado con Turborepo y pnpm workspaces. Esta estructura permite compartir codigo, coordinar builds y mantener consistencia entre todos los proyectos.

Arbol de directorios

monorepo/
  apps/
    vertivo_server/       # Backend Serverpod (Dart)
    vertivo_client/       # Cliente generado por Serverpod (Dart)
    vertivo_flutter/      # App movil Flutter
    widgetbook/           # Catalogo de componentes UI
    raspberry/            # Software del Raspberry Pi (Python)
  packages/
    vertivo_models/       # Modelos compartidos
    design_tokens/        # Tokens de diseno (JSON -> Dart)
  docs/                   # Sitio de documentacion (Fumadocs)
  k8s/                    # Manifiestos de Kubernetes
    base/                 # Configuracion base de Kustomize
    overlays/             # Overlays por entorno
    argocd/               # Aplicaciones de ArgoCD
  Makefile                # Scripts de automatizacion
  turbo.json              # Configuracion de Turborepo
  pnpm-workspace.yaml     # Definicion de workspaces
  package.json            # Root package

Turborepo

Turborepo orquesta las tareas del monorepo (build, test, lint, generate) con caching inteligente y ejecucion paralela. La configuracion se define en turbo.json en la raiz del proyecto.

pnpm Workspaces

pnpm gestiona las dependencias de Node.js y define los workspaces en pnpm-workspace.yaml. Esto incluye el sitio de documentacion y cualquier tooling basado en Node.js.

Makefile

El Makefile en la raiz expone los comandos de alto nivel mas usados: bootstrap-dev, generate, test, deploy-dev, entre otros. Es el punto de entrada principal para interactuar con el monorepo.