You are browsing as a guest. Sign up (or log in) to start making projects!

7h 57m 44s logged

Here is a ultra-crisp, casual version designed to fit right into your Hack Club devlog style:Devlog #5 — Teacher Tools & Parchment Restyle (~7h logged)Turned the portal into a full teacher workspace—built a question bank, a test paper generator, and a print library, then polished accessibility, bundle size, tests, and CSS!What got built:Teacher Backend (db.js, teacher.js): Added schemas for questions and paper templates. Generating a paper snapshots the questions so editing the bank later won’t ruin past test history.Smart Autofill (autofill.js): Builds papers based on difficulty (1–5), question types, and chapters while tracking usage frequency so questions don’t over-repeat.Paper Builder & CSV Import: 3-step wizard with preset CBSE formats (like 29-mark setups) and bulk CSV question uploading.A11y & Performance: Lazy-loaded all 14 routes to cut bundle size from 221 KB to 186 KB. Fixed screen-reader toggle text and added offline PWA caching.Parchment Theme: Redid CSS with warm ivory (#f0ece2), clean cards, serif fonts (Source Serif 4), and dark mode tokens.Autofill Logic Snippet:JavaScriptconst candidates = pool
.filter((q) => !excluded.has(Number(q.id)) && !picked.has(Number(q.id)))
.filter((q) => matchesSection(q, spec, user))
.map((q, i) => ({ q, i, tiebreak: rng() }))
.sort((a, b) => a.q.usage_count - b.q.usage_count || a.tiebreak - b.tiebreak)
.map((x) => x.q);
What I Learned:A11y live regions: Always announce the result of a toggle to screen readers, while setting the button label to the next action.GitHub Pages hosting: Used static fallback data for student views so everything works smoothly without a live Express server.Next up: Direct PDF exports for the print queue! I am gonna finish this in no time and get my money, right.

0
5

Comments 0

No comments yet. Be the first!