Необходимо доработать существующую десктопную программу на Python (около 9000 строк кода).
Программа уже работает и имеет графический интерфейс. Используются:
- Python 3
- Selenium
- Tkinter / CustomTkinter
- SQLite
- asyncio
- requests
- Telegram Bot API
Проект не требует разработки “с нуля”. Необходимо разобраться в существующем коде и внести изменения.
Причина доработки
После обновления платформы X (Twitter) изменился интерфейс и логика работы чатов.
В результате часть функционала, связанная с работой чатов, больше не работает или работает некорректно.
Необходимо адаптировать программу к новой версии интерфейса.
Что нужно сделать
1. Анализ существующего проекта
Необходимо:
- изучить структуру программы;
- найти все модули, отвечающие за работу с чатами;
- определить зависимости между ними;
- составить план внесения изменений.
2. Доработка функционала
Нужно адаптировать программу к новому интерфейсу чатов X.
В частности, реализовать корректную работу:
- открытия списка чатов;
- открытия конкретного чата;
- определения активного чата;
- получения новых сообщений;
- отправки сообщений;
- работы с групповыми чатами;
- обработки ошибок и нестандартных ситуаций.
3. Сохранить существующую логику программы
Во время выполнения работ необходимо:
- не нарушить работу графического интерфейса;
- не изменить существующую логику других модулей;
- сохранить совместимость с базой данных SQLite;
- сохранить существующую систему настроек;
- минимизировать количество изменений в коде.
4. Требования к коду
Код должен быть:
- понятным;
- структурированным;
- без дублирования;
- совместимым с текущей архитектурой проекта.
5. Проверка
После завершения работы необходимо:
- проверить запуск программы;
- убедиться в отсутствии ошибок;
- протестировать реализованный функционал.
Что будет предоставлено
Исполнителю будет предоставлено:
- исходный код программы;
- описание текущего функционала;
- информация по проблемным местам;
- тестовые данные (по необходимости).
Будет преимуществом опыт работы с автоматизацией веб-интерфейсов и рефакторингом существующего кода.