JetCalc - облачная платформа экономического моделирования с системой обратной связи
Назначение JetCalc
JetCalc - облачная платформа экономического моделирования с системой обратной связи, предназначенная для сбора и консолидации управленческой отчетности, бюджетирования и финансово-экономического анализа. Номер регистрации в Федеральном институте промышленной собственности (ФИПС) - 2020611655 от 06.02.2020 г.
Характеристики JetCalc
- высокопроизводительная масштабируемая облачная технология с гибкой настройкой прав доступа к пользовательским данным
- экономическое моделирование с помощью встроенного языка контекстно-зависимых формул без участия программистов
- обновление экономических моделей, консолидация данных и формирование отчетности в режиме реального времени
- гибкие механизмов верификации вводимых данных
- развитые инструменты визуализации данных
- настраиваемые инструменты обратной связи и контроля исполнительской дисциплины
- распространение программного кода JetCalc под лицензий MIT
Реализация в JetCalc обратной связи
- запись действий каждого пользователя по заполнению документов и изменению их статуса
- увязка изменения статуса документа с верификацией вводимых данных
- пользовательские инструкции по заполнению форм ввода и анализу данных
- контекстно-зависимый чат для обсуждения рабочих вопросов
- широковещательные объявления с подтверждением прочтения
Способы установки JetCalc
В зависимости от целей и технических возможностей серверную часть JetCalc можно установить:
- на облачном хостинге VDS
- на выделенном сервере в локальной сети
- на локальном компьютере в виртуальной машине VirtualBox
Серверная часть JetCalc работает под управлением операционной системы Linux Ubuntu Server версии 16.04 или более высокой.
Клиентская часть JetCalc может выполняться на любой платформе в любом современном веб-браузере, хотя предпочтительным является браузер на движке V8, например Google Chrome или Яндекс.Браузер.
Порядок установки и первоначальной настройки описан в главе 11. Установка JetCalc Руководства пользователя JetCalc.
Для развертывания и промышленной эксплуатации JetCalc в облаке достаточно 4-х ядерного процессора, 8 Гб оперативной памяти и 25 Гб диска SSD (стоимость VDS-хостинга с такими параметрами на NetAngels составляет около 1600 рублей в месяц).
Для тестирования возможностей JetCalc в облаке достаточно 2-х ядерного процессора, 2 Гб оперативной памяти и 10 Гб диска SSD (стоимость VDS-хостинга с такими параметрами на NetAngels составляет около 600 рублей в месяц).
Для комфортной работы в браузере одновременно с другими открытыми приложениями рекомендуется не менее 8 Гб оперативной памяти.
Статические файлы системы отдаются через веб-сервер NGINX . Файлы, расположенные в папке static и папках модулей, доступны из браузера, а все вызовы, начинающиеся с префикса /api/, передаются на обработку в Node.js.
Весь серверный код выполняется на сервере Node.js посредством библиотеки Express. Для работы с датами испльзуется библиотека Moment.js. Для оптимизации и сокращения количества кода используются функциональные возможности библиотеки Lodash. Для того, чтобы избежать больших количеств вложенных функций (callback hell), применяется библиотека Async. В системе принципиально не используются Promise (но это может не остановить сторонних разработчиков).
Реляционная база данных PostgreSQL используется для хранения первичных значений ячеек документов. Все механизмы взаимодействия с базой данных производятся через специальные процедуры. Все запросы приложения к базе данных выполняются без промежуточного кеширования.
В MongoDB хранится вся информация приложения о всех настройках предметной области. Взаимодействие приложения c MongoDB осущесвляется посредством расширения Mongoose.
Redis используется для кеширования в оперативной памяти практически всех данных работаюдщего приложения, кроме первичных значений ячеек, хранящихся в базе данных PostgreSQL.
Клиентская часть реализована в виде модульного одностраничного приложения на JavaScript, в которой применяются те же Lodash, Moment.js и Async.
При проектировании работы подключаемого модуля следует учитывать, что если модуль требует тяжеловесных сторонних библиотек, то их можно подгружать при необходимости с помощью RequireJS. Хороший пример - модуль построения графиков (chart), который подгружает большие библиотеки C3 и D3 только когда пользователь находится на странице в графиками.
В клиентском коде для привязки данных применяется библиотека Knockout.
В системе подключается библиотека jQuery, хотя в большинстве случаев она не не используется напрямую, особенно с завязыванием на атрибут id элемента. Эти задачи решаются через custom binding.
Для верстки системы используется Bootstrap.
Более подробно о назначении системы JetCalc можно узнать на сайте www.jetcalc.ru, на котором размещены различные методические материалы по настройке и эффективному использованию JetCalc в практической деятельности финансово-экономических подразделений.
На GitBook разрабатывается документация по JetCalc. Приветствуются любые замечания и предложения по документации, которые можно высылать на почту info@cyberjet.ru.
По адресу demo.jetcalc.ru доступна демо-версия финансового анализа на JetCalc, а по адресу metal.jetcalc.ru размещена демонстрационная модель калькулирования себестоимости в черной металлургии. С логином demo и паролем demo доступен вход только по чтению для предварительного знакомства с пользовательским интерфейсом. Чтобы получить расширенный доступ, необходимо зарегистрироваться в демо-версии JetCalc, выбрав пункт Регистрация на странице ввода логина и пароля.
Координация деятельности экономистов и программистов, участвующих в развитии проекта, осуществляется на хостинге компании JetBrains в трекере YouTrack на странице leossnet.myjetbrains.com/youtrack