EXO: Тарифікація та розрахунки
EXO (EXOSCULAT, рахунок латиною) — автоматизована система обліку наданих послуг, їх тарифікації і виставляння рахунків для оплати. EXO — це універсальний менеджер облікових записів (клієнтських рахунків), які містять історію тарифікованих транзакцій. Облікові записи контролюються BPMN процесами, активності яких визначені Erlang функціями. EXO, як приклад ERP.UNO може бути використаний як прототип для побудови білінгових систем, банків та інших облікових систем.
Запуск
Бізнес-процеси підприємства BPE визначають інфраструктуру для оркестрування виробничих процесів згідно стандарту BPMN, та систем на основі декларативних правил. BPE зберігає транзакційно усі кроки бізнес-процесів у сучасній системі даних KVS на базі RocksDB.
$ sudo apt install erlang elixir build-essential cmake
$ git clone https://github.com/erpuno/exo
$ cd exo
$ mix deps.get
$ iex -S mix
$ open http://localhost:8051/app/login.htm
Це навчальний приклад освітнього підготовчого курсу для інтернів, який використовується для здодобуття навичок програмування систем на бібліотеках N2O.DEV.
Структура проекту
- Вікно споживача: Профіль, Споживання, Сервіси
- Бек-офіс: Звітність, Тарифи, Ролі
- Адміністратор: BPE, FORM, KVS, N2O, MNESIA
Статичні HTML контейнери Споживача
- profile.htm Обліковий запис споживача
- consume.htm Споживання сервісів
- service.htm Налаштування сервісів та тарифи
Статичні HTML контейнери Бек-офісу
- reports.htm Звітність
- tariffs.htm Тарифні моделі
- domains.htm Рольова модель
Статичні HTML контейнери Адміністратора
- login.htm Сторінка авторизації
- bpe.htm Сторінка всіх процесів
- form.htm Сторінка всіх форм
- process.htm Сторінка історії процесу
- kvs.htm Сторінка всіх ланцюжків даних
- n2o.htm Сторінка службових таблиць сервісів N2O
- mnesia.htm Сторінка таблиць бази даних MNESIA
Базові модулі
- application Головний модуль Erlang/OTP додатку
- schema хема даних, її налаштування
- routes Налаштування маршрутів HTML сторінок для веб-серверу
Редактори форм
- bpe_pass Форма аутентифікації
- bpe_create Форма створення процесу
- bpe_row Таблична форма-рядок відображення процесу
- bpe_trace Таблична форма-рядок відображення кроку процесу
Контролери сторінок
- bpe_act Сторінка відображення історії процесу
- bpe_login Сторінка аутентифікації
- bpe_index Сторінка переліку всіх процесів BPE
- bpe_forms Сторінка відображення всіх форм системи FORM
- kvs_adm Сторінка даних KVS
- n2o_adm Сторінка таблиць N2O
- mnesia_adm Сторінка даних MNESIA
Аутентифікація
Сторінка аутентифікації та авторизаціх разом з системними сесіями є важливою частиною кожної ERP системи. У прикладі наведена PLAIN password HTML форма.
Процеси
Сторінка переліку BPE процесів ERP системи та форма для їх створення.
Форми
Сторінка переліку всіх форм ERP системи.
Транзакції
Сторінка історії кроків бізнес-процесу BPE.
Дидактичні матеріали
Дописувачі
- Максим Сохацький