Skip to content

Commit

Permalink
Merge pull request #5 from qenta-cee/feature/DAE-1504/reference-archi…
Browse files Browse the repository at this point in the history
…tecture-diagrams-for-pro-wallet-mass-transfers

Feature/dae 1504/reference architecture diagrams for pro wallet mass transfers
  • Loading branch information
juan-crisanto-qenta authored Mar 18, 2024
2 parents 00f7bde + 2e22703 commit 85c42e6
Show file tree
Hide file tree
Showing 4 changed files with 207 additions and 2 deletions.
5 changes: 4 additions & 1 deletion Writerside/p.tree
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@
start-page="Starting-Page.topic">

<toc-element topic="Starting-Page.topic"/>
<toc-element topic="AboutProWallet.md"/>
<toc-element topic="AboutProWallet.md">
<toc-element topic="Treasury-Management.md"/>
<toc-element topic="Mass-Transfers.md"/>
</toc-element>
<toc-element topic="REST-APIs.md">
<toc-element topic="Authentication.md"/>
<toc-element topic="Purchase-Orders.md"/>
Expand Down
117 changes: 117 additions & 0 deletions Writerside/topics/Mass-Transfers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# Mass Transfers


## Reference architecture

```plantuml
@startuml
scale max 870 width
skinparam actorStyle awesome
rectangle "B2C" <<Person>> {
actor "Recipient" as Recipient
}
rectangle "Organization" <<Company>> {
component "System" {
[SDK] #orange
}
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]
}
component "Mass transfer engine" as engine {
[Recipients service] #orange
[Batch service] #orange
}
}
rectangle "Qenta Payments" {
[EMConnect]
[Qenta CEE]
}
component "Core services" as core {
[Pricing service] #orange
[Notification service]
[Payment service] #orange
[Orders service]
[Transfer service]
}
component "QoS" as BC <<Blockchain>> {
[Wallets]
[Contracts]
}
}
rectangle "Global payment paywalls & Banks" {
[PayPal]
[Payoneer]
[Local & Regional Banks]
}
OU .down.> [ProWallet Console] : Manage recipients \n & batches
Recipient .down.> [Qenta App] : Uses
[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
[Transfer service] .down.> [Wallets] : Use
[Qenta App] .down.> [Payment service] : Pay
[Payment service] <.down.> [EMConnect] : Use
[EMConnect] .down.> [Local & Regional Banks] : 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
```

85 changes: 85 additions & 0 deletions Writerside/topics/Treasury-Management.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Treasury management

## Reference architecture

```plantuml
@startuml
scale max 870 width
skinparam actorStyle awesome
rectangle "Organization" <<Company>> {
component "System" {
[SDK] #orange
}
actor "Organization User" as OU
}
rectangle "Qenta ecosystem" {
interface "HTTP" as HTTP
HTTP -down- [API Gateway]
rectangle "ProWallet ecosystem" {
rectangle "User interface" {
[ProWallet Console] #orange
}
component "Mass transfer engine" as engine {
[Recipients service]
[Batch service]
}
}
rectangle "Qenta Payments" {
[EMConnect]
[Qenta CEE]
}
component "Core services" as core {
[Pricing service] #orange
[Notification service]
[Payment service] #orange
[Orders service] #orange
[Transfer service] #orange
}
component "QoS" as BC <<Blockchain>> {
[Wallets]
[Contracts]
}
}
rectangle "Global payment paywalls & Banks" {
[PayPal]
[Payoneer]
[Local & Regional Banks]
}
OU .down.> [ProWallet Console] : Manage recipients \n & batches
[ProWallet Console] .left.> [HTTP] : Use
[SDK] .down.> [HTTP] : Create batch
[API Gateway] .down.> [Orders service] : forward
[Orders service] .left.> [Pricing service] : Use
[Transfer service] .left.> [Notification service] : Use
[Transfer service] .down.> [Wallets] : Use
[Payment service] <.down.> [EMConnect] : Use
[EMConnect] .down.> [Local & Regional Banks] : Integrates
@enduml
```

## Purchase orders

2 changes: 1 addition & 1 deletion Writerside/v.list
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<var name="prowallet_url" value="https://prowallet.gcoin.com"/>
<var name="test_env_name" value="Sandbox" />
<var name="prod_env_name" value="Production"/>
<var name="test_env_base_url" value="https://api.dev.gmint.io"/>
<var name="test_env_base_url" value="https://api.stage.gmint.co"/>
<var name="prod_env_base_url" value="https://api.gcoin.com"/>
<var name="asset_name" value="GCoin"/>
<var name="sdk_docker_image_uri" value="public.ecr.aws/f5d3l7y2/qenta-sdk-server"/>
Expand Down

0 comments on commit 85c42e6

Please sign in to comment.