HotelSync e59bc752b0 Add password letter requirement + labeled strength UI + auto-capitalize name fields
- Reject pure-numeric passwords (must contain ≥1 letter) in RegisterForm, ResetPasswordPage, and backend register/reset-password handlers
- Replace bare strength bars with labeled 2×2 grid: ≥8 символов, Содержит букву, Заглавная буква, Цифра
- Auto-capitalize first letter of each word in "Название отеля" and "Контактное лицо" fields (autoCapitalize="words" + JS handler)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 19:35:54 +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%