5.7 KiB
Проект управления отелями
Описание
Проект для управления отелями, пользователями, интеграциями с 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.