HotelSync 728b20417a Connect frontend to real API — rooms, bookings, housekeeping, calendar
- src/lib/api.ts: central API client with JWT auto-refresh, snake_case→camelCase transform
- src/contexts/AuthContext.tsx: real login via POST /api/auth/login
- src/pages/RoomsPage.tsx: load rooms from API, create/update via API
- src/pages/BookingsPage.tsx: load bookings + rooms from API
- src/pages/HousekeepingPage.tsx: load today's tasks from API, update status via API
- src/pages/CalendarPage.tsx: load rooms + bookings from API
- src/types/index.ts: fix HousekeepingTask.priority to match DB (medium/urgent)
- backend/src/routes/rooms.ts: update to use new column names (max_guests, base_rate) + all new fields
- backend/src/routes/bookings.ts: update price_per_night→base_rate, add paid_amount to PATCH
- backend/migrations/003_fix_constraints.sql: fix rooms.status values, add paid_amount, inquiry status, other source
- public/robots.txt + index.html: noindex for SPA inner pages

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 13:49:30 +03:00
2026-03-10 20:38:32 +03:00

HotelSync — SaaS PMS System

Современная система управления отелем (PMS) с шахматкой бронирований, менеджером каналов и API.

Быстрый старт

npm install
npm run dev

Откройте http://localhost:5173

Демо-аккаунты

Роль Email Пароль
Менеджер отеля manager@grand-palace.ru demo
Горничная cleaner@grand-palace.ru demo
Супер-администратор admin@hotelsync.io demo

Функциональность

  • Шахматка — drag-to-book интерфейс, цветовое кодирование по статусам
  • Бронирования — список с фильтрами, создание, детальная панель
  • Номерной фонд — карточки номеров, статусы, уборка
  • Уборка — Kanban-доска: ожидание / в процессе / готово
  • Менеджер каналов — Booking.com, Airbnb, Expedia, VRBO
  • API-документация — встроенная документация REST API
  • Светлая / тёмная тема — переключатель в шапке
  • Мультиарендность — архитектура SaaS с изоляцией по отелям

Структура проекта

src/
├── components/
│   ├── calendar/       # Шахматка бронирований
│   ├── bookings/       # Модалки бронирований
│   ├── layout/         # Sidebar, Topbar
│   └── ui/             # Badge, Modal
├── contexts/           # AuthContext, ThemeContext
├── data/               # Мок-данные
├── layouts/            # AppLayout
├── lib/                # Утилиты, константы
├── pages/              # Страницы приложения
└── types/              # TypeScript типы

API

Base URL: https://api.hotelsync.io/v1

Документация доступна в приложении: /grand-palace/api-docs

Стек технологий

  • React 18 + TypeScript
  • Vite 5
  • Tailwind CSS 3 (dark mode)
  • React Router 6
  • date-fns
  • Lucide React
Description
No description provided
Readme 1.6 MiB
Languages
TypeScript 98.4%
HTML 0.7%
JavaScript 0.3%
Shell 0.2%
CSS 0.2%
Other 0.1%