Files
thrillwiki_django_no_react/source_docs/USER_FLOWS.md

76 KiB
Raw Blame History

ThrillWiki User Flows

Visual diagrams of user journeys and system interactions


Table of Contents

  1. Discovery Flows
  2. Authentication Flows
  3. Content Viewing Flows
  4. Contribution Flows
  5. Engagement Flows
  6. Moderation Flows
  7. Admin Flows

Discovery Flows

Homepage Discovery Journey

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│                         USER ARRIVES                            │
│                              │                                  │
│              ┌───────────────┼───────────────┐                  │
│              ▼               ▼               ▼                  │
│        ┌──────────┐   ┌──────────┐   ┌──────────┐              │
│        │  Search  │   │ Discovery│   │  Recent  │              │
│        │   Bar    │   │   Tabs   │   │ Changes  │              │
│        └────┬─────┘   └────┬─────┘   └────┬─────┘              │
│             │              │              │                     │
│             ▼              ▼              ▼                     │
│        ┌──────────┐   ┌──────────┐   ┌──────────┐              │
│        │ Instant  │   │ Content  │   │  Click   │              │
│        │ Results  │   │   Grid   │   │   Item   │              │
│        └────┬─────┘   └────┬─────┘   └────┬─────┘              │
│             │              │              │                     │
│             └──────────────┼──────────────┘                     │
│                            ▼                                    │
│                     ┌──────────┐                                │
│                     │  Entity  │                                │
│                     │   Page   │                                │
│                     └──────────┘                                │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Search Flow

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│   User Types Query                                              │
│         │                                                       │
│         ▼                                                       │
│   ┌───────────────────┐                                         │
│   │  Debounce Input   │                                         │
│   │    (300ms)        │                                         │
│   └─────────┬─────────┘                                         │
│             │                                                   │
│             ▼                                                   │
│   ┌───────────────────┐                                         │
│   │   Search API      │                                         │
│   │   Called          │                                         │
│   └─────────┬─────────┘                                         │
│             │                                                   │
│     ┌───────┴───────┐                                           │
│     ▼               ▼                                           │
│ ┌─────────┐   ┌─────────┐                                       │
│ │ Results │   │   No    │                                       │
│ │  Found  │   │ Results │                                       │
│ └────┬────┘   └────┬────┘                                       │
│      │             │                                            │
│      ▼             ▼                                            │
│ ┌─────────┐   ┌─────────┐                                       │
│ │ Display │   │  Empty  │                                       │
│ │  List   │   │  State  │                                       │
│ └────┬────┘   └─────────┘                                       │
│      │                                                          │
│      ▼                                                          │
│ ┌─────────────────────────┐                                     │
│ │ User Selects Result     │                                     │
│ │ (Click or Keyboard)     │                                     │
│ └───────────┬─────────────┘                                     │
│             │                                                   │
│             ▼                                                   │
│      Navigate to Page                                           │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Parks Nearby Flow

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│   User Opens Nearby Page                                        │
│         │                                                       │
│         ▼                                                       │
│   ┌───────────────────────────┐                                 │
│   │  Check Location           │                                 │
│   │  Preferences              │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│     ┌───────────┴───────────┐                                   │
│     ▼                       ▼                                   │
│ ┌─────────┐          ┌───────────┐                              │
│ │ Saved   │          │  No Saved │                              │
│ │Location │          │  Location │                              │
│ └────┬────┘          └─────┬─────┘                              │
│      │                     │                                    │
│      │                     ▼                                    │
│      │            ┌───────────────────┐                         │
│      │            │ Request Browser   │                         │
│      │            │ Geolocation       │                         │
│      │            └─────────┬─────────┘                         │
│      │                      │                                   │
│      │        ┌─────────────┴─────────────┐                     │
│      │        ▼                           ▼                     │
│      │   ┌─────────┐              ┌─────────────┐               │
│      │   │ Granted │              │   Denied    │               │
│      │   └────┬────┘              └──────┬──────┘               │
│      │        │                          │                      │
│      │        │                          ▼                      │
│      │        │                  ┌───────────────┐              │
│      │        │                  │ Show Manual   │              │
│      │        │                  │ Location Entry│              │
│      │        │                  └───────┬───────┘              │
│      │        │                          │                      │
│      └────────┼──────────────────────────┘                      │
│               ▼                                                 │
│        ┌──────────────┐                                         │
│        │ Load Parks   │                                         │
│        │ Within Radius│                                         │
│        └──────┬───────┘                                         │
│               │                                                 │
│       ┌───────┴───────┐                                         │
│       ▼               ▼                                         │
│ ┌──────────┐   ┌──────────┐                                     │
│ │   Map    │   │   List   │                                     │
│ │  View    │   │   View   │                                     │
│ └──────────┘   └──────────┘                                     │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Authentication Flows

Sign Up Flow

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│   User Clicks "Sign Up"                                         │
│         │                                                       │
│         ▼                                                       │
│   ┌───────────────────────────┐                                 │
│   │  Choose Sign Up Method    │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│     ┌───────────┼───────────────────────┐                       │
│     ▼           ▼                       ▼                       │
│ ┌─────────┐ ┌─────────┐          ┌───────────┐                  │
│ │  Email  │ │  Magic  │          │   OAuth   │                  │
│ │Password │ │  Link   │          │(Google/   │                  │
│ └────┬────┘ └────┬────┘          │ Discord)  │                  │
│      │           │               └─────┬─────┘                  │
│      ▼           ▼                     │                        │
│ ┌─────────┐ ┌─────────┐                │                        │
│ │  Fill   │ │  Enter  │                │                        │
│ │  Form   │ │  Email  │                │                        │
│ └────┬────┘ └────┬────┘                │                        │
│      │           │                     │                        │
│      ▼           ▼                     ▼                        │
│ ┌─────────────────────────────────────────────┐                 │
│ │            CAPTCHA Verification             │                 │
│ └─────────────────────┬───────────────────────┘                 │
│                       │                                         │
│                       ▼                                         │
│            ┌──────────────────┐                                 │
│            │ Email Sent       │                                 │
│            │ (Confirmation)   │                                 │
│            └────────┬─────────┘                                 │
│                     │                                           │
│                     ▼                                           │
│            ┌──────────────────┐                                 │
│            │ User Clicks Link │                                 │
│            └────────┬─────────┘                                 │
│                     │                                           │
│                     ▼                                           │
│            ┌──────────────────┐                                 │
│            │ Email Verified   │                                 │
│            │ Account Active   │                                 │
│            └────────┬─────────┘                                 │
│                     │                                           │
│                     ▼                                           │
│            ┌──────────────────┐                                 │
│            │ Redirect to      │                                 │
│            │ Profile Setup    │                                 │
│            └──────────────────┘                                 │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Sign In Flow

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│   User Clicks "Sign In"                                         │
│         │                                                       │
│         ▼                                                       │
│   ┌───────────────────────────┐                                 │
│   │  Enter Credentials        │                                 │
│   │  (Email/Password or OAuth)│                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  Validate Credentials     │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│     ┌───────────┴───────────┐                                   │
│     ▼                       ▼                                   │
│ ┌─────────┐          ┌───────────┐                              │
│ │ Success │          │  Failed   │                              │
│ └────┬────┘          └─────┬─────┘                              │
│      │                     │                                    │
│      │                     ▼                                    │
│      │            ┌───────────────┐                             │
│      │            │ Show Error    │                             │
│      │            │ (Too many     │                             │
│      │            │ attempts =    │                             │
│      │            │ lockout)      │                             │
│      │            └───────────────┘                             │
│      │                                                          │
│      ▼                                                          │
│ ┌───────────────────────────┐                                   │
│ │  Check for MFA            │                                   │
│ └─────────────┬─────────────┘                                   │
│               │                                                 │
│     ┌─────────┴─────────┐                                       │
│     ▼                   ▼                                       │
│ ┌─────────┐      ┌───────────┐                                  │
│ │  MFA    │      │   No MFA  │                                  │
│ │ Enabled │      │           │                                  │
│ └────┬────┘      └─────┬─────┘                                  │
│      │                 │                                        │
│      ▼                 │                                        │
│ ┌─────────────┐        │                                        │
│ │ Enter TOTP  │        │                                        │
│ │   Code      │        │                                        │
│ └──────┬──────┘        │                                        │
│        │               │                                        │
│        └───────────────┤                                        │
│                        ▼                                        │
│            ┌──────────────────┐                                 │
│            │ Check Ban Status │                                 │
│            └────────┬─────────┘                                 │
│                     │                                           │
│        ┌────────────┴────────────┐                              │
│        ▼                         ▼                              │
│   ┌─────────┐            ┌───────────┐                          │
│   │ Banned  │            │ Not Banned│                          │
│   └────┬────┘            └─────┬─────┘                          │
│        │                       │                                │
│        ▼                       ▼                                │
│   ┌─────────┐          ┌───────────────┐                        │
│   │ Show    │          │ Create Session│                        │
│   │ Message │          │ Redirect Home │                        │
│   └─────────┘          └───────────────┘                        │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Content Viewing Flows

Park Page Journey

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│   User Arrives at Park Page                                     │
│         │                                                       │
│         ▼                                                       │
│   ┌───────────────────────────┐                                 │
│   │  View Hero Section        │                                 │
│   │  (Banner, Name, Stats)    │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                    SELECT TAB                           │   │
│   ├──────────┬──────────┬──────────┬──────────┬────────────┤   │
│   │ Overview │  Rides   │ Reviews  │  Photos  │  History   │   │
│   └────┬─────┴────┬─────┴────┬─────┴────┬─────┴─────┬──────┘   │
│        │          │          │          │           │           │
│        ▼          ▼          ▼          ▼           ▼           │
│   ┌─────────┐┌─────────┐┌─────────┐┌─────────┐┌──────────┐     │
│   │ Park    ││ Ride    ││ Review  ││ Photo   ││ Version  │     │
│   │ Info,   ││ List    ││ List    ││ Gallery ││ History  │     │
│   │ Map,    ││ with    ││ with    ││         ││ Timeline │     │
│   │ Contact ││ Filters ││ Ratings ││         ││          │     │
│   └────┬────┘└────┬────┘└────┬────┘└────┬────┘└──────────┘     │
│        │          │          │          │                       │
│        │          ▼          ▼          ▼                       │
│        │    ┌──────────────────────────────────┐               │
│        │    │      CLICK ITEM FOR DETAIL       │               │
│        │    └─────────────────┬────────────────┘               │
│        │                      │                                 │
│        │          ┌───────────┴───────────┐                     │
│        │          ▼                       ▼                     │
│        │    ┌───────────┐          ┌───────────┐               │
│        │    │ Ride Page │          │ Lightbox  │               │
│        │    └───────────┘          └───────────┘               │
│        │                                                        │
│        └──────────────────────────────────────────────────────▶│
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                   USER ACTIONS                          │   │
│   ├──────────────┬──────────────┬──────────────────────────┤   │
│   │   Edit Park  │ Write Review │  Upload Photo │ Log Credit│   │
│   │  (if logged) │ (if logged)  │  (if logged)  │(if logged)│   │
│   └──────────────┴──────────────┴──────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Contribution Flows

Submit New Content Flow (The Sacred Pipeline)

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│                     THE SACRED PIPELINE                         │
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                         │   │
│   │   USER                                                  │   │
│   │     │                                                   │   │
│   │     ▼                                                   │   │
│   │   ┌───────────────────────────────────────┐             │   │
│   │   │           SUBMISSION FORM             │             │   │
│   │   │  • Multi-step wizard                  │             │   │
│   │   │  • Auto-save drafts                   │             │   │
│   │   │  • Validation                         │             │   │
│   │   │  • Unit conversion                    │             │   │
│   │   └─────────────────┬─────────────────────┘             │   │
│   │                     │                                   │   │
│   │                     ▼                                   │   │
│   │   ┌───────────────────────────────────────┐             │   │
│   │   │     SUBMISSION RECORD CREATED         │             │   │
│   │   │  (content_submissions table)          │             │   │
│   │   │  Status: "pending"                    │             │   │
│   │   └─────────────────┬─────────────────────┘             │   │
│   │                     │                                   │   │
│   └─────────────────────┼───────────────────────────────────┘   │
│                         │                                       │
│   ┌─────────────────────┼───────────────────────────────────┐   │
│   │                     ▼                                   │   │
│   │   MODERATION  ┌───────────────────────────────────────┐ │   │
│   │               │         MODERATION QUEUE              │ │   │
│   │               │  • Appears in moderator dashboard     │ │   │
│   │               │  • Sorted by priority/age             │ │   │
│   │               └─────────────────┬─────────────────────┘ │   │
│   │                                 │                       │   │
│   │                                 ▼                       │   │
│   │               ┌───────────────────────────────────────┐ │   │
│   │               │      MODERATOR CLAIMS ITEM            │ │   │
│   │               │  • Locks item for 30 minutes          │ │   │
│   │               │  • Prevents conflicts                 │ │   │
│   │               └─────────────────┬─────────────────────┘ │   │
│   │                                 │                       │   │
│   │                                 ▼                       │   │
│   │               ┌───────────────────────────────────────┐ │   │
│   │               │          REVIEW INTERFACE             │ │   │
│   │               │  • Side-by-side diff                  │ │   │
│   │               │  • Field-by-field review              │ │   │
│   │               │  • Preview changes                    │ │   │
│   │               └─────────────────┬─────────────────────┘ │   │
│   │                                 │                       │   │
│   │                 ┌───────────────┼───────────────┐       │   │
│   │                 ▼               ▼               ▼       │   │
│   │           ┌─────────┐    ┌───────────┐   ┌─────────┐   │   │
│   │           │ APPROVE │    │  REQUEST  │   │ REJECT  │   │   │
│   │           │         │    │  CHANGES  │   │         │   │   │
│   │           └────┬────┘    └─────┬─────┘   └────┬────┘   │   │
│   │                │               │              │         │   │
│   └────────────────┼───────────────┼──────────────┼─────────┘   │
│                    │               │              │             │
│                    │               ▼              ▼             │
│                    │    ┌──────────────┐  ┌──────────────┐      │
│                    │    │ Notify User  │  │ Notify User  │      │
│                    │    │ To Revise    │  │ With Reason  │      │
│                    │    └──────────────┘  └──────────────┘      │
│                    │                                            │
│   ┌────────────────┼────────────────────────────────────────┐   │
│   │                ▼                                        │   │
│   │   APPROVAL  ┌───────────────────────────────────────┐   │   │
│   │             │      EDGE FUNCTION TRIGGERED          │   │   │
│   │             │  • Transaction begins                 │   │   │
│   │             │  • Create/update entity               │   │   │
│   │             │  • Create version record              │   │   │
│   │             │  • Update submission status           │   │   │
│   │             │  • Transaction commits                │   │   │
│   │             └─────────────────┬─────────────────────┘   │   │
│   │                               │                         │   │
│   │                               ▼                         │   │
│   │             ┌───────────────────────────────────────┐   │   │
│   │             │        VERSION RECORD CREATED         │   │   │
│   │             │  • Full snapshot of data              │   │   │
│   │             │  • Version number incremented         │   │   │
│   │             │  • is_current = true                  │   │   │
│   │             └─────────────────┬─────────────────────┘   │   │
│   │                               │                         │   │
│   │                               ▼                         │   │
│   │             ┌───────────────────────────────────────┐   │   │
│   │             │       ENTITY NOW VISIBLE              │   │   │
│   │             │  • Appears in listings                │   │   │
│   │             │  • Searchable                         │   │   │
│   │             │  • Has public URL                     │   │   │
│   │             └───────────────────────────────────────┘   │   │
│   │                                                         │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Edit Content Flow

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│   User Clicks "Edit" on Entity                                  │
│         │                                                       │
│         ▼                                                       │
│   ┌───────────────────────────┐                                 │
│   │  Check User Role          │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│     ┌───────────┴───────────────────┐                           │
│     ▼                               ▼                           │
│ ┌─────────────┐            ┌───────────────┐                    │
│ │ Moderator+  │            │ Regular User  │                    │
│ │ (Skip mod)  │            │ (Needs review)│                    │
│ └──────┬──────┘            └───────┬───────┘                    │
│        │                           │                            │
│        └───────────────────────────┤                            │
│                                    ▼                            │
│                      ┌───────────────────────┐                  │
│                      │  Load Edit Form       │                  │
│                      │  (Pre-filled with     │                  │
│                      │   current data)       │                  │
│                      └───────────┬───────────┘                  │
│                                  │                              │
│                                  ▼                              │
│                      ┌───────────────────────┐                  │
│                      │  User Makes Changes   │                  │
│                      │  (Auto-save enabled)  │                  │
│                      └───────────┬───────────┘                  │
│                                  │                              │
│                                  ▼                              │
│                      ┌───────────────────────┐                  │
│                      │  Add Submission Note  │                  │
│                      │  (Explain changes)    │                  │
│                      └───────────┬───────────┘                  │
│                                  │                              │
│                                  ▼                              │
│                      ┌───────────────────────┐                  │
│                      │  Submit for Review    │                  │
│                      │  or Direct Apply      │                  │
│                      └───────────────────────┘                  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Photo Upload Flow

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│   User Clicks "Upload Photo"                                    │
│         │                                                       │
│         ▼                                                       │
│   ┌───────────────────────────┐                                 │
│   │  Open Upload Dialog       │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  Drag & Drop or Browse    │                                 │
│   │  (Max 10 photos)          │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  For Each Photo:          │                                 │
│   │  • Validate format        │                                 │
│   │  • Check file size        │                                 │
│   │  • Show preview           │                                 │
│   │  • Optional: Edit/Crop    │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  Click "Upload"           │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  Get CloudFlare Direct    │                                 │
│   │  Upload URL               │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  Upload to CloudFlare     │                                 │
│   │  (Show progress)          │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  Create Photo Submission  │                                 │
│   │  (Status: Pending)        │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  → Moderation Queue       │                                 │
│   │  Photo visible after      │                                 │
│   │  approval                 │                                 │
│   └───────────────────────────┘                                 │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Engagement Flows

Write Review Flow

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│   User on Park/Ride Page                                        │
│         │                                                       │
│         ▼                                                       │
│   ┌───────────────────────────┐                                 │
│   │  Click "Write Review"     │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│     ┌───────────┴───────────┐                                   │
│     ▼                       ▼                                   │
│ ┌─────────────┐      ┌───────────────┐                          │
│ │ Logged In   │      │ Not Logged In │                          │
│ └──────┬──────┘      └───────┬───────┘                          │
│        │                     │                                  │
│        │                     ▼                                  │
│        │          ┌───────────────────┐                         │
│        │          │ Redirect to Login │                         │
│        │          │ (Return after)    │                         │
│        │          └───────────────────┘                         │
│        │                                                        │
│        ▼                                                        │
│   ┌───────────────────────────┐                                 │
│   │  Check Existing Review    │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│     ┌───────────┴───────────┐                                   │
│     ▼                       ▼                                   │
│ ┌─────────────┐      ┌───────────────┐                          │
│ │ Has Review  │      │ No Review     │                          │
│ │ (Edit mode) │      │ (Create mode) │                          │
│ └──────┬──────┘      └───────┬───────┘                          │
│        │                     │                                  │
│        └──────────┬──────────┘                                  │
│                   ▼                                             │
│   ┌───────────────────────────┐                                 │
│   │  Review Form              │                                 │
│   │  • Star rating (1-5)      │                                 │
│   │  • Written review text    │                                 │
│   │  • "Experienced recently" │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  Submit Review            │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  Review Visible           │                                 │
│   │  (No moderation for       │                                 │
│   │   reviews by default)     │                                 │
│   └───────────────────────────┘                                 │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Log Ride Credit Flow

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                  ENTRY POINTS                           │   │
│   ├───────────────┬───────────────┬─────────────────────────┤   │
│   │  Ride Page    │ Credits Page  │    Quick Add           │   │
│   │  "Log Credit" │ "Add Credit"  │    (Previously         │   │
│   │     Button    │    Button     │     logged rides)      │   │
│   └───────┬───────┴───────┬───────┴───────────┬─────────────┘   │
│           │               │                   │                 │
│           ▼               ▼                   │                 │
│    ┌──────────────────────────────────┐       │                 │
│    │  RIDE SEARCH (if not from ride)  │       │                 │
│    │  • Search by name                │       │                 │
│    │  • Filter by park                │       │                 │
│    │  • Recent rides shown            │       │                 │
│    └──────────────┬───────────────────┘       │                 │
│                   │                           │                 │
│                   └───────────────────────────┤                 │
│                                               ▼                 │
│                            ┌────────────────────────────────┐   │
│                            │  CREDIT DETAILS                │   │
│                            │  • Ride count (default: 1)     │   │
│                            │  • Date (optional)             │   │
│                            │  • Notes (optional)            │   │
│                            └────────────────┬───────────────┘   │
│                                             │                   │
│                                             ▼                   │
│                            ┌────────────────────────────────┐   │
│                            │  SAVE CREDIT                   │   │
│                            └────────────────┬───────────────┘   │
│                                             │                   │
│                             ┌───────────────┴───────────────┐   │
│                             ▼                               ▼   │
│                     ┌──────────────┐             ┌──────────────┐
│                     │ New Credit   │             │ Update       │
│                     │ Created      │             │ Existing     │
│                     └──────────────┘             └──────────────┘
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                    QUICK INCREMENT                       │   │
│   │  On credit card: []  12  [+]                            │   │
│   │  Instantly updates count without dialog                  │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Moderation Flows

Moderator Queue Workflow

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│   Moderator Opens Queue                                         │
│         │                                                       │
│         ▼                                                       │
│   ┌───────────────────────────┐                                 │
│   │  View Pending Items       │                                 │
│   │  (Sorted by priority/age) │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  Apply Filters            │                                 │
│   │  • Type (park/ride/etc)   │                                 │
│   │  • Status                 │                                 │
│   │  • Priority               │                                 │
│   │  • Assigned to me         │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  Select Item to Review    │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  CLAIM ITEM               │                                 │
│   │  • Locks for 30 mins      │                                 │
│   │  • Others can't claim     │                                 │
│   │  • Can unclaim if needed  │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────────────────────────────────┐     │
│   │                 REVIEW INTERFACE                       │     │
│   ├───────────────────────┬───────────────────────────────┤     │
│   │    CURRENT DATA       │      PROPOSED CHANGES         │     │
│   │                       │                               │     │
│   │  Name: Cedar Point    │  Name: Cedar Point            │     │
│   │  Status: Open         │  Status: Open                 │     │
│   │  Rides: 72            │  Rides: 73 ← CHANGED          │     │
│   │  Desc: ...            │  Desc: ... (expanded) ← +     │     │
│   │                       │                               │     │
│   └───────────────────────┴───────────────────────────────┘     │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  Add Reviewer Notes       │                                 │
│   │  (Internal notes for      │                                 │
│   │   decision reasoning)     │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│     ┌───────────┼───────────────────┐                           │
│     ▼           ▼                   ▼                           │
│ ┌─────────┐ ┌─────────┐     ┌───────────────┐                   │
│ │ APPROVE │ │ REJECT  │     │   REQUEST     │                   │
│ │   ALL   │ │         │     │   CHANGES     │                   │
│ └────┬────┘ └────┬────┘     └───────┬───────┘                   │
│      │           │                  │                           │
│      │           ▼                  ▼                           │
│      │    ┌───────────────┐  ┌───────────────┐                  │
│      │    │ Notify User   │  │ Notify User   │                  │
│      │    │ (Rejected)    │  │ (Changes      │                  │
│      │    │               │  │  Needed)      │                  │
│      │    └───────────────┘  └───────────────┘                  │
│      │                                                          │
│      ▼                                                          │
│ ┌──────────────────────────────┐                                │
│ │  APPROVAL PROCESSING         │                                │
│ │  • Edge function called      │                                │
│ │  • Transaction executed      │                                │
│ │  • Entity updated            │                                │
│ │  • Version created           │                                │
│ │  • User notified             │                                │
│ └──────────────────────────────┘                                │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Admin Flows

User Management Flow

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│   Admin Opens User Management                                   │
│         │                                                       │
│         ▼                                                       │
│   ┌───────────────────────────┐                                 │
│   │  Search/Filter Users      │                                 │
│   │  • By username/email      │                                 │
│   │  • By role                │                                 │
│   │  • By status              │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────┐                                 │
│   │  Select User              │                                 │
│   └─────────────┬─────────────┘                                 │
│                 │                                               │
│                 ▼                                               │
│   ┌───────────────────────────────────────────────────────┐     │
│   │                   USER PROFILE VIEW                    │     │
│   │                                                        │     │
│   │  Username: coasterFan123                               │     │
│   │  Email: user@email.com                                 │     │
│   │  Role: User                                            │     │
│   │  Status: Active                                        │     │
│   │  Joined: Jan 2024                                      │     │
│   │                                                        │     │
│   │  Stats: 45 submissions, 12 reviews, 89 credits        │     │
│   │                                                        │     │
│   └───────────────────────────────────────────────────────┘     │
│                 │                                               │
│     ┌───────────┼───────────────────┬───────────────────┐       │
│     ▼           ▼                   ▼                   ▼       │
│ ┌─────────┐ ┌─────────┐      ┌───────────┐      ┌───────────┐   │
│ │ Change  │ │  Ban    │      │  Unban    │      │  Delete   │   │
│ │  Role   │ │  User   │      │  User     │      │  User     │   │
│ └────┬────┘ └────┬────┘      └─────┬─────┘      └─────┬─────┘   │
│      │           │                 │                  │         │
│      ▼           ▼                 ▼                  ▼         │
│ ┌─────────┐ ┌───────────────┐ ┌───────────┐  ┌───────────────┐  │
│ │ Select  │ │ Enter Reason  │ │ Confirm   │  │ Confirm       │  │
│ │ New Role│ │ Set Duration  │ │ Unban     │  │ (Irreversible)│  │
│ └────┬────┘ └───────┬───────┘ └─────┬─────┘  └───────┬───────┘  │
│      │              │               │                │          │
│      └──────────────┼───────────────┼────────────────┘          │
│                     ▼                                           │
│            ┌───────────────────┐                                │
│            │  Action Logged    │                                │
│            │  (Audit Trail)    │                                │
│            └───────────────────┘                                │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Notification Flow

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                    EVENT TRIGGERS                        │   │
│   ├──────────────┬──────────────┬──────────────┬────────────┤   │
│   │ Submission   │ Review       │ Social       │ System     │   │
│   │ Status       │ Response     │ Interaction  │ Alert      │   │
│   │ Changed      │              │              │            │   │
│   └──────┬───────┴──────┬───────┴──────┬───────┴──────┬─────┘   │
│          │              │              │              │         │
│          └──────────────┴──────────────┴──────────────┘         │
│                                   │                             │
│                                   ▼                             │
│                    ┌───────────────────────────┐                │
│                    │  CHECK USER PREFERENCES   │                │
│                    │  • Notification enabled?  │                │
│                    │  • Email enabled?         │                │
│                    │  • In-app enabled?        │                │
│                    └─────────────┬─────────────┘                │
│                                  │                              │
│              ┌───────────────────┼───────────────────┐          │
│              ▼                   ▼                   ▼          │
│       ┌───────────┐      ┌───────────────┐    ┌───────────┐     │
│       │  In-App   │      │    Email      │    │   None    │     │
│       │  Only     │      │    + In-App   │    │  (Opted   │     │
│       │           │      │               │    │   Out)    │     │
│       └─────┬─────┘      └───────┬───────┘    └───────────┘     │
│             │                    │                              │
│             ▼                    ▼                              │
│       ┌───────────┐      ┌───────────────┐                      │
│       │  NOVU     │      │  NOVU         │                      │
│       │  In-App   │      │  Email + App  │                      │
│       │  Channel  │      │  Channels     │                      │
│       └─────┬─────┘      └───────┬───────┘                      │
│             │                    │                              │
│             └────────────────────┤                              │
│                                  ▼                              │
│                    ┌───────────────────────────┐                │
│                    │  NOTIFICATION DELIVERED   │                │
│                    └─────────────┬─────────────┘                │
│                                  │                              │
│              ┌───────────────────┴───────────────────┐          │
│              ▼                                       ▼          │
│       ┌───────────────┐                    ┌───────────────┐    │
│       │  NOTIFICATION │                    │    EMAIL      │    │
│       │    BELL       │                    │    INBOX      │    │
│       │  (🔔 Badge)   │                    │               │    │
│       └───────┬───────┘                    └───────────────┘    │
│               │                                                 │
│               ▼                                                 │
│       ┌───────────────────────────┐                             │
│       │  NOTIFICATION FEED        │                             │
│       │  • Mark as read           │                             │
│       │  • Click to navigate      │                             │
│       │  • Mark all as read       │                             │
│       └───────────────────────────┘                             │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘