From a2b3a1b44de049bfcc38c6a12930eaa040ea8f95 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Sun, 22 Aug 2021 13:40:11 +0200 Subject: [PATCH] Some docu files not yet in the repo --- docu/Neue_User_einladenl.txt | 48 +++++++++++++++ docu/graphics/gdt_transactions.drawio | 81 ++++++++++++++++++++++++++ docu/graphics/gdt_transactions.png | Bin 0 -> 46823 bytes docu/userstory.feature.template | 18 ++++++ 4 files changed, 147 insertions(+) create mode 100644 docu/Neue_User_einladenl.txt create mode 100644 docu/graphics/gdt_transactions.drawio create mode 100644 docu/graphics/gdt_transactions.png create mode 100644 docu/userstory.feature.template diff --git a/docu/Neue_User_einladenl.txt b/docu/Neue_User_einladenl.txt new file mode 100644 index 000000000..3aa0f38dd --- /dev/null +++ b/docu/Neue_User_einladenl.txt @@ -0,0 +1,48 @@ +Feature: +Neue User einladen, und im Partnerprogramm zuordnen + +Als Gradido-User und Publisher möchte ich weitere Leute zu Gradido einladen. + +Fall 1 über Internet mit Link + +Um einen Partner-Link (Publisher-Link) zu erzeugen hänge ich bei Gradido.net oder beim Registrierungslink die Zeichenfolge ?pid=12345 an. Statt "12345" nehme ich meine Publisher-Id. + +Beispiele für selbst erzeugte Partnerlinks: + +Gradido-Webseite +gradido.net/?pid=12345 +gradido.net/de/podcast/?pid=12345 + +Community-Server, Registrierungsseite, z.B.: +gradido-community.com/register/?pid=12345 + +Wenn sich eine eingeladene Person registriert, wird die Publisher-Id des einladenden Users im neuem Konto als "Parent-Publisher-Id" gespeichert. + + +Fall 2 von meinem Gradido-Link + +Ich gebe meinen Gradido-Link bekannt, z.B. gradido-community.com/meinUsername +z.B. in einer Kleinanzeige, wo ich etwas mit GradidoRabatt anbiete. + +Ein Gradido-User kann diesen Link benutzen, um Gradido an mich zu überweisen +Eine noch nicht registrierte Person kommt auf eine Registrierungsseite. Wenn sie sich registriert, wird die Publisher-Id aus der Datenbank ermittelt und in deren neuem Konto als "Parent-Publisher-Id" gespeichert. + +Fall 2 über QR-Code + +Im Wallet kann ich einen QR-Code anzeigen oder drucken lassen. +Wenn die eingeladene Person den QR-Code mit der Kamera einscannt, gelangt sie auf eine Seite, von der sie das Wallet runterladen sich registrieren kann. Dabei wird die Pid im neuen Konto und als "Parent-Publisher-Id" gespeichert. + +Incentive zum registrieren des Mitgliederbereichs bei Elopage + +Nach der Registrierung wird dem neuen User ein Start-Kapital von 100 GDD (?) angeboten, wenn er sich seinen Mitgliederbereich bei Elopage registriert, d.h. dort ein entsprechendes Produkt (z.B. Gradido-Basis, kostenfrei) erwirbt. Dazu wir ein Link bzw. Button zur "Bezahlseite" (die heißt so, auch wenn es kostenfrei ist) generiert, der Vorname, Nachname, E-Mail und pid enthält. Der User muss nur noch den Button "Kostenfrei erwerben" o.ä. klicken. + + +Bei Produkt-Erwerb wird bei Elopage neben dem "Käufer-Konto" automatisch ein zusätzliches "Publisher-Konto" angelegt. Beides ist über ein und denselben Login zugänglich. + +Elopage meldet den Produkt-Erwerb über WebHook (?) an Gradido. Die eindeutige Zuordnung erfolgt über die E-Mail-Adresse. Dabei wird leider nur die Parent-Publisher-Id übermittelt. + + +Background: +Die Publisher-Id (pid) ist eine 3-9 stellige Ganzzahl. Ich finde sie entweder im Mitgliederbereich bei Elopage (Publisher-Konto) oder im Profil des Gradido-Wallet. + +Über das Elopage-API kann eine Liste aller Publisher abgerufen werden. Dies könnte in regelmäßigen Abständen per CronJob erfolgen. An Hand der E-Mail-Adresse kann die Publisher-Id dem neuen User zugeordnet werden. \ No newline at end of file diff --git a/docu/graphics/gdt_transactions.drawio b/docu/graphics/gdt_transactions.drawio new file mode 100644 index 000000000..2c7b16587 --- /dev/null +++ b/docu/graphics/gdt_transactions.drawio @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docu/graphics/gdt_transactions.png b/docu/graphics/gdt_transactions.png new file mode 100644 index 0000000000000000000000000000000000000000..03491611230ff1533ee48080d8182ed0af54f75e GIT binary patch literal 46823 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 literal 0 HcmV?d00001 diff --git a/docu/userstory.feature.template b/docu/userstory.feature.template new file mode 100644 index 000000000..a5a236861 --- /dev/null +++ b/docu/userstory.feature.template @@ -0,0 +1,18 @@ +Feature: {title} + As an {role} + I want to {do} + In order to {reason} + + Background: + Given the following "{entities}" are in the database: + | id | title | pinned | createdAt | + | p1 | Some other post | | 2020-01-21 | + | p2 | Houston we have a problem | x | 2020-01-20 | + | p3 | Yet another post | | 2020-01-19 | + And I am {here/there} + + Scenario: {title} + When I do {this} + And I do {that} + Then I should {have/see/be} + And I should {have/see/be} \ No newline at end of file