mirror of https://github.com/status-im/swarms.git
Add initial version of ladder diagram for Push Notifications (#86)
This commit is contained in:
parent
31835c31af
commit
926de35936
|
@ -43,6 +43,10 @@ We want to end up with a notification system which works on as many devices as p
|
||||||
|
|
||||||
We also want a solution that doesn’t involve talking directly to the notification provider, as that would require keeping authentication elements embedded in the app (currently the case), and might expose us to quota theft.
|
We also want a solution that doesn’t involve talking directly to the notification provider, as that would require keeping authentication elements embedded in the app (currently the case), and might expose us to quota theft.
|
||||||
|
|
||||||
|
### Flow Diagram
|
||||||
|
|
||||||
|
![Alt text](https://g.gravizo.com/source/svg?https%3A%2F%2Fraw.githubusercontent.com%2Fstatus-im%2Fideas%2Fmaster%2Fideas%2F086-push-notif-v2%2Fdiagram.dot)
|
||||||
|
|
||||||
### Goals
|
### Goals
|
||||||
|
|
||||||
At a high-level, we want to move up the current solution a notch regarding some of the critical qualities mentioned in the [Product Overview](#product-overview) which are currently lagging behind. The specific steps to reach that goal are:
|
At a high-level, we want to move up the current solution a notch regarding some of the critical qualities mentioned in the [Product Overview](#product-overview) which are currently lagging behind. The specific steps to reach that goal are:
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
digraph ladder {
|
||||||
|
ranksep=".5"; nodesep="1"; splines="line";
|
||||||
|
|
||||||
|
node [shape=point fontsize=10];
|
||||||
|
edge [dir=none fontsize=10];
|
||||||
|
|
||||||
|
// Column labels
|
||||||
|
a [shape=Square label="Contact A"];
|
||||||
|
w [shape=Square label="Notification Server"];
|
||||||
|
b [shape=Square label="Contact B"];
|
||||||
|
|
||||||
|
// Draw the 3 column headings, no line
|
||||||
|
{ rank=same; edge[style=invis] a -> w -> b }
|
||||||
|
|
||||||
|
// Draw the columns
|
||||||
|
a -> a1 [style=dotted weight=1000];
|
||||||
|
w -> w1 [style=dotted];
|
||||||
|
b -> b1 [style=dotted weight=1000];
|
||||||
|
|
||||||
|
a1 -> a2 -> a3 -> a4 -> a5 [weight=1000];
|
||||||
|
a3 [xlabel="Contact A wants\nto send a message\nto Contact B" weight=1000];
|
||||||
|
w1 -> w2 -> w3 -> w4 -> w5 [weight=1000];
|
||||||
|
b1 -> b2 -> b3 -> b4 -> b5 [weight=1000];
|
||||||
|
|
||||||
|
// Now each step in the ladder
|
||||||
|
{ rank=same; a1 -> w1 [dir=forward label="Requests topic\nfor notifications\nto Contact B"] }
|
||||||
|
{ rank=same; a2 -> w2 [dir=back label="Replies with its Whisper topic"] }
|
||||||
|
{ rank=same;
|
||||||
|
w3 [shape=none style=invis width=0 height=0 label=""]
|
||||||
|
a3 -> w3;
|
||||||
|
w3 -> b3 [dir=forward label="Sends message\nwith agreed topic"] }
|
||||||
|
{ rank=same; a4 -> w4 [dir=forward label="Sends message using topic received"] }
|
||||||
|
}
|
Loading…
Reference in New Issue