Este sitio web es un proyecto open-source y cualquier persona puede contribuir al desarrollo. En esta página encontrás todo lo que necesitás saber: el stack tecnológico, la arquitectura del proyecto, las convenciones de trabajo y cómo empezar.
El proyecto sigue las convenciones del App Router de Next.js. Cada capa tiene una responsabilidad clara:
App Router & páginas
src/app — rutas organizadas en grupos (platform), autenticacion y api usando el App Router de Next.js
Server actions
src/actions — lógica de servidor agrupada por dominio: auth, events, talks, testimonials, users y más
Base de datos
Prisma ORM sobre PostgreSQL; esquema en prisma/schema.prisma con más de 50 migraciones versionadas
Validación
Zod — schemas en src/schemas, reutilizados tanto en forms del cliente como en server actions
Componentes & UI
src/components — componentes React agrupados por feature; src/components/ui contiene la librería shadcn/ui
Utilidades
src/lib — funciones compartidas: Prisma client, S3, email, utils y validaciones reutilizables
Deploy
Kamal vía GitHub Actions — cada push a main dispara un deploy automático a producción
También usamos shadcn/ui para los componentes de interfaz.
Frontend
Backend & datos
Testing & calidad
Infraestructura & dev
¿Querés conocer más herramientas del ecosistema? Explorá el catálogo completo →
Flujo de Git
Trabajá en tu propia branch y abrí una PR hacia testing. Nunca se hacen cambios directos en main ni testing. Una vez aprobada la PR, el equipo mergea testing a main.
Título de la PR
El formato es: [ID del ticket de Notion] - Título del ticket en Notion.
pnpm es obligatorio
Este proyecto usa pnpm como package manager. No uses npm ni yarn — el proyecto está configurado para pnpm@9.4.0.
Pre-commit
Prettier formatea automáticamente los archivos modificados vía lint-staged. No necesitás formatearlo a mano.
Pre-push
Antes de pushear, Husky corre pnpm lint, pnpm format:check, pnpm test y pnpm build. Todos deben pasar.
Tests unitarios (Jest)
Más de 70 tests colocalizados junto a los server actions (*.test.ts). Se ejecutan con pnpm test o en modo watch con pnpm test:watch.
Tests E2E (Playwright)
Tests end-to-end en tests/ que corren en Chromium, Firefox y WebKit. Se ejecutan con npx playwright test.
Calidad automatizada
El hook pre-push de Husky ejecuta lint, format check, tests y build antes de cada push. No se puede pushear código que rompa alguno de estos checks.
Revisá el repositorio, elegí un issue que te interese, o proponé una mejora. Toda contribución es bienvenida.