-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Feature/dae 2288/add documentation regarding single transfers (#10)
* doc: update prowallet reference architecture diagram * doc: update treasury management reference architecture * doc: update treasury management reference architecture * doc: remove GGMT's references from images on authentication and sdk settings procedures * doc: update docker support diagram to C4 model --------- Co-authored-by: juandiego <[email protected]>
- Loading branch information
1 parent
76aa71e
commit 22c214f
Showing
12 changed files
with
117 additions
and
161 deletions.
There are no files selected for viewing
Binary file added
BIN
+45.8 KB
Writerside/images/prowallet/prowallet_access_token_management_screen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+146 KB
Writerside/images/prowallet/prowallet_sdk_settings_contextual_menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+54.8 KB
Writerside/images/prowallet/prowallet_sdk_settings_get_private_key.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,117 +1,89 @@ | ||
# Mass Transfers | ||
|
||
|
||
## Reference architecture | ||
|
||
```plantuml | ||
@startuml | ||
!include <C4/C4_Container> | ||
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Component.puml | ||
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml | ||
scale max 870 width | ||
skinparam actorStyle awesome | ||
LAYOUT_WITH_LEGEND() | ||
rectangle "B2C" <<Person>> { | ||
actor "Recipient" as Recipient | ||
} | ||
scale max 850 width | ||
skinparam linetype ortho | ||
title Prowallet container diagram | ||
footer Qenta ProWallet | ||
rectangle "Organization" <<Company>> { | ||
component "System" { | ||
[SDK] #orange | ||
Boundary(customer, "Customer") { | ||
Person(user, "Customer user") | ||
System_Boundary(customerSystem, "Customer System"){ | ||
Container(qentaSDK, "Qenta SDK", "Java based SDK") | ||
} | ||
actor "Organization User" as OU | ||
} | ||
rectangle "Qenta ecosystem" { | ||
[Qenta App] | ||
rectangle "ProWallet ecosystem" { | ||
interface "HTTP" as HTTP | ||
HTTP -down- [API Gateway] | ||
rectangle "User interface" { | ||
[ProWallet Console] | ||
} | ||
System_Boundary(qentaEcosystem, "Qenta Ecosystem") { | ||
Container_Boundary(proWalletConsole, "ProWallet user interface") { | ||
Container(proWalletWeb, "ProWallet Web", "Web application") | ||
} | ||
component "Mass transfer engine" as engine { | ||
[Recipients service] #orange | ||
[Batch service] #orange | ||
} | ||
Container(apiGateway, "API Gateway") | ||
Container_Boundary(massiveTransactions, "Massive Transactions API") { | ||
Component(transactionBatches, "Transactions Batchs", "Java") | ||
Component(recipientsManagement, "Recipients", "Java") | ||
} | ||
Container_Boundary(coreService, "Core Microservices"){ | ||
Component(jwt, "JWT", "Microservice") | ||
Component(pricing, "Pricing", "Microservice") | ||
Component(registration, "Registration", "Microservice") | ||
Component(payment, "Payment", "Microservice") | ||
Component(comm, "Comm", "Microservice") | ||
Component(pyWallet, "PyWallet", "Microservice") | ||
} | ||
rectangle "Qenta Payments" { | ||
[EMConnect] | ||
[Qenta CEE] | ||
Container_Boundary(qos, "QoS"){ | ||
Component(wallets, "Wallets", "Solidity") | ||
Component(contracts, "Contracts", "Solidity") | ||
} | ||
component "Core services" as core { | ||
[Pricing service] #orange | ||
[Notification service] | ||
[Payment service] #orange | ||
[Orders service] | ||
[Transfer service] | ||
} | ||
component "QoS" as BC <<Blockchain>> { | ||
[Wallets] | ||
[Contracts] | ||
Container_Boundary(qentaPayments, "Qenta Payments"){ | ||
Component(qentaCEE, "Qenta CEE", "Microservice") | ||
Component(emConnect, "EM Connect", "Microservice") | ||
} | ||
} | ||
rectangle "Global payment paywalls & Banks" { | ||
[PayPal] | ||
[Payoneer] | ||
[Local & Regional Banks] | ||
Boundary(thirdPartyPayWalls, "Global payment paywalls & Banks") { | ||
System_Ext(banks, "Local & Regional Banks") | ||
System_Ext(paypal, "Paypal") | ||
System_Ext(payoneer, "Payoneer") | ||
} | ||
Rel(user, proWalletWeb, "Uses") | ||
Rel(proWalletWeb, apiGateway, "Calls") | ||
Rel(qentaSDK, apiGateway, "Calls") | ||
OU .down.> [ProWallet Console] : Manage recipients \n & batches | ||
Recipient .down.> [Qenta App] : Uses | ||
Rel(apiGateway, massiveTransactions, "Exposes") | ||
[ProWallet Console] .left.> [HTTP] : Use | ||
[SDK] .down.> [HTTP] : Create batch | ||
[API Gateway] .down.> [Batch service] : forward | ||
[API Gateway] .down.> [Recipients service] : forward | ||
[Batch service] .down.> [Pricing service] : Use | ||
[Recipients service] .down.> [Notification service] : Use | ||
Rel(apiGateway, coreService, "Exposes") | ||
[Transfer service] .down.> [Wallets] : Use | ||
Rel(transactionBatches, pricing, "Uses") | ||
Rel(transactionBatches, pyWallet, "Uses") | ||
Rel(recipientsManagement, comm, "Uses") | ||
[Qenta App] .down.> [Payment service] : Pay | ||
Rel(pyWallet, wallets, "Uses") | ||
[Payment service] <.down.> [EMConnect] : Use | ||
Rel(payment, qentaCEE, "Integrates") | ||
[EMConnect] .down.> [Local & Regional Banks] : Integrates | ||
Rel(emConnect, banks, "Integrates") | ||
Rel(emConnect, paypal, "Integrates") | ||
Rel(emConnect, payoneer, "Integrates") | ||
@enduml | ||
``` | ||
|
||
## Managing Recipients | ||
|
||
Before to include a recipient into a payment batch you need to onboard him. The recipient is the person that will receive the payment. | ||
|
||
### Onboarding | ||
|
||
```plantuml | ||
@startuml | ||
!theme _none_ | ||
|Organization| | ||
start | ||
:Onboard recipient; | ||
|Recipient| | ||
if (Already user?) then (yes) | ||
:Notify subscription; | ||
else (no) | ||
:Send invitation; | ||
endif | ||
stop | ||
@enduml | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.