Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
一个平台统一管理预订、散客、客房、客房清洁和付款,专为小型酒店、旅社和民宿打造。免费方案,或免费试用 30 天专业版,无需信用卡。
AI 翻译
One place for reservations, walk-ins, rooms, housekeeping and payments, built for small hotels, hostels and guesthouses. Free plan, or 30 days of Pro with no card.
商业TypeScript · CSSGitHub @KalemdzievskiV在线运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Web app for the Hotel Management system: role-based dashboards for platform admins, hotel
admins/managers, housekeepers and guests. Talks to the ASP.NET Core API in the separate
Hotel-Management-backend repository.
Stack: Next.js 16 (App Router) · React 19 · TypeScript · Tailwind CSS 4 · shadcn/ui (Radix) ·
TanStack Query · Zustand · date-fns · Recharts
Without NEXT_PUBLIC_API_URL the app calls http://localhost:5001/api (the Docker Compose port).
In development the login page lists the seeded demo accounts for each role.查看完整 README ↗Web app for the Hotel Management system: role-based dashboards for platform admins, hotel
admins/managers, housekeepers and guests. Talks to the ASP.NET Core API in the separate
Hotel-Management-backend repository.
Stack: Next.js 16 (App Router) · React 19 · TypeScript · Tailwind CSS 4 · shadcn/ui (Radix) · TanStack Query · Zustand · date-fns · Recharts
npm ci
echo "NEXT_PUBLIC_API_URL=http://localhost:5213/api" > .env.local # backend started with `dotnet run`
npm run dev # http://localhost:3000
Without NEXT_PUBLIC_API_URL the app calls http://localhost:5001/api (the Docker Compose port).
In development the login page lists the seeded demo accounts for each role.
| Script | What it does |
|---|---|
npm run dev | Dev server with Turbopack |
npm run build | Production build (type-checked) |
npm start | Serve the production build |
npm run lint | ESLint |
npm run test:e2e | End-to-end journeys with Playwright (see e2e/README.md) |
| Role | Lands on | Navigation |
|---|---|---|
| SuperAdmin | /dashboard/super-admin | Users, hotels, subscriptions |
| Admin / Manager | /dashboard/admin | Calendar, availability, hotels, rooms, reservations, guests, walk-in, inventory, housekeeping, reports; Admins also Staff and Billing |
| Housekeeper | /dashboard/housekeeping | Housekeeping tasks for their hotel |
| Guest | /dashboard/reservations | Their reservations, availability, calendar |
The API enforces all access rules; the UI only hides what a role can't use (hooks/usePermissions.ts).
Public pages: /pricing and /register-hotel (hotel owners sign up for a 30-day trial). When the API
refuses something because of the owner's plan (402), PlanLimitDialog offers the upgrade, and
SubscriptionBanner warns owners about ending trials and failed payments. Until a real payment
provider is connected, /dashboard/billing/checkout is a test checkout that charges nothing.
app/ Routes (App Router). (auth)/ = login/register, dashboard/ = the app
components/ UI: ui/ (shadcn primitives), layout/, dashboard/, reservations/, rooms/, auth/
hooks/ TanStack Query hooks per resource
lib/api/ Axios API client and one module per backend resource
lib/utils/ Date helpers
store/authStore.ts Session (token + user), persisted to localStorage
types/ API types and enums (mirror the backend DTOs)
store/authStore.ts is the only place the token lives. The API client attaches it,
and on a 401 (outside login/register) signs out and redirects to /login. Expired stored
sessions are dropped on page load.YYYY-MM-DD, short stays
as YYYY-MM-DDTHH:mm, without converting to UTC.Build with NEXT_PUBLIC_API_URL set to the public API URL (it's baked in at build time).
The Dockerfile takes it as a build argument; see the backend's docker-compose.yml.
Product direction and planned features: ROADMAP.md.