Проект по документации Open Digital Cash проекта.
Канал в Telegram: https://t.me/odc_kib
См. тут: https://github.com/kib-sources/odc-poc
Первая реализация pet цифровых наличных Open Digital Cash (ODC)
Исходники первой "наколеночной" версии:
- https://github.com/kib-sources/odc-raspberry-app
- https://github.com/kib-sources/odc-android-app
- https://github.com/kib-sources/odc-pseudo-sim
- https://github.com/kib-sources/odc-kotlin-core
- https://github.com/kib-sources/odc-kotlin-server
Вот что получилось:
Если видео не отображается, перейдите по ссылке: https://www.youtube.com/watch?v=38J_q7Re6SI
См. страницу definitions.md
Иерархия процессов:
- User cases -- бизнес-сценарии ODC
- Сценарии -- step-by-step сценарии с описанием шагов и диаграммами взаимодействий компонентов системы
- Операции -- конкретные операции, реализованные через REST или Kafka взаимодействия. Внутриние операции в рамках каждого компонента описаны внутри самого компонента и не требуют описания в рамках odc-doc.
В редких случаях один сценарий применим к нескольким юзеркейсам. Одна операция достаточно часто может выступать в рамках различных сценариев.
Нумерация UC и SC -- сквозная.
Нумерация операций имеет вид OP-ABC-xx, где ABC -- аббревиатура компонента. Например OP-FRW-01 или OP-AIT-05.
Всего предусмотрены следующие стороны:
- Кошельки -- это Android или iOS устройства, на которых установлены специальные приложения (odc-android-app \ odc-ios-app) и вставлены специальные SIM карты (odc-sim-wallet).
- Банкоматы и Системы Управления Банкоматов (СУБ)
- Процессинг
Архитектура см на страницах:
- C1
- C2 -- TODO
C3 архитектуру смотри в рамках README.md каждого компонента. Описание С4 архитектуры отсуствует -- читай код.
Сеть:
- public -- возможность выхода в публичные сети (в том числе интернет)
- protected -- выход в публичные сети (интернет) отсуствует, есть внутренняя сеть. Само устройство доступно для физического взаимодействия с public клиентами
- private -- выход в публичные сети (интернет) отсуствует, есть внутренняя сеть. Само устройство не доступно для физического взаимодействия с public клиентами.
Компонент, (префикс) | Комментарий | Сеть | Ссылка на C3 архитектуру |
---|---|---|---|
odc-sim-wallet (SIM) | Приложение для SIM карты | public | ... |
odc-android-app (APP) | Приложение "Кошелёк" для Android | public | ... |
odc-ios-app (APP) | Приложение "Кошелёк" для iOS | public | ... |
odc-gateway-api (API) | Шлюз для запросов к процессингу ODC | 3 независимых инстанса: public, protected, private | |
odc-android-framework (FRW) | Фреймворк для удобного взаимодействияс odc-sim-wallet, odc-android-app, odc-gateway-api | public | ... |
odc-ios-framework (FRW) | Фреймворк для удобного взаимодействияс odc-sim-wallet, odc-ios-app, odc-gateway-api | public | ... |
odc-authorization (AUT) | Микросервис для активации, аутентификации и авторизации кошельков, токен-кошельков и СУБ | private | ... |
odc-inventory (INV) | Инвентаризация блокчейнов в рамках каждой банкноты. При первом доступе в сеть все новые блокчейны для каждой банкноты отправляются на инвентаризацию | private | ... |
odc-audit (AIT) | Система аудита. Блокировка мошеннических кошельков | private | ... |
odc-issuance (ISS) | Система выпуска новых банкнот, а так же утилизация старых | private | ... |
odc-exchange (EXC) | Система для эксченджа | private | ... |
odc-savings (SAV) | Сберегательная касса для клиентов | private | ... |
odc-admin (ADM) | Панель администратора процессинга ODC системы | private | ... |