Разработка приложения для отслеживания корректности ввода больших корпоративных данных

Разработка приложения для отслеживания корректности ввода больших корпоративных данных

Клиент

Международная сеть фирм, предоставляющих аудиторские, налоговые и
консультационные услуги. Клиентами являются компании, стремящиеся выявить пробелы или несоответствия в большом потоке собственных корпоративных данных или желающие провести оценку процессов, лежащих в основе систем корпоративного управления.

Проект

В крупных компаниях с большой и сложной структурой и большим потоком данных очень важно иметь механизм, который бы контролировал корректность передаваемых и обрабатываемых данных. Клиент принял решение создать программное приложение, которое впоследствии компания могла бы продавать своим клиентам. Данное приложение
отслеживает корректность ввода больших корпоративных данных в реальном времени и оповещает участников процесс в случае допуска ошибок.

Ключевая функция приложения – быстро донести до пользователя, с помощью различных графиков и диаграмм, что валидность вводимых данных сохраняется на должном для конкретной системы заказчика уровне. В случае нарушения всем заинтересованным лицам рассылаются оповещения: как самим «нарушителям», так и создателям конкретных правил.

Ход проекта

На момент включения нашей компании, у заказчика уже были сформированные маркетинговая и технологическая идея приложения, создана диаграммная архитектура и разработана демоверсия продукта. От нашей компании требовалось взять на себя весь процесс разработки финальной версии продукта. В рамках проекта была проведена реструктуризация кода существующей пилотной версии. Решена задача распределения данных для разных клиентов с помощью принципа мультиарендности путем нескольких баз данных. Стабилизация кода способствовала улучшению производительности, устойчивости
передачи данных и отзывчивости клиентского приложения.

Выполненные задачи

  • Исправление ошибок клиентской части приложения.
  • Изменение внутренней структуры приложения для упрощения дальнейшей разработки.
  • Добавление ключевого функционала по управлению рисками и бизнес-правилами.
  • Обновление структуры таблиц БД для поддержки миграции данных из одной базы в другую.
  • Добавление функционала, отвечающего за ежедневный пересчет основных показателей и сохранение результатов для подсчета статистики.
  • Добавление функционала миграции объектов системы между БД.
  • Добавление функционала, отвечающего за ежедневный пересчет основных показателей и сохранение результатов для подсчета статистики.
  • Добавление функционала миграции объектов системы между БД.
  • Увеличение производительность клиентской части приложения.

Особенность проекта

Одна из особенностей проекта заключается в использовании технологии Node.js. Node.js является кроссплатформенной серверной технологией. Для проекта были важны следующие ее особенности:

  • возможность разрабатывать приложения для Linux, Windows серверах;
  • хорошая масштабируемость;
  • клиентское single-page приложение написано на AngularJS. NodeJS обеспечивает «бесшовную» интеграцию с AngularJS с использованием REST подхода и AJAX для управления данными;
  • удобный событийно-ориентированный движок для взаимодействия между клиентом и сервером;
  • самое важное – все больше заказчиков интересуются этой технологией.

Результат проекта

Разработка заняла шесть месяцев. Нам удалось успешно решить все поставленные задачи. Приложение запущено в продуктив и используется примерно у 10 клиентов компании заказчика. В настоящее время продолжается совершенствование приложения.

Технологическая основа проекта

• Node.js – сервер. Цель: передача и обработка данных из базы данных для web-клиента.
• MSSql Azure – хранение данных.
• Angular.js, Highcharts.js – отображение, создание бизнес-процессов, статистики. Графики и диаграммы для наглядного представления.