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.
Recommended Draw.io Layout
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_submissionsis the intake/review source.builder_submission_eventsis the audit/history trail.builder_projectsis 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.pykeeps 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.