2024-12-24 15:43:43 +09:00
2024-12-24 15:43:43 +09:00
2024-12-24 15:43:43 +09:00
2024-12-24 15:43:43 +09:00
2024-12-07 13:04:46 +09:00
2024-12-24 15:43:43 +09:00
2024-12-24 15:43:43 +09:00
2024-12-24 15:43:43 +09:00
2024-12-13 22:25:11 +09:00
2024-12-14 20:50:11 +09:00
2024-12-12 21:11:01 +09:00
2024-12-24 15:43:43 +09:00
2024-12-24 15:43:43 +09:00
2024-12-09 17:14:16 +09:00
2024-12-06 10:47:30 +09:00
2024-12-18 20:44:21 +09:00

Проект управления отелями

Описание

Проект для управления отелями, пользователями, интеграциями с PMS, а также для контроля статистики и уведомлений. Включает веб-админку, REST API для управления данными и Telegram-бота для взаимодействия с пользователями.

Стек технологий

  • Django (для бэкенда)
  • Jazzmin (для кастомизации админки)
  • MySQL (для хранения данных)
  • python-telegram-bot (для Telegram-бота)
  • Docker (для контейнеризации базы данных и проекта)

Установка

1. Клонирование репозитория

git clone <repo url>
cd yourrepository

2. Установка зависимостей


python -m venv .venv
source .venv/bin/activate  # Для Linux/MacOS
.venv\Scripts\activate  # Для Windows

pip install -r requirements.txt

3. Настройка базы данных MySQL

3.1. Запуск контейнера с MySQL

Используем Docker для поднятия MySQL контейнера:

docker-compose up -d mysql

3.2. Создание базы данных и пользователя

После поднятия контейнера с MySQL, создайте базу данных и пользователя:

3.2. Настройка базы данных

После поднятия контейнера с MySQL, создайте таблицы и загрузите дамп:

docker exec -it mysql_container bash
mysql -u root -p 

Введите пароль от MySQL, а затем загрузите ваш дамп:

mysql -u root -p your_database_name < /path/to/your_dump.sql

3.3. Применение миграций

После настройки базы данных выполните миграции для вашего Django-проекта:

python manage.py migrate

4. Настройка админки

Для настройки админки с использованием Dazzling и Jazzmin, добавьте соответствующие настройки в settings.py:

INSTALLED_APPS = [
    'dazzle',
    'jazzmin',
    ...
]

JAZZMIN_SETTINGS = {
    "site_title": "My Admin",
    "site_header": "My Administration",
    "site_brand": "My Brand",
    "footer": {
        "copyright": False,
        "version": False,
    },
}

5. Запуск проекта

Запустите сервер Django:

python manage.py runserver

Теперь проект будет доступен по адресу http://127.0.0.1:8000.

Структура проекта
hotel_manager/ — основная директория проекта.
hotel_manager/settings.py — настройки Django.
hotel_manager/models.py — модели данных для отелей, пользователей и статистики.
hotel_manager/views.py — представления для работы с данными.
hotel_manager/urls.py — маршруты проекта.
bot/ — директория для бота, использующего python-telegram-bot.
Модели
Отель (Hotel)
    Название отеля
    ID отеля
    PMS (Bnovo, Travel Line, Realty)
    Статус интеграции с PMS

Пользователь (User)
    Имя пользователя
    Роль (Admin или Hotel User)
    Связь с отелем

Настройки уведомлений (Notification Settings)
    Включено/выключено уведомление
    Часовой пояс
    Время отправки уведомлений

Статистика (Statistics)
    Количество несанкционированных заселений за период
    Статус ошибок
    Даты и номера нарушений
API
Администратор:
    Добавить/удалить отель
    Добавить/удалить пользователя
    Проверка статуса интеграции с PMS
    Управление уведомлениями

Пользователь отеля:
    Получение статистики по заселениям
    Управление уведомлениями
Интеграция с Telegram-ботом
Бот для администраторов позволяет управлять отелями, пользователями, уведомлениями и проверять статус интеграций.

Бот для пользователей отелей позволяет получать статистику по заселениям и управлять уведомлениями.
Пример команды для администратора
Добавить отель
Список отелей
Удалить отель
Проверить статус PMS
Пример команды для пользователя отеля
Показать статистику за вчера
Управление уведомлениями

Проверка интеграции с PMS

Для каждого отеля можно проверять статус интеграции с PMS (Bnovo, Travel Line, Realty) и получать ответ о доступности PMS.

Description
No description provided
Readme 100 MiB