
Проект был создан в рамках курсовой работы по предмету "Базы данных" студентом группы Б22-191-1з Афанасьевым Павлом Юрьевичем.
Это веб-приложение для управления гостиницей, написанное на Python с использованием Flask и SQLite. Оно предоставляет функциональность для добавления гостиниц, номеров, гостей, бронирований, а также для генерации отчетов по статусу номеров и количеству гостей.

В рамках курсовой работы была сгенерирована база данных с несколькими таблицами для учета гостиницы, персонала, номеров, бронирований и гостей.
Структура базы данных:
- hotels — информация о гостиницах (название, ИНН, директор, владелец, адрес, звезды).
- positions — должности персонала (название, зарплата).
- staff — персонал гостиницы (отель, ИНН, должность, коэффициент зарплаты).
- rooms — номера гостиницы (описание, количество мест, цена за ночь, статус).
- bookings — бронирования номеров (номер, дата прибытия, информация о посетителе).
- guests — гости гостиницы (номер, даты заезда/выезда, предоплата, информация о госте).

- Добавление гостиницы: возможность добавить информацию о гостинице (название, ИНН, директор, владелец, адрес, звезды).
- Добавление номера: возможность добавить описание номера (тип, количество мест и т.д.).
- Добавление гостей: возможность зарегистрировать гостя с информацией о номере, дате заезда и выезда, предоплате и другой информации.
- Бронирование номеров: возможность забронировать номер с указанием даты прибытия и информации о госте.
- Генерация отчетов: отчеты о свободных номерах, занятых номерах, количестве гостей за определенный период и другие.
- Удаление записей: возможность удалить информацию о госте.
- Изменение записей: возможность обновить информацию о госте (например, дату заезда/выезда, предоплату и другую информацию).
-
Клонируйте репозиторий:
git clone https://github.com/AniCatPro/hotelSQL.git
-
Перейдите в каталог проекта:
cd hotelSQL
-
Установите необходимые зависимости:
pip install faker flask
-
Запустите скрипт
FakeSQL.py
для создания и генерации тестовой базы данных:python FakeSQL.py
-
Если нужно создать шаблон пустой базы данных для работы, запустите
SQL.py
:python SQL.py
-
После этого запустите приложение:
python app.py
-
Откройте приложение в браузере по адресу http://127.0.0.1:5000/.
- app.py — основной файл приложения, где реализованы все маршруты.
- templates/ — папка с HTML-шаблонами для рендеринга страниц.
- static/ — папка с изображениями и статическими файлами.
- hotel.db — база данных SQLite, содержащая таблицы для гостиниц, номеров, гостей и бронирований.
- Главная страница:
/
— обзор информации о гостиницах и номерах. - Добавление гостиницы:
/add_hotel
— форма для добавления гостиницы. - Добавление гостя:
/add_guest
— форма для регистрации нового гостя. - Добавление бронирования:
/add_booking
— форма для добавления нового бронирования. - Список гостей:
/guests_list
— страница с таблицей гостей и их информации. - Регистрация гостя:
/register_guest
— форма для регистрации гостя с выбором номера. - Бронирование:
/book_room
— форма для бронирования номера. - Отчеты:
/reports
— доступ к различным отчетам, включая свободные номера, занятые номера, количество гостей и т.д.


- Удаление записи о госте: на странице списка гостей можно удалить запись о госте, используя форму удаления.
- Изменение записи о госте: можно обновить информацию о госте, например, изменить даты заезда/выезда или предоплату через форму редактирования.

- Свободные номера на дату:
/report/available_rooms
— список свободных номеров на заданную дату. - Статус номеров на дату:
/report/rooms_status
— статус номеров на заданную дату (заняты/свободны). - Количество гостей за период:
/report/guests_in_date_range
— отчет о количестве гостей в заданный период.

