尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Plataforma SaaS multi-tenant de reservas y turnos (Next.js + Supabase).
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Plataforma de reservas de turnos online — MVP para barbería, preparada para SaaS multi-empresa.
npm install
cp .env.example .env.local
Completá el archivo .env.local con tus credenciales de Supabase:
NEXT_PUBLIC_SUPABASE_URL=https://tu-proyecto.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=tu-anon-key
SUPABASE_SERVICE_ROLE_KEY=tu-service-role-key
NEXT_PUBLIC_APP_URL=http://localhost:3000
Encontrás las keys en: Supabase Dashboard → Project → Settings → API
En el SQL Editor de Supabase, ejecutá todo el contenido de:
supabase/migrations/001_initial_schema.sql
Esto crea las 8 tablas, índices, RLS policies y datos de demo.
En Supabase → Authentication → Users → Add user, creá un usuario con tu email y contraseña.
Luego en el SQL Editor, asocialo al negocio demo:
INSERT INTO business_users (user_id, business_id, role)
VALUES (
'<tu-user-id>', -- copia el ID del usuario recién creado
'a0000000-0000-0000-0000-000000000001',
'business_admin'
);
npm run dev
| URL | Descripción |
|---|---|
http://localhost:3000/el-maestro | Página pública del negocio demo |
http://localhost:3000/el-maestro/booking | Flujo de reserva (cliente) |
http://localhost:3000/auth/login | Login del profesional |
http://localhost:3000/dashboard | Panel de hoy |
http://localhost:3000/dashboard/appointments | Todos los turnos |
mi-turno-ya/
├── app/
│ ├── (public)/[slug]/ # Páginas públicas del negocio
│ │ ├── page.tsx # Landing del negocio
│ │ ├── booking/page.tsx # Wizard de reserva
│ │ └── confirmation/page.tsx # Confirmación
│ ├── (dashboard)/dashboard/ # Panel del profesional (auth requerida)
│ │ ├── page.tsx # Turnos de hoy
│ │ └── appointments/page.tsx # Todos los turnos
│ ├── api/
│ │ ├── availability/route.ts # GET slots disponibles
│ │ └── appointments/route.ts # POST crear / PATCH estado
│ └── auth/
│ ├── login/page.tsx
│ └── callback/route.ts
├── components/
│ ├── booking/ # Wizard step a step
│ └── dashboard/ # Cards, badges, updater
├── lib/
│ ├── supabase/ # client.ts | server.ts | middleware.ts
│ ├── availability.ts # Algoritmo de slots
│ └── utils.ts
├── services/ # Acceso a datos (server)
├── types/ # database.types.ts | app.types.ts
├── schemas/ # Zod schemas
├── hooks/ # use-availability | use-appointment
└── supabase/migrations/ # SQL schema completo
businesses con un slug único.professionals.services.professional_services.schedules.business_users.La URL pública será automáticamente: https://tu-dominio.com/{slug}