Telegram-бот и HTTP API для записи на услуги автомоек: бронирование, ролевая модель пользователя и администратора, интеграция с веб-приложением (мини-приложение Telegram). Какая была поставлена цель: разработать приложение, позволяющее клиентам удобно бронировать очередь на мойку, а владельцам мойки — управлять бронированием и общаться с клиентами. Также предоставить функции для оплаты, уведомлений и программы лояльности.
-
Основные функции. Клиентская часть:
- Регистрация и авторизация:
- Пользователь должен иметь возможность зарегистрироваться в приложении, указывая имя, номер телефона и данные автомобиля. Бронирование:
- Просмотр доступных автомоек на карте;
- Фильтрация по рейтингу, типу, услугам и расстоянию; Быстрая запись: ввод даты, времени и радиуса поиска;
- Просмотр списка моек со сведениями о них (рейтинг, часы работы, цены);
- Выбор желаемого времени и услуги. Оплата услуг:
- Перевод средств через ссылку с фиксированной суммой;
- Возможность перечисления чаевых;
- Информация об успешной оплате.
- Уведомления:
- Уведомления о новостях и акциях;
- Уведомление через месяц о повторном посещении или на основе статистики посещений клиента. Оценка и отзывы:
- Возможность оставить отзывы и оценки после посещения мойки. Построение маршрутов:
- Интеграция с картографическими сервисами для построения маршрута до мойки.
-
Основные функции. Владелец мойки: Управление заказами:
- Уведомления на телефон о новых бронированиях;
- Система напоминаний, если владелец не ответил на уведомление;
- Возможность ручного определения времени освобождения мойки. Общение с клиентами:
- Интеграция с мессенджерами для обратной связи с клиентами. Управление автомойками:
- Возможность выбора свободного поста мойки;
- Редактирование информации о мойке (цены, услуги, часы работы). Аналитика и статистика:
- Доступ к данным о загруженности моек и частоте посещений клиентов.
-
Дополнительные функции (NICE-TO-HAVE, бэклог): Уведомления о скидках:
- Уведомления клиентов о скидках и акциях в мойке Программа лояльности:
- Награждение бонусными баллами за частые посещения;
- Возможность использования бонусов для оплаты услуг. Рейтинг и конкурсы:
- Возможность участия в конкурсах на основе общего количества посещений.
- Каталог дополнительных услуг:
- Продажа автозапчастей и средств по уходу за автомобилем.
-
Технологический стек: Фронтенд VueJS3 Бэкенд: Aiogram 3, SQLAlchemy, FastApi Приложение тг-бот с MiniApp Оплата - ЮКасса Мессенджер-интеграция: Telegram Bot API для обмена сообщениями. Оплата: Интеграция с системой переводов (например, сбер или подобными).
Репозиторий: github.com/Aprilarina/EasyBookerBot
Публичный бот работает и доступен в 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
- Склонируйте репозиторий и создайте виртуальное окружение.
cp .env.example .envи заполните секреты (BOT_TOKEN, PostgreSQL,BACK_URL,FRONT_URL,ADMINS).- Примените миграции:
alembic upgrade head. - Запустите:
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.