Skip to content

Aprilarina/EasyBookerBot

Repository files navigation

EasyBooker

License: MIT CI

Telegram-бот и HTTP API для записи на услуги автомоек: бронирование, ролевая модель пользователя и администратора, интеграция с веб-приложением (мини-приложение Telegram). Какая была поставлена цель: разработать приложение, позволяющее клиентам удобно бронировать очередь на мойку, а владельцам мойки — управлять бронированием и общаться с клиентами. Также предоставить функции для оплаты, уведомлений и программы лояльности.

  1. Основные функции. Клиентская часть:

    • Регистрация и авторизация:
    • Пользователь должен иметь возможность зарегистрироваться в приложении, указывая имя, номер телефона и данные автомобиля. Бронирование:
    • Просмотр доступных автомоек на карте;
    • Фильтрация по рейтингу, типу, услугам и расстоянию; Быстрая запись: ввод даты, времени и радиуса поиска;
    • Просмотр списка моек со сведениями о них (рейтинг, часы работы, цены);
    • Выбор желаемого времени и услуги. Оплата услуг:
    • Перевод средств через ссылку с фиксированной суммой;
    • Возможность перечисления чаевых;
    • Информация об успешной оплате.
    • Уведомления:
    • Уведомления о новостях и акциях;
    • Уведомление через месяц о повторном посещении или на основе статистики посещений клиента. Оценка и отзывы:
    • Возможность оставить отзывы и оценки после посещения мойки. Построение маршрутов:
    • Интеграция с картографическими сервисами для построения маршрута до мойки.
  2. Основные функции. Владелец мойки: Управление заказами:

    • Уведомления на телефон о новых бронированиях;
    • Система напоминаний, если владелец не ответил на уведомление;
    • Возможность ручного определения времени освобождения мойки. Общение с клиентами:
    • Интеграция с мессенджерами для обратной связи с клиентами. Управление автомойками:
    • Возможность выбора свободного поста мойки;
    • Редактирование информации о мойке (цены, услуги, часы работы). Аналитика и статистика:
    • Доступ к данным о загруженности моек и частоте посещений клиентов.
  3. Дополнительные функции (NICE-TO-HAVE, бэклог): Уведомления о скидках:

    • Уведомления клиентов о скидках и акциях в мойке Программа лояльности:
    • Награждение бонусными баллами за частые посещения;
    • Возможность использования бонусов для оплаты услуг. Рейтинг и конкурсы:
    • Возможность участия в конкурсах на основе общего количества посещений.
    • Каталог дополнительных услуг:
    • Продажа автозапчастей и средств по уходу за автомобилем.
  4. Технологический стек: Фронтенд VueJS3 Бэкенд: Aiogram 3, SQLAlchemy, FastApi Приложение тг-бот с MiniApp Оплата - ЮКасса Мессенджер-интеграция: Telegram Bot API для обмена сообщениями. Оплата: Интеграция с системой переводов (например, сбер или подобными).

Репозиторий: github.com/Aprilarina/EasyBookerBot

Рабочий бот в Telegram

Публичный бот работает и доступен в Telegram: @easybooker_bot

Лицензия и авторство

Проект распространяется под лицензией MIT — см. файл LICENSE.

Документация

Ресурс Ссылка
Discovery: сценарии, SWOT, рынок, ТЗ docs/discovery/
Запуск и окружение docs/SETUP.md

Участие и безопасность

Документ Назначение
CONTRIBUTING.md Как предлагать PR и issues
SECURITY.md Как сообщить об уязвимости приватно
Карта клиентского пути CJM
Презентация продукта Презентация продукта

Структура репозитория

EasyBooker/
├── app/                 # FastAPI, aiogram, DAO, миграции Alembic
├── docs/                # Документация
├── .github/             # CI, Dependabot, шаблоны Issues / PR
├── alembic.ini
├── requirements.txt
├── .env.example
├── CONTRIBUTING.md
├── SECURITY.md
└── LICENSE

Быстрый старт

  1. Склонируйте репозиторий и создайте виртуальное окружение.
  2. cp .env.example .env и заполните секреты (BOT_TOKEN, PostgreSQL, BACK_URL, FRONT_URL, ADMINS).
  3. Примените миграции: alembic upgrade head.
  4. Запустите: PYTHONPATH=. python3 -m uvicorn app.main:app --host 0.0.0.0 --port 8000

Подробности — в docs/SETUP.md.

Безопасность

Не коммитьте файл .env и токены бота. В репозитории есть только .env.example. См. SECURITY.md.

Важно

Открытая публикация не подразумевает коммерческой поддержки или гарантии работоспособности во всех окружениях; используйте код на свой страх и риск (см. текст лицензии MIT).

В исходной выгрузке нет каталога app/templates/ (при этом app/api/router.py ссылается на Jinja2-шаблоны). Если при развёртывании не хватает шаблонов, восстановите их из рабочего бэка или уточните у автора исходного репозитория; фронтенд WebApp разворачивается отдельно по FRONT_URL.

About

Telegram bot и FastAPI: бронирование очереди на автомойку. Aiogram 3, PostgreSQL, Redis. MIT. Бот: @easybooker_bot

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors