Builder Showcase Publishing Pipeline Diagram
Diagram type: draw.io-friendly publishing workflow sketch
Project: DataInsideData™ Builder Showcase
Phase: Current platform before AI layer
Purpose
This diagram shows how a reviewed Builder Showcase submission becomes a public project page on the DataInsideData™ website.
Recommended Draw.io Layout
Use a left-to-right pipeline with six zones.
[Submission Review]
→
[Promotion]
→
[YAML Export]
→
[Page Generation]
→
[Jekyll Build / Deploy]
→
[Public Showcase]
Zone 1 — Submission Review
Suggested container label:
Submission Review Source
Shapes inside:
builder_project_submissions
README Check
Status: submitted
Status: reviewing
Status: approved / publish-ready
Connector flow:
builder_project_submissions
→ README Check
→ Status: reviewing
→ Status: approved / publish-ready
Notes:
- Submission begins in
builder_project_submissions. - README review checks safety and documentation readiness.
- Admin can move a submission through review statuses.
- The submission must be appropriate for publication before promotion.
Zone 2 — Promotion
Suggested container label:
Promotion Workflow
Shapes inside:
promote_builder_projects.py
promote_submission_to_builder_project()
builder_projects
Set is_public
Set Submission Status: published
Log promoted_to_builder_project
Connector flow:
Status: approved / publish-ready
→ promote_builder_projects.py
→ promote_submission_to_builder_project()
→ builder_projects
→ Set is_public
→ Set Submission Status: published
→ Log promoted_to_builder_project
Notes:
- Promotion creates or updates the public project record.
- The promoted project receives a slug.
- Promotion links back to the original submission.
- Event logging preserves publish history.
Zone 3 — YAML Export
Suggested container label:
YAML Export Workflow
Shapes inside:
export_builder_project.py
export_builder_projects()
Read Public builder_projects
Load Existing _data/builder_projects.yml
Create Timestamped Backup
Merge Records by Slug
Write Updated YAML
Log exported_to_yml
Connector flow:
builder_projects
→ export_builder_project.py
→ export_builder_projects()
→ Read Public builder_projects
→ Load Existing YAML
→ Create Timestamped Backup
→ Merge Records by Slug
→ Write Updated YAML
→ Log exported_to_yml
Notes:
- Export supports filtering by slug or project ID.
- Export can preserve existing YAML records.
- Export avoids regenerating unrelated pages when scoped.
- YAML acts as static site data for Jekyll.
Zone 4 — Page Generation
Suggested container label:
Static Detail Page Generation
Shapes inside:
generate_builder_project_pages()
projects/builder-showcase/<slug>/index.md
GitHub README Include
GitHub Project Include
Log detail_page_generated
Connector flow:
Write Updated YAML
→ generate_builder_project_pages()
→ projects/builder-showcase/<slug>/index.md
→ GitHub README Include
→ GitHub Project Include
→ Log detail_page_generated
Notes:
- Detail pages use generated front matter and project data.
- README rendering pulls from normalized/raw GitHub README URLs.
- Link rewriting supports relative assets and notebook links.
- Unsafe README rendering is controlled by frontend sanitization and backend checks.
Zone 5 — Jekyll Build / Deploy
Suggested container label:
Static Site Build + Deploy
Shapes inside:
Jekyll / Minimal Mistakes
GitHub Actions
Build _site
Deploy to Public Repo / gh-pages
Connector flow:
Generated Detail Pages
→ Jekyll / Minimal Mistakes
→ GitHub Actions
→ Build _site
→ Deploy to Public Repo / gh-pages
Notes:
- Source repo builds the site.
- Public deployment repo serves generated site output.
- GitHub Pages serves from the configured branch.
Zone 6 — Public Showcase
Suggested container label:
Published Builder Showcase
Shapes inside:
Public Project Detail Page
Repository Link
README Rendering
Live Demo Link
Project Metadata
Recruiter / Reviewer View
Connector flow:
Deploy to Public Repo / gh-pages
→ Public Project Detail Page
→ Recruiter / Reviewer View
Notes:
- Public page is the final proof-of-work artifact.
- Page connects GitHub evidence with curated metadata.
- Future AI layer can improve content before publication.
Event Trail Side Lane
Place this as a horizontal side lane below the pipeline:
Event Log:
status_changed
→ promoted_to_builder_project
→ exported_to_yml
→ detail_page_generated
Connector:
Promotion / Export / Page Generation
→ builder_submission_events
→ Streamlit Dashboard
Key Files and Functions
scripts/promote_builder_projects.py
scripts/export_builder_project.py
src/builder_showcase/workflow.py
src/builder_showcase/publisher.py
src/builder_showcase/yaml_export.py
src/builder_showcase/page_generator.py
_data/builder_projects.yml
projects/builder-showcase/<slug>/index.md
Suggested Color Legend
Green: Database source tables
Orange: Admin scripts
Yellow: YAML/static export files
Blue: Jekyll/GitHub deployment
Cyan: Public-facing output
Purple: Event logging
Diagram Caption
The Builder Showcase publishing pipeline promotes reviewed submissions into public project records, exports them into static site data, generates detail pages, and logs each publishing step for dashboard visibility.