Skip to main content

Project 01 — Grading Rubric

Total: 100 points

Functionality (35 points)

CriteriaPointsNotes
App works end-to-end (no broken features)10Test all user flows
Both APIs integrated and functional10Not just fetched — data actually shown
localStorage persistence works5Survives page refresh
Modal works (open, close, Esc key)5Accessible — focus trap, aria
Form validation with visible error messages5Not just browser defaults

Code Quality (30 points)

CriteriaPointsNotes
TypeScript — tsc --noEmit passes10Zero errors, no any
Modular code organization10API, utils, components separated
No innerHTML with user data5Security
Conventional commit messages5At least 5 per member

Design & Accessibility (20 points)

CriteriaPointsNotes
Responsive — works on 375px and 1280px8Test in DevTools
Dark mode implemented4With toggle or auto
Focus states visible on all interactive elements4:focus-visible
Color contrast passes WCAG AA4Use Chrome DevTools

Process (15 points)

CriteriaPointsNotes
Feature branches + PRs (no direct main commits)5Check git history
README with all required sections5Live URL required
Presentation covers all 5 points55-minute limit

Grade Thresholds

ScoreGrade
90–100A
80–89B
70–79C
Below 70Needs revision

Automatic Deductions

  • App is not deployed: -15 points
  • API keys committed to GitHub: -20 points
  • Direct commits to main branch: -5 points
  • No README: -10 points