Задание: Рефакторинг и код-ревью. Senior Python-разработчик: устранение системных ошибок в действующем чат-боте (Дистанционная работа)
Ищу независимого разработчика для доработки действующего текстового бота для клиник. Каналы — Telegram и MAX. Нужен опыт разбора чужого кода, исправления бизнес-логики и предотвращения повторных ошибок. Есть репозиторий, описания проблем, материалы аудита и задачи в трекере. Объём заказа — четыре связанные задачи: 1. Объединить выбор услуги. Сейчас несколько участков кода независимо определяют, какую услугу выбрал пациент. Нужно сделать общий механизм, исключающий противоречия и подмену общего запроса конкретной процедурой без согласия пациента. 2. Объединить правила проверки полей записи. Имя, телефон, услуга, дата и дополнительные поля должны проверяться одинаково во всех сценариях ввода, исправления и сохранения. 3. Убрать дубли обработки подтверждения, отказа, отмены и исправления. Одинаковые сообщения пациента и действия через кнопки должны приводить к согласованному результату. 4. Запретить подтверждение неполной заявки. Если обязательные данные отсутствуют или некорректны, бот должен запросить недостающее и сохранить уже собранные сведения. Ожидаемый результат: - Исправления общих механизмов с проверкой всех затронутых путей обработки. - Автоматические тесты, воспроизводящие исходные ошибки и проверяющие исправления. - Проверка разных настроек клиник, включая дополнительные обязательные поля. - Соответствие ответа бота фактически сохранённым данным заявки. - Код в отдельной Git-ветке, описание изменений и инструкция проверки. Перед реализацией нужно проверить актуальность задач: часть изменений уже может находиться в разработке или тестировании. Выпуск на рабочий сервер — после отдельного согласования. Требования: уверенный Python, асинхронная обработка, PostgreSQL, Pydantic, pytest; опыт работы с состояниями процессов и рефакторинга существующих сервисов. Опыт с LLM-ботами будет плюсом. В отклике укажите: - Пример похожей работы: какая была системная проблема, что изменили и как проверили результат. - Сможете ли начать в ближайшее время и сколько часов выделите за неделю. - Какие материалы нужны для подтверждения объёма, стоимости и срока. После предварительного отбора предоставлю технические материалы для оценки.