Builder Showcase Data Flow Diagram

Diagram type: draw.io-friendly system/data flow sketch
Project: DataInsideData™ Builder Showcase
Phase: Current platform before AI layer

Purpose

This diagram shows how project submission data moves through the Builder Showcase system, from public intake to database storage, admin review, publishing, reporting, and dashboard views.

Use a left-to-right flow with five vertical zones.

[Public Intake]
      →
[Edge Function / Validation]
      →
[Supabase Database]
      →
[Admin Workflow / Publishing]
      →
[Reporting + Public Output]

Zone 1 — Public Intake

Suggested container label:

Public Intake Layer

Shapes inside:

Builder / Student / Contributor
DataInsideData™ Submit Project Page
Browser Form Validation
Preview Submission
Confirm & Submit

Connector flow:

Builder / Student / Contributor
→ DataInsideData™ Submit Project Page
→ Browser Form Validation
→ Preview Submission
→ Confirm & Submit

Notes:

  • User supplies required project metadata.
  • README URL may be a raw GitHub URL.
  • Live demo URL is optional.
  • User confirms ownership or permission to submit.

Zone 2 — Edge Function / Validation

Suggested container label:

Supabase Edge Function Intake

Shapes inside:

submit-builder-project Edge Function
CORS Handling
POST Method Check
Public Form Key Check
JSON Payload Validation
Honeypot Check
Duplicate Submission Check
Client IP Hashing
Insert Submission
Log submission_created Event

Connector flow:

Confirm & Submit
→ submit-builder-project Edge Function
→ CORS Handling
→ POST Method Check
→ Public Form Key Check
→ JSON Payload Validation
→ Honeypot Check
→ Duplicate Submission Check
→ Client IP Hashing
→ Insert Submission
→ Log submission_created Event

Notes:

  • The browser does not write directly to database tables.
  • Edge Function uses server-side environment secrets.
  • Client IP is stored as a salted hash, not a raw IP address.

Zone 3 — Supabase Database

Suggested container label:

Supabase / Postgres Data Layer

Shapes inside:

builder_project_submissions
builder_submission_events
builder_projects

Relationships:

builder_project_submissions.id → builder_submission_events.submission_id
builder_project_submissions.id → builder_projects.submission_id
builder_projects.id → builder_submission_events.builder_project_id

Notes:

  • builder_project_submissions is the intake/review source.
  • builder_submission_events is the audit/history trail.
  • builder_projects is the publishable project record table.

Zone 4 — Admin Workflow / Publishing

Suggested container label:

Admin Workflow + Publishing Scripts

Shapes inside:

check_submission_readme.py
update_submission_status.py
promote_builder_projects.py
export_builder_project.py
view_submission_events.py
view_builder_ops_summary.py

Connector flow:

builder_project_submissions → check_submission_readme.py → readme_checked Event
builder_project_submissions → update_submission_status.py → status_changed Event
builder_project_submissions → promote_builder_projects.py → builder_projects → promoted_to_builder_project Event
builder_projects → export_builder_project.py → _data/builder_projects.yml → Generated Detail Pages

Notes:

  • Admin scripts run locally from a trusted environment.
  • Events are logged as local_admin.
  • Export can be scoped by slug or project ID.

Zone 5 — Reporting + Public Output

Suggested container label:

Reporting + Published Output

Shapes inside:

reports.py
pgAdmin Business Queries
Streamlit Builder Ops Dashboard
_data/builder_projects.yml
Jekyll / Minimal Mistakes Build
Public Builder Showcase Pages

Connector flow:

Supabase Database → reports.py → Streamlit Builder Ops Dashboard
Supabase Database → pgAdmin Business Queries
builder_projects → _data/builder_projects.yml → Jekyll Build → Public Builder Showcase Pages

Notes:

  • reports.py keeps query logic separate from Streamlit UI.
  • pgAdmin queries support business/operational inspection.
  • Streamlit dashboard supports internal review and activity monitoring.

Key Data Objects

Use small callout notes for these objects:

Submission Payload
Cleaned Submission Row
README Check Metadata
Event Log Record
Builder Project Record
YAML Project Record
Generated Static Page
Dashboard Report DataFrame

Suggested Color Legend

Blue: Public user/browser flow
Purple: Edge Function / API validation
Green: Supabase database tables
Orange: Admin scripts/workflow
Cyan: Reporting/dashboard/output
Red outline: Security-sensitive boundary

Core Connector Checklist

Builder → Submit Project Page
Submit Project Page → Browser Validation
Browser Validation → Preview Submission
Preview Submission → Confirm & Submit
Confirm & Submit → Edge Function
Edge Function → Validation Checks
Validation Checks → builder_project_submissions
Edge Function → builder_submission_events
builder_project_submissions → README Checker
README Checker → builder_submission_events
builder_project_submissions → Status Update Script
Status Update Script → builder_submission_events
builder_project_submissions → Promotion Script
Promotion Script → builder_projects
Promotion Script → builder_submission_events
builder_projects → Export Script
Export Script → builder_projects.yml
Export Script → Generated Detail Pages
Export Script → builder_submission_events
Supabase Tables → reports.py
reports.py → Streamlit Dashboard
Supabase Tables → pgAdmin Business Queries
builder_projects.yml → Jekyll Build
Jekyll Build → Public Builder Showcase Pages

Diagram Caption

The Builder Showcase data flow turns public project submissions into reviewed, event-tracked, publishable project records that can be exported to the static site and monitored through operational dashboards.