AgenticOS
기업 AI 에이전트를 구축·실행·관리하는 통합 플랫폼, 자체 호스팅·오픈소스
모바일 차량 디테일링·밸리팅을 위한 즉시 견적·온라인 예약·보증금, 월 49파운드, 14일 무료
Instant quotes, online bookings and deposits for mobile car detailers and valeters, on your own booking page. £49 a month after a 14-day free trial.
비즈니스TypeScript · PLpgSQLGitHub @HY-HY1온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗One repo, two Next.js apps, one Supabase project behind both.
| Path | Port | What it is |
|---|---|---|
apps/booking | 3000 | Customer-facing. Serves every tenant's booking pages, chosen by hostname, plus /embed.js. Later: /api/agent, webhooks, the jobs runner. No logins. |
apps/admin | 3001 | Owner dashboard (and later super-admin). Everything behind a login. |
packages/core | Shared code: Supabase admin client, tenant lookup, and the booking engine (pricing, availability, holds). | |
supabase/ | Migrations and seed data. |
npm install
npm run dev # both apps, behind one address: localhost:3000
npm run dev:booking # just the booking app, on :3002
npm run dev:admin # just the admin app, on :3001
npm test # unit tests for pricing, availability and time zones
Both apps read the root .env.local (see .env.example). The booking app
needs SUPABASE_SECRET_KEY.
npm run dev starts a small router on :3000 (routing/dev-router.mjs) in front of
the two apps. It applies the same rules as Vercel (routing/rules.mjs, which vercel.json
is written from by npm run routing:vercel), so each address
reaches the app that serves it. Every link is built by packages/core/src/urls.ts
from ROUTING_MODE (see .env.example and info/routing.md).
Path mode (the default, and what the .vercel.app deployment uses):
Subdomain mode (ROUTING_MODE=subdomain and NEXT_PUBLIC_ROUTING_MODE=subdomain;
browsers send *.localhost to your machine without any DNS):
A business's booking pages come from its slug; the domains table only holds
domains of their own (booking.theirsite.co.uk), used in subdomain mode once verified.
Apply migrations to the hosted project with the Supabase CLI
(npx supabase db push), then run supabase/seed.sql in the SQL Editor.
packages/core/src/booking/engine.ts is the tool layer: getBookingConfig
(list_services), quote (get_quote), checkArea, findSlots
(check_availability), saveLead, holdSlot and confirmBooking. The plain
booking form uses it now; the Booking Agent will call the same functions.
Prices only ever come from getQuote() in pricing.ts.