Skip to content

ИжГТУ. Базы данных - Курсовая работа "Разработка базы данных для автоматизации гостиницы"

Notifications You must be signed in to change notification settings

AniCatPro/hotelSQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

Разработка базы данных для автоматизации гостиницы

Проект был создан в рамках курсовой работы по предмету "Базы данных" студентом группы Б22-191-1з Афанасьевым Павлом Юрьевичем.

Это веб-приложение для управления гостиницей, написанное на Python с использованием Flask и SQLite. Оно предоставляет функциональность для добавления гостиниц, номеров, гостей, бронирований, а также для генерации отчетов по статусу номеров и количеству гостей.

image

Структура базы данных

В рамках курсовой работы была сгенерирована база данных с несколькими таблицами для учета гостиницы, персонала, номеров, бронирований и гостей.

Структура базы данных:

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

Функционал

  • Добавление гостиницы: возможность добавить информацию о гостинице (название, ИНН, директор, владелец, адрес, звезды).
  • Добавление номера: возможность добавить описание номера (тип, количество мест и т.д.).
  • Добавление гостей: возможность зарегистрировать гостя с информацией о номере, дате заезда и выезда, предоплате и другой информации.
  • Бронирование номеров: возможность забронировать номер с указанием даты прибытия и информации о госте.
  • Генерация отчетов: отчеты о свободных номерах, занятых номерах, количестве гостей за определенный период и другие.
  • Удаление записей: возможность удалить информацию о госте.
  • Изменение записей: возможность обновить информацию о госте (например, дату заезда/выезда, предоплату и другую информацию).

Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/AniCatPro/hotelSQL.git
  2. Перейдите в каталог проекта:

    cd hotelSQL
  3. Установите необходимые зависимости:

    pip install faker flask
  4. Запустите скрипт FakeSQL.py для создания и генерации тестовой базы данных:

    python FakeSQL.py
  5. Если нужно создать шаблон пустой базы данных для работы, запустите SQL.py:

    python SQL.py
  6. После этого запустите приложение:

    python app.py
  7. Откройте приложение в браузере по адресу 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 — доступ к различным отчетам, включая свободные номера, занятые номера, количество гостей и т.д.
image image

Управление записями

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

Генерация отчетов

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

About

ИжГТУ. Базы данных - Курсовая работа "Разработка базы данных для автоматизации гостиницы"

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published