Lattice
A workspace for your research.
Website to assist DPEA students in creating weekly portfolio entries.
Translation pending
ProductivityHTML · JavaScriptGitHub @dpengineeringOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗The student-facing portfolio tools for DPEngineering. Everything is plain
HTML/CSS/JS with no build step, no server, no required accounts, and no database —
each tool runs entirely in the browser and produces a self-contained
.html file the student submits through Canvas.
Live: https://portfolio.dpeacl.org/
| Path | Tool | Who | Cadence |
|---|---|---|---|
/ (index.html) | Hub — asks your grade, then shows your tools | everyone | — |
/weekly (weekly.html) | Rotation post generator | grades 9–12 | weekly |
/unit (unit.html) | Unit post generator (monthly for grade 12) | grades 9–12 | per unit / month |
/onepager (onepager.html) | One-pager — a printable intro page for an exhibit | grade 12 | per project |
/review (review.html) | Standalone performance review — kept as a fallback, no longer linked | — | — |
/grade (grade.html) | Mentor grading tool (performance reviews; hands unit-post links to /grade-unit) | mentors | weekly |
/grade-unit (grade-unit.html) | Unit/monthly post grader — mentors, and peer reviewers via the hub's Peer Review tile | mentors, grade 12 | per unit / month |
/pair (pair.html) | Peer-review pairing tool | teachers | per unit / month |
/peer-qr (peer-qr.html) | TV slide with QR codes that open the monthly Canvas assignment (and optional Clever sign-in) in Safari on iPads | teachers | per month |
Students in grades 9–11 use the two post generators. Grade 12 fills in a weekly performance review inside the rotation post generator. The review is submitted on Canvas; the weekly post itself isn't submitted, it's kept for the senior's end-of-year portfolio site. Canvas is the system of record for every grade; no Canvas rubric is used for any assignment.
index.html asks once for a name, a 6-digit student ID (the one on their
Canvas account), a grade, and where the student sits in the
schedule — a rotation (A–D) for grades 9–11, or one or more periods
(1–4) for grade 12 — and remembers it on the device (dpea.profile.v1). It then
shows only the tools that grade needs. Pre-fill never overwrites a field that
already has something in it, so a loaded draft always wins.
Every field is required. This is a student's first contact with the system, and everything downstream depends on it: a name for their posts, a grade to pick their tools, a rotation or period to pair them for peer review. Next stays disabled and names the first thing still missing.
The schedule travels with every post as meta.rotation / meta.periods plus a
derived meta.peerKey, which is what peer-review matching pairs on: same
rotation for grades 9–11, same home period for grade 12 — the earliest one
they're present for, so periods are stored ascending and the lowest is the key.
Append ?grade=12 to any page to override the stored grade for one page load.
It isn't saved, and it carries through to whichever tool you click. It's there
for demos, mid-year transfers, and a senior sitting in a junior's section. This
is UX scoping, not access control — everything runs client-side.
portfolio.dpeacl.org is a custom domain pointed at this repo's GitHub Pages
site, so the tools are served from the repo root (/unit, /grade — extensionless
URLs work). The custom domain exists because the student network blocks
github.io URLs but not the custom domain. Mentors are not blocked.
The Google Sites pages stay up as a fallback during rollout: they hold the
older single-file generators, so students have something that still works if the
new site misbehaves. Those are the committed *-standalone.html builds, and
they are frozen — tools/build_standalone.py
regenerates them from current source, which would mean re-pasting into Sites, so
only run it when you mean to refresh the fallback. Once rollout is done the Sites
pages become links to portfolio.dpeacl.org and the builds can be retired.
GRADE_URLis permanent.review.htmlbakes the grading-tool URL into every submission it produces, and those files live forever. The old address (dpengineering.github.io/performance-review/grade) must stay reachable — submissions downloaded before the domain move point at it.
This is the beginning of the README. Read the rest at the original. Read the full README ↗