Synaplan
기업을 위한 오픈소스 AI 플랫폼
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Plataforma interna de gestión para 4 propiedades Airbnb en Capilla del Monte (Córdoba, Argentina). Reemplaza la base de datos RESERVAS de Notion con un dashboard financiero completo, calendario multi-propiedad, CRUD de reservas y una vista de agenda simplificada para la encargada.
es) · sonner toasts · TanStack Query para cliente/dashboard./agenda. Sin datos financieros.La doble defensa se aplica:
caretaker_agenda que omite importes).middleware.ts) que redirige según rol./(admin)/layout.tsx y /(caretaker)/layout.tsx) que vuelve a verificar.pnpm install
Copiá .env.example a .env.local y completá con tus credenciales de Supabase:
cp .env.example .env.local
NEXT_PUBLIC_SUPABASE_URL=https://xxxxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ...
SUPABASE_SERVICE_ROLE_KEY=eyJ...
SUPABASE_PROJECT_ID=xxxxx
.env.local.Desde el SQL Editor de Supabase, ejecutá supabase/migrations/0001_init.sql. Esto crea:
properties, guests, reservations, expenses, exchange_rates, user_rolesreservationscurrent_user_role()caretaker_agenda (sin datos financieros)Ejecutá supabase/seed.sql. Genera 4 propiedades (Airbnb 1–4), 10 huéspedes, ~30 reservas distribuidas entre los últimos 12 meses y los próximos 6, y 12 gastos.
En Supabase Auth → Users, creá dos usuarios con email/password:
[email protected] → rol admin[email protected] → rol caretakerDespués, en el SQL Editor:
-- Reemplazar los UUID por los del paso anterior
insert into user_roles (user_id, role, display_name) values
('UUID-DEL-ADMIN', 'admin', 'Emilio'),
('UUID-DE-LA-CARETAKER', 'caretaker', 'Mamá');
pnpm dev
Abrí http://localhost:3000. El admin aterriza en /dashboard; la encargada, en /agenda.
Si querés regenerar types/supabase.ts con la CLI oficial:
pnpm dlx supabase gen types typescript --project-id $SUPABASE_PROJECT_ID --schema public > types/supabase.ts
app/
(auth)/login/ ← Login server actions
(admin)/ ← Layout protegido por rol admin
dashboard/ ← KPIs + 6 charts + filtros sticky
calendar/ ← FullCalendar resource-timeline
reservations/ ← CRUD completo (list, new, [id])
properties/ ← Listado + detalle por propiedad
guests/ ← Registro + historial
expenses/ ← CRUD modal
reports/ ← Exports CSV (mensual, consolidado, fiscal anual)
settings/ ← Tipos de cambio · propiedades · usuarios
(caretaker)/agenda/ ← Vista simplificada, mobile-first
page.tsx ← Redirige según rol
layout.tsx ← Theme + react-query + toaster
components/
ui/ ← shadcn primitives
charts/ ← Recharts wrappers
sidebar.tsx ← Sidebar con tema toggle y logout
lib/
supabase/ ← client, server, middleware
queries/ ← Funciones tipadas
analytics.ts ← KPIs (occupancy, ADR, RevPAR, etc.)
format.ts ← formatCurrency, formatDate, whatsAppLink
schemas.ts ← Zod schemas compartidos
middleware.ts ← Auth + role-based routing
supabase/
migrations/0001_init.sql
seed.sql
types/supabase.ts ← Tipos Database
pnpm build y publica.pnpm dev # desarrollo
pnpm build # build producción
pnpm start # arrancar producción
pnpm typecheck # solo tsc
oklch(0.52 0.085 192) sobre base neutra cálida.es-AR. Fechas largas: 27 de abril de 2026. Moneda: $ 312.300,00 ARS vía formatCurrency().app/(caretaker)/agenda/page.tsx (busca ownerPhone). Editar manualmente o mover a exchange_rates / nueva tabla de settings si se necesita.text/csv. Si querés PDFs nativos, @react-pdf/renderer ya está instalado y listo para sumarse en app/(admin)/reports/.