Backend y panel de administración para Winbit. Next.js 16, Prisma, PostgreSQL.
Funcional - Listo para demo
- Servidor: http://localhost:3000
- Base de datos: Supabase PostgreSQL
- Autenticación: Google OAuth
- Tests: 28 tests pasando (93.1% coverage)
- Next.js 16.1.1 (App Router)
- PostgreSQL (Supabase)
- Prisma 7.2.0
- NextAuth.js v5 (Google OAuth)
- Tailwind CSS + shadcn/ui
- Vitest + React Testing Library
- Autenticación Google OAuth
- Gestión de inversores
- Gestión de solicitudes (aprobar/rechazar)
- Dashboard con métricas y gráficos
- Api pública (4 endpoints para PWA)
- Historial automático de operaciones
- Notificaciones por email al aprobar depósitos
-
Instalar dependencias:
npm install -
Configurar
.env:DATABASE_URL: PostgreSQL connection stringNEXTAUTH_SECRET:openssl rand -base64 32GOOGLE_CLIENT_IDyGOOGLE_CLIENT_SECRET: Google Cloud ConsoleNEXTAUTH_URL:http://localhost:3000GOOGLE_SHEETS_ID: ID de la planilla de Google SheetsGOOGLE_SHEETS_API_KEY: API Key de Google SheetsRESEND_API_KEY: (Opcional) API Key de Resend para emails. Si no se configura, los emails no se enviarán.RESEND_FROM_EMAIL: (Opcional) Email desde el cual enviar. Formato:Nombre <email@dominio.com>
-
Base de datos (Supabase):
- Crear proyecto en Supabase
- Copiar Connection String →
DATABASE_URL
-
Migraciones:
npx prisma migrate dev --name init npx prisma generate
-
Ejecutar:
npm run dev
npm run dev- Desarrollonpm run build- Build producciónnpm run test- Testsnpm run test:coverage- Tests con coveragenpx prisma studio- UI de base de datos
- Google Cloud Console → Crear proyecto
- APIs & Services → Credentials → OAuth client ID
- Redirect URI:
http://localhost:3000/api/auth/callback/google - Copiar Client ID y Secret a
.env
GET /api/public/investor/:email- Datos del inversorGET /api/public/investor/:email/history- HistorialGET /api/public/wallets- Wallets habilitadasPOST /api/public/requests- Crear solicitud
- Migrar datos desde Google Sheets
- Conectar winbit-app al backend
- Implementar autenticación Firebase en Api
- Deploy a producción
DEPLOY.md- Guía de deployment en VercelTESTING.md- Información sobre tests y coverage