Прототип REST API на NodeJS + MongoDB

Цена договорная • безналичный расчёт, электронные деньги
14 апреля 2018, 18:35 • 7 откликов • 71 просмотр
В рамках разработки пилотной версии системы интерактивного конфигурирования необходимо решить задачу создания server-side REST API на NodeJS, в частности:

  • Выбрать СУБД - предполагается MongoDB, но мы готовы выбрать альтернативу, если есть аргументы против
  • Разработать практичную и эффективную структуру базы данных; типы и количество хранимых данных известны, мы будем рады дать подробное описание полей в ТЗ, а также выслушать мнение исполнителя о наиболее оптимальной структуре хранения
  • Продумать архитектуру запросов и ответов с учетом задач API
  • Продумать безопасность сервера - неавторизованное приложение или запрос из curl со случайного URL не должны отдавать никакой информации
  • Решить задачу, держа масштабирование в уме - мы на стадии MVP, поэтому сейчас нужно "чтобы просто работало", но для нас важно не переписывать все с нуля при масштабировании проекта, и мы ждем от исполнителя умения и желания учесть это при разработке
Важные детали:

  • Проект на ранней стадии разработки, поэтому многие решения нужно принять самостоятельно, руководствуясь вводными в ТЗ и общим пониманием проекта
  • Мы платим по часам при условии, что исполнителя не смущает ведение разумного учета рабочего времени (например - коммит ХХХ, написал базовую обертку для структур данных А, В, С, затрачено 4 часа). Заказчик технически компетентен, способен читать и анализировать код.
  • Работа ведется только после согласования нами ТЗ. Мы готовы оплатить время разработчика, потраченное на доработку ТЗ с учетом пожеланий, переданных общими словами (например, "нужно обеспечить безопасность запросов" - мы рассчитываем, что исполнитель лучше нас знает, как это сделать, но до того, как приступить к работе, добавит в ТЗ абзац о том, какие шаги он хочет предпринять, почему, и как конкретно будет выглядеть результат)
  • Опыт решения подобной задачи, использование собственного кода или готовых решений, экономящих время при разработке, и профессиональный подход к коммуникации будут большим плюсом
Пожалуйста, предлагайте Ваши условия работы, и не стесняйтесь задавать вопросы - буду рад прокомментировать любые части задачи.