Андрей globall.dev zallord Сбер ID
Telegram-боты, Mini App, SaaS и веб-сервисы под ключ
Рейтинг
1 756
№ 572 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Москва
Опыт работы
7 лет
На сайте с
2019 года
Юридический статус
ИП
Freelance.Boutique
Премиум-сервис для лучших исполнителей

Админ-панель для заявок из бота и с сайта - склейка дублей, воронка и отчёты

Используемые навыки Docker FastAPI PostgreSQL Python React.js

Описание

Небольшая компания по услугам попросила одно место, где видно все заявки.
До этого заявки шли тремя дорогами - из телеграм-бота, с формы на сайте и просто в личку менеджеру.
Бот складывал их в общий чат, форма присылала письмо, личка не складывала никуда.
Один и тот же человек мог оставить заявку дважды, и ему звонили два разных менеджера.
Владелец не мог ответить на простые вопросы - сколько заявок было за неделю, у кого сколько в работе, на каком этапе всё встало.
Таблицу вели, но заполняли по памяти вечером, часть строк туда просто не доезжала.
Просили простую панель под свой процесс, без большой коробочной CRM.

Решение

Сделал веб-админку - FastAPI на бэке, React на фронте, база PostgreSQL, всё в Docker на VPS.
Приём заявок - один эндпоинт, в него шлют и бот, и форма сайта.
Заявка сохраняется вместе с источником и меткой, так-же видно, с какой страницы или из какого сценария бота она пришла.
Дубли ловятся по телефону и телеграм-id - повторная заявка прилипает к существующей карточке и новой сделки не заводит.
Карточка сделки - контакт, запрос, ответственный, сумма, комментарии, вложенные файлы.
Этапы воронки настраиваются в самой панели, названия заказчик правит без меня.
История изменений пишется отдельной таблицей - кто менял статус, когда, что стояло до этого.
Роли две - владелец видит все сделки и отчёты, менеджер только свои.
Отчёт по источникам и по конверсии между этапами, период выбирается, выгрузка в Excel одной кнопкой.
Первое, что рушит такую панель - заявка пропадает, если приёмник в момент отправки лежал или отвалилась база.
Поэтому сырое тело запроса пишется в лог до любой обработки, упавшие разборы прогоняются повторно и ничего не теряется.
Вторая беда - два менеджера открыли одну сделку и затёрли правки друг друга.
Закрыл версией записи, при сохранении сверяется, трогал ли карточку кто-то ещё.
Бэкап базы ночью, копия уезжает за пределы сервера.

Результат

Заявки собраны в одном списке, почту и переписку ради них больше не открывают.
Менеджер начинает день с фильтра по своим сделкам, ничего не выпадает из виду.
Владелец смотрит отчёт за неделю сам, просить выгрузку не нужно.
За первый месяц через панель прошло около 300 заявок, порядка тридцати из них склеилось как дубли.
Заказчику отдал исходники в его репозиторий, доступ к серверу и короткую инструкцию - как завести менеджера и как поменять этапы воронки.
После сдачи добавили две вещи по просьбе - уведомление в телеграм о заявке, которая висит без ответа дольше часа, и поле с датой следующего касания.

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Telegram Mini App для доставки суши - сеты с пересчётом цены, стоп-лист кухни и оплата
Telegram Mini App для доставки суши - сеты с пересчётом цены, стоп-лист кухни и оплата
16
Веб-разработка и IT Экспресс-магазин продуктов в Telegram - весовой товар с пересчётом по факту и слоты доставки
Экспресс-магазин продуктов в Telegram - весовой товар с пересчётом по факту и слоты доставки
15
Маркетинг и Продвижение Лендинг с квизом и заявками в Telegram - вопросы по шагам и вилка цены в конце
Лендинг с квизом и заявками в Telegram - вопросы по шагам и вилка цены в конце
13
Веб-разработка и IT Интеграция с маркетплейсами - остатки, заказы и статусы в одном окне
Интеграция с маркетплейсами - остатки, заказы и статусы в одном окне
15