Проект: «Онлайн-сервис бронирования спортзала»
1. Общее описание
Цель проекта — создать систему для онлайн-бронирования спортивных залов.
На странице демонстрируются: заголовки разных уровней, нумерация, таблица, цитата, списки, вложение файла (логотип) со ссылкой и отображением.
2. Проектная документация
2.1 FS — Functional Specification
- Регистрация пользователей
- Ввод нового логина
- Ввод нового пароля
- Подтверждение пароля
- Просмотр расписания залов
- Бронирование свободных слотов
- Оплата онлайн банковской картой
2.2 HLD — High-Level Design
- Веб-клиент и мобильное приложение
- REST API-сервер
- База данных PostgreSQL
- Подсистема оплаты (интеграция с платёжным шлюзом)
Роли и задачи в проекте:
Роль |
Задача |
Артефакт/объект |
Пользователь |
Бронирует зал и оплачивает услугу |
Запись в `bookings` |
Администратор |
Управляет расписанием и доступностью слотов |
Интерфейс админки |
Разработчик |
Поддерживает код, БД, интеграции |
Код, документация |
> Замечание по UX: в клиенте используется календарь с подсветкой доступных слотов и фильтром по залам.
2.3 DD — Detailed Design
- `users (user_id, login, password_hash, email, created_at)`
- `gyms (gym_id, name, address, capacity)`
- `bookings (booking_id, user_id, gym_id, date, time_from, time_to, status)`
Важное бизнес-правило
Пользователь не может иметь две активные брони, пересекающиеся по времени. Проверка выполняется при создании записи в `bookings` (уникальность по пользователю и интервалу времени; статусы: `new → paid → active → completed/cancelled`).
3. Пользовательская документация
3.1 Быстрый старт
- Зайдите на сайт
- Зарегистрируйтесь
- Выберите зал и время
- Нажмите «Забронировать» и оплатите
3.2 FAQ
В: Можно ли отменить бронь?
О: Да, отмена доступна за 24 часа до начала времени.
4. Вложения (логотип)
Скачать логотип:
logo_draft.png
5. Обсуждение и предложения
- Интеграция с Google Calendar
- Уведомления через Telegram-бота
- Тарифы и абонементы
5.1 Комментарии участников
Кристина — "Нужна поддержка групповых занятий и повторяющихся броней"
Даниил — "Добавить возможность выбора конкретного тренера"
Дмитрий — "Реализовать возможность фильтров по типу зала (например: тренажёрный, для групповых занятий, зал для йоги)"
6. Ссылки на документацию движка
Секретный Раздел