Un starter kit completo para aplicaciones NextJS con autenticación OTP, gestión de workspaces y panel de administración.
- Sistema OTP por email - Sin contraseñas, solo códigos de 6 dígitos
- NextAuth.js v5 - Autenticación moderna y segura
- Onboarding - Proceso de configuración inicial para nuevos usuarios
- Perfil de usuario - Gestión de perfil con subida de imágenes
- Workspaces colaborativos - Espacios de trabajo para equipos
- Roles granulares - Admin y Miembro por workspace
- Sistema de invitaciones - Invita usuarios existentes o nuevos por email
- Gestión de miembros - CRUD completo con cambio de roles
- Dashboard con métricas - Usuarios, workspaces, invitaciones pendientes
- Gestión de usuarios - CRUD completo con roles del sistema
- Gestión de workspaces - Administración centralizada
- Superadmin - Acceso total al sistema
- Dark mode completo - Soporte para temas claro, oscuro y sistema
- shadcn/ui - Componentes modernos y accesibles
- Tailwind CSS v4 - Estilos utilitarios de última generación
- Responsive design - Funciona en desktop, tablet y móvil
- Framework: Next.js 15 (App Router)
- Base de datos: PostgreSQL (Neon)
- ORM: Prisma
- Autenticación: NextAuth.js v5
- UI: shadcn/ui + Tailwind CSS v4
- Email: React Email + Resend
- Storage: Vercel Blob (imágenes)
- Validaciones: Zod
- Tipado: TypeScript
- React Server Components (RSC) - Renderizado del servidor optimizado
- Server Actions - Mutaciones sin API routes
- Co-location - Componentes junto a las páginas que los usan
- Arquitectura en capas - Servicios, lógica de negocio, presentación
El sistema incluye un endpoint para actualizar automáticamente el estado de los GPs a FINISHED cuando pasa la fecha de carrera:
# Endpoint
GET /api/cron/finish-gps
# Con autenticación (recomendado)
curl -H "Authorization: Bearer YOUR_CRON_SECRET" \
https://your-domain.com/api/cron/finish-gpsConfiguración:
- Define
CRON_SECRETen tus variables de entorno - Configura un cron job externo (Vercel Cron, GitHub Actions, etc.) para llamar al endpoint
- Recomendación: Ejecutar cada hora o cada 6 horas
Servicios de Cron recomendados:
src/
├── app/ # App Router (páginas y layouts)
│ ├── admin/ # Panel de administración
│ ├── w/ # Workspaces
│ ├── login/ # Autenticación
│ └── onboarding/ # Proceso inicial
├── components/ # Componentes globales reutilizables
│ ├── ui/ # shadcn/ui components
│ └── emails/ # Templates de email
├── services/ # Capa de servicios (acceso a datos)
├── lib/ # Utilidades y configuración
└── types/ # Tipos TypeScript
- Node.js 18+
- pnpm (recomendado)
- Base de datos PostgreSQL
- Clonar el repositorio
git clone https://github.com/raphauy/rc-starter-v2.git
cd rc-starter-v2- Instalar dependencias
pnpm install- Configurar variables de entorno
cp .env.example .envConfigurar las siguientes variables:
# Base de datos
DATABASE_URL="postgresql://..."
# NextAuth
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="tu-secret-super-secreto"
# Email (Resend)
RESEND_API_KEY="re_..."
RESEND_FROM_EMAIL="notifications@tudominio.com"
# La variable APP_NAME ya no es necesaria- Configurar la base de datos
pnpm prisma generate
pnpm prisma db push
pnpm prisma db seed- Ejecutar en desarrollo
pnpm devAbre http://localhost:3000 en tu navegador.
El proyecto usa Resend para el envío de emails:
- Crear cuenta en Resend
- Verificar tu dominio
- Obtener API key y configurar
RESEND_API_KEY - Configurar
RESEND_FROM_EMAILcon tu email verificado
- User - Usuarios del sistema
- Workspace - Espacios de trabajo
- WorkspaceUser - Relación usuario-workspace con rol
- WorkspaceInvitation - Invitaciones pendientes
# Generar cliente Prisma
pnpm prisma generate
# Aplicar cambios al schema
pnpm prisma db push
# Ejecutar seed
pnpm prisma db seed
# Ver datos en Prisma Studio
pnpm prisma studioEl proyecto incluye soporte completo para dark mode:
- Light mode - Tema claro
- Dark mode - Tema oscuro
- System - Sigue la preferencia del sistema
Los colores se pueden personalizar en src/app/globals.css usando las variables CSS de shadcn/ui.
# Linting
pnpm run lint
# Type checking
pnpm run typecheck
# Build
pnpm run build- Login con OTP - Recibir código por email
- Onboarding - Configurar perfil inicial
- Workspaces - Acceder a espacios de trabajo
- Perfil - Actualizar información personal
- Gestión de miembros - Invitar, cambiar roles, remover
- Configuración - Personalizar workspace
- Dashboard - Ver métricas del workspace
- Panel de administración - Acceso total
- Gestión de usuarios - CRUD completo
- Gestión de workspaces - Crear, editar, eliminar
- Métricas globales - Dashboard del sistema
- Conectar repositorio en Vercel
- Configurar variables de entorno
- Desplegar automáticamente
- Configurar
NEXTAUTH_URLcon tu dominio - Usar base de datos PostgreSQL de producción
- Configurar Resend para tu dominio
- Fork el proyecto
- Crear rama feature (
git checkout -b feature/nueva-feature) - Commit cambios (
git commit -m 'Agregar nueva feature') - Push a la rama (
git push origin feature/nueva-feature) - Abrir Pull Request
Este proyecto está bajo la Licencia MIT.