Initial commit: HotelSync PMS v0.1.0

- React 18 + TypeScript + Vite + Tailwind CSS
- Шахматка бронирований (drag-to-book)
- Страницы: Calendar, Bookings, Rooms, Housekeeping, Channels, API Docs, Settings
- Роли: super_admin, hotel_manager, housekeeper
- Светлая/тёмная тема
- Docker + Nginx конфигурация
- Лендинг hotelsync.ru
This commit is contained in:
2026-03-10 20:38:32 +03:00
commit 420d55d57e
45 changed files with 7274 additions and 0 deletions

63
README.md Normal file
View File

@@ -0,0 +1,63 @@
# HotelSync — SaaS PMS System
Современная система управления отелем (PMS) с шахматкой бронирований, менеджером каналов и API.
## Быстрый старт
```bash
npm install
npm run dev
```
Откройте [http://localhost:5173](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