Рефакторинг кода проекта на Node.js

Бюджет По договоренности
Создан: 2 года назад
На модерации
Описание
Здравствуйте! Есть проект (ERP-система для бизнеса), написан на Node.js+Express и Mongo. Необходимо привести код в порядок, т.к. человек, который начинал писать проект, особо не волновался о красоте кода. Цель: переписать проект так, чтобы он был масштабируемым. Потенциальным Исполнителям будет отправлен архив с исходниками для ознакомления. По итогу, качество работы будет оценено разработчиком с нашей стороны. 
Просьба внимательно ознакомиться с заданием, затем назвать сроки и стоимость Вашей работы(В заказе обозначена условная сумма).
Откликайтесь ТОЛЬКО если Вы уверены в том, что справитесь, и знаете о чем идет речь.

На данный момент поставлены следующие задачи по выполнению задания:
1. Поменять структуру файлов, отдавать предпочтение понятиям separation of concerns, clean code architecture; разбить файлы не по категориям (типа api/rbac/search), а по их предназначениям (/controllers, /middlewares, /repositories, /models) 
2. Избавиться от мертвых/неиспользованных кусков кода
3. Настроить среду для тестирования и написать unit test, использовать Jest; при нужде stub'ов отдавать предпочтение Sinon; собирать coverage report
4. Рассмотреть пакеты и dependecies, обновить актуальные пакеты и удалить не нужные пакеты. Также стоит проверять на возраст/активность пакета. Используемые пакеты должны часто обновляться и иметь регулярные патчи
5. Перевести старый синтаксис (<ES5) на более новые версии языка; отдавать предпочтение на константы, arrow functions, object destructuring, optional chaining при замене старого синтаксиса
6. Настроить тандем ESLint и Prettier
7. Отделить логику обработки базы/эндпойнтов по соответствующим логическим папкам (/contollers, /repositories etc.)
8. Избавиться от излишней абстракции методов, папок, классов
9. Пересмотреть логику хранение файлов (streams, buffers)
10. Настроить систему кэширование запросов (предпочтительно использовать redis или node-cache)
11. Оптимизировать работу базы данных и запросы, индексировать часто используемые поля; сокращать количество документов при READ операциях; использовать проектирование ($project) для вытаскивания только нужных полей по мере возможности; использовать намеки ($hint) на индексы

Также, будем рады сотрудничать на долгосрочной основе с Вами, если Вы ответственный человек, знающий и любящий свое дело.
Благодарю, что уделили время!
Категория
Источник: fl.ru

Похожие проекты

safe$22
9 0
требуется готовую онлайн анкету на django по приему на работу перенести в whatsapp, telegram и viber. Нужно чтобы кандидат мог с удобством заполнять анкету с телефона, а все заполненные им данные по всем позициям автоматически загружались в нашу базу данных. В нашей базе будет создаваться резюме кандидата......
safe 
28 0
В наличии массив кадастровых номеров (КН), необходимо путем запроса на ПКК определить примерные географические координаты каждого объекта из массива КН (ОКС, ЗУ), вывести в результирующий файл эти ко-ты и ряд сопутствующих данных по этому КН....
1 год назад
safe 
44 1
Необходимо разработать бек и фронт мини-сервиса таким образом, чтоб его можно было развернуть внутри другого проекта....
safe$1111
23 0
Стоит на Бизнесе для своих нужд на простеньком базовом шаблоне, складываю туда контент потихоньку. Нужно начинать приводить в соответствие что бы публика сразу не убегала, а как то цеплялась, да и продвигать не торопясь. Шаблон где порвался от вставки баннеров подправить, для мобилок может сверстать.......
safe$22
55 0
Парсер для сайта stockx. com на питоне (selenium/pyppeteer). Необходим следующий функционал: 1. На главной странице с поиском по ключевым словам найти первый результат из поиска (ссылку на страницу товара) ....
1 год назад
safe$44
49 0
Трипланарная транспортная задача (отправители - транспорт - получатели) генерация исходных данных трехэтапное решение 1....
safe$1111
48 0
Требуется написать парсер маркетплейса, у которого есть только мобильное приложение (IOS, Android). Есть исходный код Android приложения (Java + Kotlin), реверснутый через JADX. Необходимо парсить данные о товарах, полученные по артикулу. За подробностями тг: @markermann)....
1 год назад
 
38 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
36 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
37 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
31 0
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
 
40 1
Требуется написать софт , который будет делать рассылку по личным сообщениям на площадке Ebay Kleinanzeigen по заранее спаршенным обьявлениям....
1 год назад
$22
59 1
В Геткурсе нужно сделать интеграцию со Сбербанком для оформления рассрочки/кредита. Основная задача – передача суммы и номера заказа при переходе для оформления рассрочки и возврат сведений при удачном оформлении. Эквайринг от Сбербанка к Геткурсу подключён, а готовой интеграции для рассрочки нет. Если......
1 год назад
 
96 0
Нужно сделать бот перехватчик заказов по фильтру такси Максим!...
1 год назад
$33
75 1
Как можно загрузить готовое фото из галереи, если приложение просит загрузить фото и при этом открывает камеру телефона? Нужно вместо использования реальной камеры смоделировать вход камеры и при этом загрузить фото из галереи....
1 год назад
 
117 3
Очень простой криптообменник в виде веб-сайта. Без смарт-контрактов и т. Все платежи вручную....
Смотреть все