Разработка CRM на базе существующего NodeJS проекта
создать web UI для серверного решения.
Задачи:
1. Разработать на основе существующего NodeJS-проекта CRM систему для обработки СМЭВ-запросов (далее – CRM);
2. Интегрировать CRM со СМЭВ-адаптером (далее – Адаптер) в части передачи-получения сообщений (у Адаптера есть протестированный рабочий API);
3. Интегрировать CRM с текущим NodeJS проектом в части обеспечения единого UI.
Задачи иными словами: допиливаем NodeJS проект и подцепляем результат к Адаптеру.
Предполагаемый подход:
Берем NodeJS-проект и, ничего из него не выкидывая, расширяем функционал и интерфейс. Если CRM способна выполнять функции первичного NodeJS-проекта, значит Задача 3 решена.
Требуемый функционал CRM (не касаясь NodeJS-проекта):
1. Ведение реестров записей и карточек записей (3 реестра, 11 типов записей)
1.1. С возможностью поиска и фильтрации записей в реестре;
1.2. С возможностью создания/удаления/редакирования записей (карточек)
1.3. С возможностью выгрузки данных карточек в pdf
1.4. Отображение ссылок между записями (записи могут ссылаться друг на друга).
2. Интеграция с Адаптером по сценариям:
2.1. Сценарий "Запрос из CRM вовне". В CRM сформирована карточка с информацией для запроса, запрос направлен из CRM в Адаптер. Из Адаптера в CRM пришел ответ, ответ отобразился в карточке.
2.1.1. Некоторые запросы должны подписываться электронной подписью пользователя на стороне АРМ пользователя (через браузер).
2.2. Сценарий "Запрос извне к CRM". Из Адаптера в CRM пришел запрос, в CRM создалась карточка, В CRM сформирован ответ на запрос, ответ отправлен в Адаптер.
3. Админка
3.1. Создание пользователя и групп пользователей
3.2. Назначение пользователю/группе ролей на просмотр/создание/редактирование/удаление записей определенного типа
3.3. Журнал действий пользователя в системе (создание/редактирование/удаление записей), журнал авторизаций, журнал сессий.
4. Личный кабинет пользователя
4.1. Редактирование информации о пользователе
4.2. Смена пароля
5. Уведомления
5.1. Типы уведомлений: выплывающее окно, e-mail, смена фавикона.
5.2. События: поступление данных из Адаптера в CRM, инцидент в системе (например истекает срок ЭЦП)
6. Авторизация
- Авторизация пользователей по логину/паролю
- Авторизация пользователя по ЭЦП
7. Стартовый экран с отображением системной информации:
7.1. Количество непросмотренных запросов, поступивших в CRM (по клику – переход в отсортированный реестр запросов)
7.2. Количество непросмотренных ответов, поступивших в CRM (по клику – переход в отсортированный реестр ответов)
7.3. Количество запросов, поступивших в CRM, по которым не направлен ответ (по клику – переход в отсортированный реестр запросов)
7.4. Количество запросов, поступивших из CRM, по которым не получен ответ (по клику – переход в отсортированный реестр запросов)
8. Автоматизация
8.1. В случае отсутствия ответа на поступивший в CRM запрос в течение заданного времени (задается отдельно для каждого из 4 типов запросов) – автоматическое формировани ответа (по шаблону) и его передача в Адаптер
Плюсы и плюшки:
1. Существует более старая (технологически, но не функционально) версия CRM для СМЭВ. Ее можно будет использовать в качестве эталона при выверении итогового функционала CRM. Т.е. мы создаем функционально такую же, но технологически более совершенную систему (старую очень сложно поддерживать и дорабатывать – см. п.3).
2. Будет представлен помошник на задачи:
- подробное консультирование по вопросам интеграции с Адаптером;
- конфигурация Адаптера (при необходимости);
- создание карточек записей в CRM (рутинная работа).
3. CRM создается под блок проектов. Каждый новый проект в блоке требует кастомизации CRM. Начинаем с одного проекта, но если сработаемся – вы получите стабильный поток заказов.
Существующий NodeJS проект:
- Решает задачу мониторинга трафика Netflow (т.е. не имеет никакого отношения к СМЭВ и CRM);
- Самописный: NodeJS, Admin LTE, Highcharts, PostgreSQL, CentOS;
- UI – см. приложение;
- Информация по NodeJS проекту гуглится по слову "СКИТ.Трафик";
- Почему разработка не с нуля, а на базе NodeJS-проекта? Политика компании и желание руководства найти NodeJS-разработчика для долгосрочного сотрудничества.
Требования к исполнителю:
- нахождение в РФ, желательно – в Москве или Московской области (возможность прямой коммуникации – всегда большой плюс);
- опыт решения сходных задач;
- настрой на долгосрочное сотрудничество (как минимум, до конца года);
- понимание принципов работы СМЭВ – приветствуется.
Контрактация:
- договор (желательно);
- первый проект без аванса, но работы можно разбить на несколько этапов и платить по этапам.
От исполнителя в первую очередь жду:
- описание навыков и опыта;
- описание объема работ и бюджета.
Бюджет обсуждаем, своего четкого стоимости работ пока нет.