apps | ||
build-utils@f7fe66c9f3 | ||
config | ||
test | ||
.gitignore | ||
.gitmodules | ||
docker-compose.sh | ||
Dockerfile.sh | ||
elvis.config | ||
Jenkinsfile | ||
Makefile | ||
README.md | ||
rebar.config | ||
rebar.lock |
Fistful
Wallet Processing Service
Development plan
Бизнес-функционал
- Минимальный тестсьют для кошельков
- Реализовать честный identity challenge
- Запилить payment provider interface
- Запилить контроль лимитов по кошелькам
- Запускать выводы через оплату инвойса провайдеру выводов
- Обслуживать выводы по факту оплаты инвойса
Корректность
- [.] Схема хранения моделей
- Поддержка checkout
- Коммуналка
Удобство поддержки
- Вынести ff_withdraw в отдельный сервис
- Разделить development, release и test зависимости
- Вынести части ff_core в genlib
Поддержка checkout
Каждая машина, на которую мы можем сослаться в рамках асинхронной операции, должно в идеале давать возможность зафиксировать версию своего состояния посредством некой ревизии. Получение состояния по ревизии осуществляется с помощью вызова операции checkout. В тривиальном случае ревизия может быть выражена меткой времени, в идеале – номером ревизии.
Коммуналка
Сервис должен давать возможность работать нескольким клиентам, которые возможно не знают ничего друг о друге кроме того, что у них разные tenant id. В идеале tenant должен иметь возможность давать знать о себе динамически, в рантайме, однако это довольно трудоёмкая задача. Если приводить аналогию с Riak KV, клиенты к нему могут: создать новый bucket type с необходимыми характеристиками, создать новый bucket с требуемыми параметрами N/R/W и так далее.