Backend в виде Restful API на Node.js с кэшированием Redis. Docker.
Требуется разработать backend в виде Restful API на Node.js, с использованием кэширования на Redis.
Требования к стеку разработки:
Сервер: Nginx (для статики и возможного дальнейшего распределения нагрузки)
Язык: Node.js 10 (использовать по максимуму ES6 и выше) или последняя стабильная рекомендуемая версия
Кеширование: Redis
БД: Mongodb для справочника и статусов + Mongoose (ORM)
(и PostgreSQL для работы с заявками – на ваше усмотрение, возможно только Mongodb)
Кеширование: Redis
Формат работы между клиентом и сервером: RESTful API
Инструмент для дизайна и тестирования API: Swagger
Документирование API: Swagger
Формат входных и выходных данных API: Json
Ошибочный запрос к API на выходе: Json формат с HTTP кодом, номером ошибки и описанием ошибки
Тестирование: Функциональные тесты обязательны, покрытие по максимуму
Приемочное тестирование: предложите решения (возможен и Swagger)
Минимальные нагрузочные показатели: 400 запросов в секунду со статусом
HTTP 200 без внутренних ошибок
Требования к нагрузочному тестированию:
Тестирование должно проводиться на стороннем сервере, вне сети продакшн сервера. Желательно предложить сторонние веб сервисы предоставляющие такую услугу. Если это инструменты, предоставить ссылки на подробности установки этих инструментов и предоставить конфигурации к ним. Нагрузочное тестирование будет проводиться и вашими и нашими силами.
Docker: использование обязательно. Образ предоставляется по любому запросу Заказчика. В Docker (dev версии по крайней мере) настраиваются все составляющие Стека, без вынесения за пределы.
Инструменты профилирования Node.js: AutoCannon, Node Clinic (Clinic Doctor и Clinic Flame). Если не знакомы, читаем здесь
Принципы оплата:
Оплата: Почасовая
Принцип оценки: Данное техническое задание делиться на составляющие и оценивается по ним отдельно. Оценка составляющих содержит:
Количество необходимых часов
Цена часа и совокупная цена
Вопросы по составляющим обсуждаются с Заказчиком через Skype.
Заключение договора: Для компании на территории России обязателен.
Для компаний на территории Украины не обязателен.
Способ оплаты: обсуждаем
Оплата: оплата составляющей производится до или после начала работ над ней.
Полная оплата за проект: не производится. Производиться только частичная оплата за оцененные составляющие по мере их выполнения.
ТЗ: https://docs.google.com/document/d/1o5p2i1ue8LD-fxSN4M1MQPTfCTEoF-XYi56sEJHkDlQ/edit?usp=sharing
Только для компаний.