Industry es una plataforma de automatización de procesos orientada a organizaciones legales. Combina Go en el backend con Next.js en el frontend para ofrecer flujos de trabajo configurables, generación de documentos PDF, firmas digitales y presentaciones ante organismos regulatorios, con aislamiento de datos por inquilino mediante Row-Level Security en PostgreSQL.
Características principales
- Gestión de flujos de trabajo (Flows): definición visual de procesos con pasos ordenados y versionado de cada flujo.
- Generación de documentos: plantillas almacenadas en S3/MinIO con sustitución de variables y renderizado a PDF mediante Gotenberg.
- Integración con IA: prompts LLM configurables por paso (extracción, generación, anotación, validación) usando Claude por defecto.
- Multi-tenant con RLS: cada organización opera en su propio silo de datos garantizado a nivel de PostgreSQL.
- Roles y permisos granulares: owner, admin, worker y client con permisos detallados.
- Modelos de precios flexibles: fijo, gratuito, comisión por éxito o híbrido.
Stack tecnológico
- Backend: Go 1.23, Chi router, pgx v5, Temporal (workflows)
- Frontend: Next.js 15, React 19, Zustand, Tailwind CSS
- Base de datos: PostgreSQL 16 con Row-Level Security
- Almacenamiento: MinIO (compatible con S3)
- PDF: Gotenberg | Caché: Redis 7
Arquitectura de la solicitud
HTTP Request → Auth (JWT) → Extract tenant_id → TenantRLS middleware
↓
SET LOCAL app.current_tenant = UUID
↓
Handler → Service → Repository → DB
Puesta en marcha
git clone https://github.com/sergiocantero/industry.git
cd industry && make setup
cp .env.example .env
make dev # PostgreSQL, Redis, Temporal, MinIO, Gotenberg
make db-migrate-up
make dev-api # http://localhost:8000
make dev-frontend # http://localhost:3000