Доработка, добавление функциональности и поддержка REST-бэкенда

700 руб.за час • наличный расчёт, электронные деньги
06 июля 2016, 09:15 • 6 откликов • 169 просмотров
Долгосрочный парт-тайм, часов примерно на 10-20 в неделю. Размер и характер материальной компенсации обсуждаем, бюджет приведён для характерного масштаба. Проект: что-то вроде shadertoy.com и glslsandbox.com Примерный список требований:
  • REST (HATEOAS не надо) и JSON во все поля
  • Минимальная сложность и минимальное количество зависимостей
  • В первом приближении: просто перекладывание небольшого количества классов лёгких объектов из пустого (JSON) в порожнее (PostgreSQL) и наоборот, местами с минимальной обработкой (bcrypt паролей, например). Версионирование состояний некоторых объектов.
  • Далее, сложные запросы, например:
    • /scenes/id1,id2,id3,...,idN -- возвращает массив из всех таких сцен
    • /users/uid1/scenes/ -- возвращает массив всех сцен пользователя uid1, видимых для текущей сессии (т.е. как правило только публичные)
    • /<class>/<ids,...>?<QUERY>, где ещё не специфицированный формат <QUERY> влияет на отдаваемые поля, сортировку, глубину отдачи зависимых объектов и т.д.
    • /<class>/{<search>} -- поиск объектов по некоторым критериям
  • Совсем далее: загрузка-выгрузка толстых (мегабайты свежей информации) ассетов: текстур
На текущий момент есть прототип бэкенда на питоне написанный человеком, который вообще не разбирается ни в вебе, ни в питоне (мной): https://github.com/w23/tool.gl/blob/backend_protot... Использованы falcon для wsgi и peewee для sql, как самые простые из того, что я нашёл. Стоит отметить, что стек технологий практически не важен -- питон взять просто из соображений, что я его недавно трогал. Сможете убедить, что надо фигачить на ноде или, прости господи, перле -- будем фигачить на ноде и перле. Работать будем в публичном репозитории на гитхабе, под MIT лицензией. Приблизительный план работ такой:
  1. Показываете себя и примеры того, что умеете.
  2. Консультируете по REST API design и проводите базовое ревью прототипа бэкенда. Бьёте меня по рукам за кривые решения и предлагаете лучше. Оцениваете объем работ и стоимость.
  3. Доводите до ума (или переписываете) бэкенд в первом приближении (users, sessions и scenes без версионирования)
  4. Приделываем версионирование и клонирование сцен.
  5. Сложные запросы.
  6. Тяжёлые ассеты.