No description
  • JavaScript 95.7%
  • CSS 3.5%
  • HTML 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Joshua Marsh (icub3d) a0a82fd05a
All checks were successful
Build and Deploy / deploy (push) Successful in 42s
docs: count the Set the Clock game in README and PLAN
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QaKXNUxZW5K5QA5Wz5qsZU
2026-09-11 08:51:38 -06:00
.forgejo/workflows Redesign around Common Core grade 2-3 content, Catppuccin theme, data-driven activities 2026-09-11 08:48:11 -06:00
.github Redesign around Common Core grade 2-3 content, Catppuccin theme, data-driven activities 2026-09-11 08:48:11 -06:00
docs Redesign around Common Core grade 2-3 content, Catppuccin theme, data-driven activities 2026-09-11 08:48:11 -06:00
k8s Simplify HTTPRoute: send to shared Caddy instead of MinIO directly 2026-05-17 15:20:12 -06:00
src Add Set the Clock game and register it 2026-09-11 08:51:12 -06:00
tests Redesign around Common Core grade 2-3 content, Catppuccin theme, data-driven activities 2026-09-11 08:48:11 -06:00
.gitignore add values-prod.yaml to git and remove from gitignore 2026-04-29 17:39:40 -06:00
eslint.config.js Redesign around Common Core grade 2-3 content, Catppuccin theme, data-driven activities 2026-09-11 08:48:11 -06:00
GEMINI.md feat: add 1st grade difficulty and content across all games 2026-02-20 20:04:43 -07:00
index.html Redesign around Common Core grade 2-3 content, Catppuccin theme, data-driven activities 2026-09-11 08:48:11 -06:00
package-lock.json Redesign around Common Core grade 2-3 content, Catppuccin theme, data-driven activities 2026-09-11 08:48:11 -06:00
package.json Redesign around Common Core grade 2-3 content, Catppuccin theme, data-driven activities 2026-09-11 08:48:11 -06:00
PLAN.md docs: count the Set the Clock game in README and PLAN 2026-09-11 08:51:38 -06:00
README.md docs: count the Set the Clock game in README and PLAN 2026-09-11 08:51:38 -06:00
vite.config.js feat: init math practice app 2026-02-20 17:53:13 -07:00

Math Fun

Common Core math practice for 2nd and 3rd graders — 29 activities covering the grade 2 and grade 3 standards, in a Catppuccin-themed React app.

🔗 https://math.marsh.gg

Stack

  • React 19 + Vite 8, React Router (hash routing so static hosting needs no rewrites)
  • Tailwind CSS v4 with Catppuccin Latte (light) and Mocha (dark) tokens
  • No backend: progress (stars, streaks, chosen level) lives in localStorage
  • Built to dist/, synced to a MinIO bucket and served through Caddy behind a Gateway API HTTPRoute (k8s/)

Commands

npm install
npm run dev      # local dev server
npm run lint
npm test         # validates every question generator
npm run build    # -> dist/
npm run preview

Layout

src/
  app/        registry.js (the activity list), App.jsx (routes), Home.jsx (menu)
  content/    one question pack per topic + shared SVG visuals
  engine/     QuizEngine + answer input types shared by every quiz activity
  games/      custom games (Asteroid Defender, Memory Match, Set the Clock)
  components/ Shell, Card, ScoreBar, Celebration, ThemeToggle
  state/      progress (stars/streaks) persisted per activity
  theme/      Catppuccin tokens and the light/dark/system provider

Adding games and questions

See docs/ADDING_CONTENT.md. Short version: append to a list in src/content/, or drop in a new pack and add one line to src/app/registry.js. Routes, menu cards, levels, hints, scoring and theming are generated from that registry.

Standards covered

Grade 2: 2.OA.A.1, 2.OA.B.2, 2.OA.C.3, 2.OA.C.4, 2.NBT.A.1–A.4, 2.NBT.B.5, 2.NBT.B.7, 2.NBT.B.8, 2.MD.A.3, 2.MD.C.7, 2.MD.C.8, 2.MD.D.10, 2.G.A.1–A.3.

Grade 3: 3.OA.A.1–A.4, 3.OA.B.5, 3.OA.B.6, 3.OA.C.7, 3.OA.D.8, 3.OA.D.9, 3.NBT.A.1, 3.NBT.A.3, 3.NF.A.1–A.3, 3.MD.A.1, 3.MD.A.2, 3.MD.B.3, 3.MD.C.6, 3.MD.C.7, 3.MD.D.8, 3.G.A.1, 3.G.A.2.