Данный проект представляет собой систему управления заказами на аренду складских ячеек через сервис Telegram бот. Он помогает пользователям заказывать ячейки для хранения, предоставляя информацию о тарифах и условиях, а также облегчая процесс оформления заказа.
-
Приветствие:
- Бот приветствует пользователя и объясняет, когда его услуги могут быть полезны (например, при переезде или нехватке места).
- Пользователь должен дать согласие на обработку персональных данных, прежде чем продолжить.
-
Меню выбора действий:
- После принятия условий пользователь получает доступ к меню, где может выбрать различные действия: просмотреть свои заказы, ознакомиться с тарифами или заказать ячейку.
-
Информация о тарифах:
- Бот предоставляет информацию о тарифах на хранение в зависимости от размера ячейки (маленькая, средняя, большая) и количестве свободных мест.
- Также отображается список запрещенных для хранения вещей.
-
Выбор способа доставки:
- Пользователь может выбрать между курьерской доставкой или самостоятельной доставкой вещей в ячейку.
- Бот предоставляет информацию о каждом способе доставки и процессе оформления заказа.
-
Форма заказа:
- Бот проводит пользователя через форму заказа, запрашивая ФИО, номер телефона, дату начала хранения и срок хранения.
- В зависимости от выбранного способа доставки, бот запрашивает адрес для курьерской доставки.
-
Создание заказа:
- После сбора всех необходимых данных бот создает заказ на хранение, выбирает свободную ячейку и отправляет пользователю подтверждение с деталями заказа.
-
Напоминание о окончание срока хранения:
- За 14 дней до конца срока хранения вещей клиенту в telegram приходит уведомление-напоминалка "Через 2 недели заканчивается срок аренды ячейки"
-
Завершение заказа:
- Пользователь может запросить QRCode для того чтобы открыть ячейку, с момента запроса пользователем QRCode заказ считается закрытым.
-
Пользователь (
User
):- Модель описывает пользователей системы.
- Возвращает все заказы пользователя.
-
Склад (
Warehouse
):- Модель описывает склады, где хранятся ячейки.
- Возвращает количество свободных ячеек на складе.
-
Ячейка хранения (
StorageUnit
):- Модель описывает ячейки хранения на складах.
- Возвращает строковое представление размера ячейки.
- Проверяет, есть ли активные заказы для данной ячейки.
- Проверяет доступна ли ячейка для аренды на указанный период.
-
Заказ (
Order
):- Модель описывает заказы на аренду ячеек хранения.
- Проверяет, просрочен ли заказ.
- Сохраняет заказ и проверяет доступность ячейки.
- Освобождает ячейку хранения.
- Возвращает общую стоимость хранения.
- Рассчитывает дату напоминания о окончании срока хранения.
-
Ссылки (
Link
):- Модель реализует функциональность сокращения ссылок.
- Сохраняет ссылку и генерирует ее сокращенную версию.
- Обновляет количество кликов по ссылке.
- shorten_link: Сокращает указанную URL-адрес с помощью API VK.
- count_clikcs: Получает статистику кликов для сокращенной ссылки с помощью API VK.
- Клонируйте репозиторий:
git clone <URL> cd <directory>
- Настройте проект Django, указав необходимые параметры в файле
settings.py
.DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'ваше_имя_бд.sqlite3',}}
LANGUAGE_CODE = 'ru' TIME_ZONE = 'Europe/Moscow' USE_I18N = True USE_TZ = True
INSTALLED_APPS = [ .... 'your_name_apps',]
- Установите зависимости:
pip install -r requirements.txt
- Создайте базу данных и примените миграции, создайте админ пользователя:
python manage.py makemigrations python manage.py migrate python manage.py createsuperuser
- Запустите сервер:
python manage.py runserver
- Для запуска бота выполните:
python -m reservations.bot
- Откройте админскую панель по адресу: http://127.0.0.1:8000/
Необходимо создать .env
файл:
```bash
SECRET_KEY=ваш_секретный_ключ
DEBUG=ваша_настройка
ALLOWED_HOSTS=ваша_настройка
VK_TOKEN=ваш_токен
TG_BOT_TOKE=ваш_токен
```
- VK_TOKEN для работы с API ВКонтакте при использовании сокращенных ссылок,
- TG_BOT_TOKEN для работы с телеграмм ботом.
MIT License.