aurorajob : add info about new job listing.

This commit is contained in:
Dmitry Voronin 2023-10-23 18:19:17 +03:00
parent d4a0d4d9bb
commit a0aed00a4e

View file

@ -0,0 +1,32 @@
# Требования к разработчику фреймворка FMP для ОС Аврора.
## Краткое описание фреймворка.
Продукт представляет собой клиент-сервер систему. Сервер занимается агрегацией информации из различных источников. Клиенту (фреймворку) все данные предоставляются в едином формате. Помимо стандартизации формата данных, сервер также выполняет множество операций с данными: кэширование, расчёт дельты для ускоренной доставки данных клиентам, аутентификация и многое другое.
Сама идея фреймворка заключается в уменьшении трудозатрат на популярные задачи разработки. Разработчику не нужно решать вопрос аутентификации, работы с СУБД или облачным хранилищем файлов. Фреймворк целиком состоит из высокоабстрактных методов, таких как `FMPUser.auth()` для аутентификации, `FMPDatabase.query()` для запросов в локальную БД и многих других. Клиент посылает запросы на сервер через вышеупомянутые методы, сервер же возвращает ответ, который в последствии преобразуется в удобные для работы объектные модели.
## План работ.
1. Первоначально требуется разработка фреймворка (библиотеки для разработчиков) для ОС Аврора. Имеются реализации для Android и iOS. Реализация для Аврора потребуется по их примеру.
2. Также потребуется автоматизация тестирования фреймворка.
3. По завершению работы над фреймворком следует реализация Шаблонного приложения - демонстрация возможностей фреймворка в формате приложения для ОС Аврора.
4. В долгосрочной перспективе следует поддержка фреймворка: добавление нового функционала и исправление ошибок. Также разработка иных приложений для ОС Аврора с использованием фреймворка.
## Требования к разработчику.
1. Опыт разработки для ОС Аврора (C++, QT).
2. Обязателен опыт работы с СУБД, в частности SQLite.
3. Понимание работы клиент-серверных систем. Общение с сервером через HTTP API.
4. Опыт реализации шифрования данных: файлов и баз данных SQLite.
5. К реализации представлены требования по безопасности и скорости работы. Потребуются оптимизации процессов обработки данных.
6. Важна стабильность внешнего интерфейса фреймворка. Поэтому при разработке важно учитывать общую архитектуру, чтобы сохранять обратную совместимость.
7. Понимание принципа работы Push-уведомлений на мобильных устройствах.
8. Опыт написания автотестов и документации кода.
9. Техническая поддержка: ответы на вопросы по фреймворку, изучение и решение возникших проблем (багов).
## Пожелания.
1. Опыт командной работы с Git-системами. Мы используем GitLab.
2. Возможность работы с Docker позволит развернуть сервер локально, что может помочь при разработке.
3. Понимание деталей работы HTTP. Фреймворк поддерживает различный связанный с HTTP функционал. Например, TLS-pinning.