Skip to content

First deploy - #3

Merged
ekoslow1-creator merged 34 commits into
mainfrom
feature/sc-46082/deploy-current-state-of-dashboard
Jul 28, 2026
Merged

First deploy#3
ekoslow1-creator merged 34 commits into
mainfrom
feature/sc-46082/deploy-current-state-of-dashboard

Conversation

@ekoslow1-creator

Copy link
Copy Markdown
Collaborator

First deploy

Sefaria Intern and others added 30 commits July 21, 2026 15:43
Documents the component architecture, live API integration
(sefaria.org/api/powered-by), and the project_category data-quality
handling agreed on during brainstorming.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The API's project_category field decomposes against 5 real form
labels (one legacy naming variant) plus freeform "Other:" text -
not the 6 categories shown on developers.sefaria.org as originally
assumed. Verified by decomposing all 36 live entries with zero
unmatched leftovers.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Pre-existing uncommitted work from the primary checkout (tabbed sidebar
dashboard, initial Charts and Analytics bar charts, keyword/submissions-trend
utils, recharts dependency), captured as a single baseline commit so the
experience-level trend chart plan's tasks diff cleanly on top of it. Not part
of this plan's scope.
Sefaria Intern added 2 commits July 28, 2026 11:09
@ekoslow1-creator
ekoslow1-creator requested a review from saengel July 28, 2026 09:14
@gitvelocity-reviewer

Copy link
Copy Markdown

📊 Code Quality Score: 48/100

60 × 0.8 = 48

Category Score Factors
🔭 Scope 15/20 19 files across data/utils/components/CSS/config subsystems; new component API (6 components); new data utilities (4 modules); new npm dependency (recharts); new test script
🏗️ Architecture 13/20 Clean component hierarchy with state lifting; data/presentation separation; tab navigation pattern; Recharts integration; multi-category array model is meaningful architectural decision
⚙️ Implementation 13/20 getCategories substring-scan with deduplication; getSubmissionsTrendByExperience with month-range generation and zero-filling; monthsBetween date arithmetic; Recharts LineChart with custom end-of-line labels; filter+sort pipeline
⚠️ Risk 8/20 External API dependency (no mocking); new recharts dependency adds supply chain surface; broken favicon regression; project.categories vs primaryCategory mismatch is runtime bug risk; no feature flags needed
✅ Quality 9/15 Good tests for experience.js and submissionsTrend.js pure functions; test correctly captures implementation behavior; no tests for categories.js or keywords.js; plan docs diverge from implementation; broken favicon is quality regression
🔒 Perf / Security 2/5 rel=noreferrer on external links; Google Fonts preconnect; no input sanitization concerns; no rate limiting needed

Was this score accurate? 👍 Yes · 👎 No

Scored by GitVelocity · How are scores calculated?

@saengel saengel left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, can we please take the docs/superpowers out of the PR.

@ekoslow1-creator
ekoslow1-creator requested a review from saengel July 28, 2026 09:25

@saengel saengel left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work!

@ekoslow1-creator
ekoslow1-creator merged commit b6c912a into main Jul 28, 2026
1 check passed
@ekoslow1-creator
ekoslow1-creator deleted the feature/sc-46082/deploy-current-state-of-dashboard branch July 28, 2026 09:26
@gitvelocity-reviewer

Copy link
Copy Markdown

📊 Code Quality Score: 46/100

58 × 0.8 (Large ESF) = 46

Category Score Factors
🔭 Scope 14/20 19 files across components/data/utils/CSS/config; new API integration; new recharts dependency; tab navigation + project grid + analytics charts as new user-facing behaviors; single frontend app limits max scope
🏗️ Architecture 12/20 Clean component decomposition with data/utils/components separation; new external dependency (recharts) with heavy transitive deps (Redux, D3); follows React patterns; no boundary violations
⚙️ Implementation 13/20 submissionsTrend.js has genuine algorithmic complexity (date parsing, 12-month window, experience bucketing, earliest-month detection); categories.js has substring matching with legacy normalization; recharts animation workaround with custom SVG labels; straightforward but correct filtering/sorting
⚠️ Risk 7/20 External API dependency with graceful error handling; new npm dependency with large transitive footprint; frontend-only, easily reversible; minor bug: broken favicon href with embedded newline
✅ Quality 10/15 Tests for experience.js (4 tests, full coverage) and submissionsTrend.js (5 tests including subtle edge cases); no tests for categories.js, keywords.js, or components; well-commented recharts workaround; no API/design documentation
🔒 Perf / Security 2/5 consent_to_display/is_published filtering; rel=noreferrer on external links; no caching strategy; no rate limiting; no benchmarks

Was this score accurate? 👍 Yes · 👎 No

Scored by GitVelocity · How are scores calculated?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants