Задание: Прикладной программист. Программы для отлавливания и эмуляции действий пользователя (Дистанционная работа)
Техническое задание на разработку программы для отлавливания и эмуляции действий пользователя
### Общие требования
1. Цель проекта: Разработать две взаимосвязанные программы для записи и последующей эмуляции действий пользователя (нажатия клавиш, движений и кликов мыши), с возможностью онлайн-синхронизации данных между разными устройствами.
2. Терминология:
- Программа 1 (Recorder): Программа для отслеживания и записи действий пользователя.
- Программа 2 (Player): Программа для чтения данных из базы и их эмуляции на другом устройстве.
### Программа 1 (Recorder)
Основные функции:
- Отслеживание нажатий клавиш клавиатуры, движения и кликов мыши в реальном времени.
- Запись полученных данных (включая координаты мыши) в указанную базу данных (например, PostgreSQL).
Настройки программы:
- Возможность задать параметры подключения к базе данных (адрес сервера БД, имя базы данных, пользователь, пароль).
Требования к работе:
- Минимальная задержка при записи действий в БД.
- Безопасное хранение учетных данных доступа к БД.
- Интерфейс для настройки параметров подключения к БД.
### Программа 2 (Player)
Основные функции:
- Подключение к указанной базе данных для чтения записанных действий пользователя.
- Эмуляция (воспроизведение) действий пользователя (нажатия клавиш, движения мыши, клики) на основе данных из БД.
Настройки программы:
- Возможность задать параметры подключения к базе данных (адрес сервера БД, имя базы данных, пользователь, пароль) для чтения записанных действий.
Требования к работе:
- Минимальная задержка между чтением данных из БД и их эмуляцией.
- Возможность одновременного подключения и эмуляции действий на неограниченном количестве устройств.
- Безопасное хранение учетных данных доступа к БД.
- Интерфейс для настройки параметров подключения к БД.
### Общие требования безопасности и производительности
- Обеспечить максимально возможную оптимизацию соединения и передачи данных между Программой 1 и БД, а также между БД и Программой 2.
- Реализовать проверку на предмет возможных ошибок при записи/чтении данных в БД и их корректная обработка.
### Тестирование
- Проверка стабильности работы при одновременной записи и воспроизведении на нескольких устройствах.
- Проверка работы например в программе word,excel, paint. Все должно синхронно отображаться на всех компьютерах.
### Документация
- Документация к обеим программам, включая руководство пользователя по настройке и использованию программ.
- Техническая документация по API для возможных дальнейших интеграций.