Техническое задание: Telegram-бот для управления клиентской базой
Цель проекта
Разработать Telegram-бота на Python для автоматизации работы менеджеров с базой данных заказчиков. Бот должен обеспечивать удобный интерфейс для обработки данных, их актуализации и отслеживания статусов взаимодействия.
Основной функционал
- Загрузка данных: Прием и обработка Excel-файлов (.xlsx) с данными о заказчиках.
- Работа с базой данных: Сохранение и структурированное хранение информации.
- Интеллектуальное обновление записей: Ключевая логика системы. При загрузке новых данных бот должен определять, является ли запись обновлением существующего заказчика или новым контактом. Обновление происходит при изменении цены, появлении новых контактов (телефон, email) или изменении требований. Старая версия записи скрывается из поиска.
- Поиск: Для менеджеров: поиск заказчиков по району, должности контактного лица или названию объявления.
- Карточки заказчиков: Просмотр детальной информации с возможностью листания (навигации вперед/назад).
- Редактирование: Возможность редактирования любого поля в карточке заказчика напрямую в боте.
- Отметка о завершении работы: Функция "Отработано" с обязательным указанием даты и текстового комментария.
Технические требования
- Язык и фреймворк: Python 3.10+, aiogram версии 3.
- Библиотеки для работы с данными: pandas и/или openpyxl для обработки Excel-файлов.
- База данных: SQLite (рекомендуется для простоты) или PostgreSQL (для масштабируемости).
- Деплой: Развертывание готового решения на VPS.
Что НЕ требуется
- Веб-панель или веб-интерфейс.
- Отдельная админ-панель.
- Использование конструкторов ботов или no-code платформ.
Ключевое требование к исполнителю
Исполнитель должен четко понимать и уметь реализовать разницу между простым дублированием записей и логикой обновления данных существующего заказчика. Это основа бизнес-логики проекта.
Сроки выполнения
Ориентировочный срок разработки: 5-7 рабочих дней.