2. Спецификация - pipichaan/Housing-Booking-System GitHub Wiki
1. Введение
Настоящая спецификация описывает требования к системе бронирования жилья (Housing Booking System), разрабатываемой на платформе .NET с использованием WinForms. Программа предназначена для автоматизации поиска, бронирования и управления арендой квартир и домов.
2. Цели
- Создать удобный инструмент для поиска и бронирования жилья.
- Обеспечить безопасную авторизацию пользователей.
- Реализовать систему отзывов и рейтингов.
- Интегрировать картографические сервисы для удобного выбора местоположения.
- Автоматизировать процесс бронирования и уведомлений.
3. Соглашение о терминах
Термин | Определение |
---|---|
Пользователь | Физическое лицо, осуществляющее поиск и бронирование жилья в системе |
Владелец | Физическое или юридическое лицо, размещающее объект недвижимости в системе |
Администратор | Специалист, осуществляющий управление системой и модерацию контента |
Бронирование | Договоренность о временной аренде жилья на конкретные даты |
Google Maps API | Веб-сервис для интеграции картографических данных и отображения объектов |
4. Предполагаемая аудитория и последовательность восприятия
Целевая аудитория:
- Арендаторы – туристы, командировочные, студенты.
- Владельцы жилья – частные лица, агентства недвижимости.
Классы и характеристики пользователей:
Роль | Описание |
---|---|
Гость | Может просматривать доступное жильё, но не может совершать бронирование |
Пользователь | Может бронировать жильё и оставлять отзывы после проживания |
Владелец | Может добавлять объекты недвижимости и управлять их бронированиями |
Последовательность восприятия: Регистрация/авторизация → 2. Поиск жилья → 3. Бронирование → 4. Оплата → 5. Отзыв.
5. Масштаб проекта
- Фронтенд: WinForms (C#)
- Бэкенд: .NET Core, Entity Framework
- База данных: MS SQL Server
- Внешние API: Google Maps, VK OAuth
6. Ссылки на источники
- Google Maps API Documentation
- VK API Documentation
- Microsoft .NET Core Documentation
- MS SQL Server Official Guides
7. Общее описание
Система позволяет:
- Искать жилье по параметрам (цена, местоположение, удобства).
- Бронировать на выбранные даты.
- Оставлять отзывы и оценки.
- Управлять объектами недвижимости (для владельцев).
8. Видение продукта
Конечный продукт – десктоп-приложение для Windows с возможностью расширения до веб-версии.
Основные преимущества:
- Удобный интерфейс.
- Интеграция с картами.
- Гибкая система фильтрации.
9. Функциональность продукта
Основные функции:
- Поиск и бронирование жилья
- Управление профилями пользователей
- Система отзывов и рейтингов
- Интеграция с Google Maps
Дополнительные функции:
- Уведомления по email
- История бронирований
10. Среда функционирования продукта
- ОС: Windows 10/11
- СУБД: MS SQL Server 2019+
- Фреймворк: .NET 6.0+
- Дополнительно: Интернет-соединение для работы с API
11. Рамки, ограничения, правила и стандарты
Ограничения:
- Макс. размер загружаемых фото – 5 МБ.
- Минимальная длина пароля – 6 символов.
Стандарты:
- Использование REST API для внешних сервисов.
- Соблюдение GDPR при работе с персональными данными.
12. Документация для пользователей
- Руководство пользователя (PDF).
- FAQ по часто возникающим вопросам.
13. Функциональность системы
Основные модули:
- Аутентификация (регистрация, вход).
- Поиск и бронирование (фильтры, календарь, подтверждение).
- Управление объектами (добавление, редактирование, удаление).
- Отзывы и рейтинги (добавление, модерация, расчет среднего балла).
14. Причинно-следственные связи, алгоритмы
Workflow бронирования:
Пользователь выбирает даты → 2. Система проверяет доступность → 3. Подтверждение → 4. Уведомление владельцу.
Workflow добавления отзыва:
Пользователь бронирует жилье → 2. После выезда оставляет отзыв → 3. Система обновляет рейтинг.
15. Требования к программному продукту
Функциональные требования:
- Модуль авторизации и регистрации
- Регистрация по email и паролю
- Авторизация через ВКонтакте
- Восстановление пароля
- Редактирование профиля пользователя
- Модуль управления объектами недвижимости
- Добавление/редактирование/удаление объектов
- Загрузка фотографий объекта
- Указание местоположения на карте
- Управление параметрами объекта (цена, описание и т.д.)
- Модуль поиска и фильтрации
- Поиск по местоположению
- Фильтрация по цене, типу жилья, удобствам
- Сортировка результатов
- Постраничный вывод результатов
- Модуль бронирования
- Выбор дат бронирования
- Расчет стоимости
- Подтверждение брони
- История бронирований
- Модуль отзывов и рейтингов
- Добавление отзывов
- Система оценок (1-5 звезд)
- Просмотр отзывов других пользователей
- Расчет среднего рейтинга
Требования к внешним интерфейсам:
Пользовательский интерфейс:
- WinForms (адаптивный дизайн).
- Минималистичный и интуитивный.
Программные интерфейсы:
- Google Maps API (отображение карт).
- VK API (авторизация через ВКонтакте).
Нефункциональные требования:
- Требования к интерфейсу
- Интуитивно понятный графический интерфейс
- Адаптивный дизайн
- Поддержка разрешений от 1024x768
- Локализация на русский язык
- Требования к надежности
- Валидация всех вводимых данных
- Обработка ошибок ввода
- Резервное копирование базы данных
- Журналирование критических операций
- Требования к безопасности
- Хранение паролей в хэшированном виде
- Защита от SQL-инъекций
- Ограничение доступа к административным функциям
- Требования к совместимости
- ОС: Windows 10 и выше
- .NET Framework 4.7.2 или .NET Core 3.1+
- СУБД: MS SQL Server 2016 или выше
- Требования к производительности
- Время отклика на основные операции не более 2 сек
- Поддержка одновременной работы 50+ пользователей
- Оптимизация работы с изображениями