Skip to content

MrGrose/Service_SelfStorage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Документация по проекту сервиса заказов аренды ячеек хранения - Service_SelfStorage.

Данный проект представляет собой систему управления заказами на аренду складских ячеек через сервис Telegram бот. Он помогает пользователям заказывать ячейки для хранения, предоставляя информацию о тарифах и условиях, а также облегчая процесс оформления заказа.

Функциональность Bot

  1. Приветствие:

    • Бот приветствует пользователя и объясняет, когда его услуги могут быть полезны (например, при переезде или нехватке места).
    • Пользователь должен дать согласие на обработку персональных данных, прежде чем продолжить.
  2. Меню выбора действий:

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

    • Бот предоставляет информацию о тарифах на хранение в зависимости от размера ячейки (маленькая, средняя, большая) и количестве свободных мест.
    • Также отображается список запрещенных для хранения вещей.
  4. Выбор способа доставки:

    • Пользователь может выбрать между курьерской доставкой или самостоятельной доставкой вещей в ячейку.
    • Бот предоставляет информацию о каждом способе доставки и процессе оформления заказа.
  5. Форма заказа:

    • Бот проводит пользователя через форму заказа, запрашивая ФИО, номер телефона, дату начала хранения и срок хранения.
    • В зависимости от выбранного способа доставки, бот запрашивает адрес для курьерской доставки.
  6. Создание заказа:

    • После сбора всех необходимых данных бот создает заказ на хранение, выбирает свободную ячейку и отправляет пользователю подтверждение с деталями заказа.
  7. Напоминание о окончание срока хранения:

    • За 14 дней до конца срока хранения вещей клиенту в telegram приходит уведомление-напоминалка "Через 2 недели заканчивается срок аренды ячейки"
  8. Завершение заказа:

    • Пользователь может запросить QRCode для того чтобы открыть ячейку, с момента запроса пользователем QRCode заказ считается закрытым.

Функциональность Models

  1. Пользователь (User):

    • Модель описывает пользователей системы.
    • Возвращает все заказы пользователя.
  2. Склад (Warehouse):

    • Модель описывает склады, где хранятся ячейки.
    • Возвращает количество свободных ячеек на складе.
  3. Ячейка хранения (StorageUnit):

    • Модель описывает ячейки хранения на складах.
    • Возвращает строковое представление размера ячейки.
    • Проверяет, есть ли активные заказы для данной ячейки.
    • Проверяет доступна ли ячейка для аренды на указанный период.
  4. Заказ (Order):

    • Модель описывает заказы на аренду ячеек хранения.
    • Проверяет, просрочен ли заказ.
    • Сохраняет заказ и проверяет доступность ячейки.
    • Освобождает ячейку хранения.
    • Возвращает общую стоимость хранения.
    • Рассчитывает дату напоминания о окончании срока хранения.
  5. Ссылки (Link):

    • Модель реализует функциональность сокращения ссылок.
    • Сохраняет ссылку и генерирует ее сокращенную версию.
    • Обновляет количество кликов по ссылке.

Вспомогательные скрипты (link_statistics)

  • shorten_link: Сокращает указанную URL-адрес с помощью API VK.
  • count_clikcs: Получает статистику кликов для сокращенной ссылки с помощью API VK.

Установка:

  1. Клонируйте репозиторий:
    git clone <URL>
    cd <directory>
  2. Настройте проект 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',]
  3. Установите зависимости:
    pip install -r requirements.txt
  4. Создайте базу данных и примените миграции, создайте админ пользователя:
    python manage.py makemigrations
    python manage.py migrate
    python manage.py createsuperuser
  5. Запустите сервер:
    python manage.py runserver
  6. Для запуска бота выполните:
    python -m reservations.bot
  7. Откройте админскую панель по адресу: 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages