infrastructure_roadmap

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
infrastructure_roadmap [2025/08/19 18:27] cornelius.reynekeinfrastructure_roadmap [2025/08/20 10:52] (current) cornelius.reyneke
Line 1: Line 1:
- ===== Infrastructure Roadmap =====+ === Infrastructure Roadmap ===
  
-=== For Crowdfunding Campaign ===+== For Crowdfunding Campaign ==
 View our [[https://pm.rekonas.com/projects/kickstarter-campaign/gantt?query_props=%7B%22tll%22%3A%22%7B%5C%22left%5C%22%3A%5C%22startDate%5C%22%2C%5C%22right%5C%22%3A%5C%22dueDate%5C%22%2C%5C%22farRight%5C%22%3A%5C%22subject%5C%22%7D%22%2C%22tzl%22%3A%22auto%22%2C%22tv%22%3Atrue%2C%22hi%22%3Atrue%2C%22t%22%3A%22start_date%3Aasc%22%2C%22c%22%3A%5B%22id%22%2C%22type%22%2C%22subject%22%2C%22status%22%2C%22startDate%22%2C%22dueDate%22%2C%22duration%22%5D%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%7D&name=all_open|project]] for more details. View our [[https://pm.rekonas.com/projects/kickstarter-campaign/gantt?query_props=%7B%22tll%22%3A%22%7B%5C%22left%5C%22%3A%5C%22startDate%5C%22%2C%5C%22right%5C%22%3A%5C%22dueDate%5C%22%2C%5C%22farRight%5C%22%3A%5C%22subject%5C%22%7D%22%2C%22tzl%22%3A%22auto%22%2C%22tv%22%3Atrue%2C%22hi%22%3Atrue%2C%22t%22%3A%22start_date%3Aasc%22%2C%22c%22%3A%5B%22id%22%2C%22type%22%2C%22subject%22%2C%22status%22%2C%22startDate%22%2C%22dueDate%22%2C%22duration%22%5D%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%7D&name=all_open|project]] for more details.
  
 Infrastructure we still need: Infrastructure we still need:
 +
  * Campaign Website  * Campaign Website
  
  
-======= Ecosystem Overview =======+======== Ecosystem Overview ========
  
   * n8n: Orchestrates the automations and connects all systems.   * n8n: Orchestrates the automations and connects all systems.
Line 18: Line 19:
  
  
-====== Workflow 1: Mautic Contact Updated → Discord Invite(s) → Mautic + EspoCRM Sync → Invite Email ======  +======= Workflow 1: Mautic Contact Updated → Discord Invite(s) → Mautic + EspoCRM Sync → Invite Email ======
- +
-{{:screenshot_from_2025-08-19_18-36-42.png?600|}}+
  
 Purpose: Purpose:
Line 27: Line 26:
 ==== Steps ==== ==== Steps ====
  
-  * Unordered List ItemTrigger: Mautic "Contact Updated"+  * Trigger: Mautic "Contact Updated"
   * Wait 0–3s (jitter to reduce concurrent updates)   * Wait 0–3s (jitter to reduce concurrent updates)
   * Check if "opt_in_confirmed" is true; otherwise, stop   * Check if "opt_in_confirmed" is true; otherwise, stop
   * If "vip_status" is true:   * If "vip_status" is true:
-    * Unordered List Item* Check if VIP Discord invite link exists+    * Check if VIP Discord invite link exists
     * If not, wait 0.3–1.2s, re-fetch contact, check again     * If not, wait 0.3–1.2s, re-fetch contact, check again
     * If still missing, issue VIP Discord invite link (via Discord API)     * If still missing, issue VIP Discord invite link (via Discord API)
Line 47: Line 46:
     * Try to retrieve Lead by contact attributes (typically email)     * Try to retrieve Lead by contact attributes (typically email)
     * If not found, create Lead in EspoCRM (via HTTP POST)     * If not found, create Lead in EspoCRM (via HTTP POST)
 +
 +{{:screenshot_from_2025-08-19_18-36-42.png?600|}}
  
 === Outputs & Side Effects === === Outputs & Side Effects ===
  
-  * Unordered List ItemMautic contact has exactly one stored Discord invite link (VIP or Basic).+  * Mautic contact has exactly one stored Discord invite link (VIP or Basic).
   * Appropriate invite email is sent from Mautic.   * Appropriate invite email is sent from Mautic.
   * A corresponding Lead exists in EspoCRM.   * A corresponding Lead exists in EspoCRM.
  
-======= Workflow 2: Stripe → VIP Coupon → Mautic Update → Coupon Email =======  +======== Workflow 2: Stripe → VIP Coupon → Mautic Update → Coupon Email =======
- +
-{{:screenshot_from_2025-08-19_18-36-42.png?400|}}+
  
 Purpose: Purpose:
Line 73: Line 72:
   * Set contact "vip_status" to true and assign promo code in Mautic   * Set contact "vip_status" to true and assign promo code in Mautic
   * Send email with coupon to contact (from Mautic)   * Send email with coupon to contact (from Mautic)
 +
 +{{:screenshot_from_2025-08-19_18-36-42.png?400|}}
  
 === Outputs & Side Effects === === Outputs & Side Effects ===
Line 89: Line 90:
 ==== Field Conventions (Mautic Contact) ==== ==== Field Conventions (Mautic Contact) ====
  
-  * Unordered List Itemvip_status: boolean+  * vip_status: boolean
   * promo_code: string (from Workflow 1)   * promo_code: string (from Workflow 1)
   * discord_invite_link_vip / discord_invite_link_basic: strings   * discord_invite_link_vip / discord_invite_link_basic: strings
  • infrastructure_roadmap.1755628074.txt.gz
  • Last modified: 2025/08/19 18:27
  • by cornelius.reyneke