James Hendershott

Case study

TrackMate

MERN stack university scheduling and room tracking app. 39 commits on the develop branch — built professor cards with QR codes, refactored office hours components, fixed room tracker bugs, and wrote handoff docs. 4-person team, Fall 2025.

TrackMate screenshot
MERNDockerReactNode.jsMongoDBExpress

Overview

TrackMate is a multi-semester university project maintained by Professor Peterson's capstone teams. My team worked on it Fall 2025 for CS 4760. Our commits are on the develop branch (not main — develop was our working branch before pushing to the live server).

My Contribution — 39 Commits on Develop

I have 39 commits on the develop branch from Oct 17 – Dec 9, 2025. My main contributing teammate was Luke Davis. We were the two people actually pushing the project forward. Other team members contributed less or caused integration issues that we had to fix.

Features I built:

  • TM-006: Professor cards with QR codes — Added QR code generation, courses taught display, and selective printing for professor directory cards
  • TM-009: Card UI improvements — Redesigned card layout and readability
  • Office Hours refactoring — Extracted components and utilities following BEM naming and architecture standards (PR #197)
  • Admin room dropdown — New feature for room management (PR #216)
  • About page with contributor credits (PR #213)

Bugs I fixed:

  • Room tracker appointment link validation and sanitization
  • Location parsing edge cases for hybrid locations
  • Office hours edit bugs (PR #218)
  • Multiple sprint bug fixes (PRs #210, #215)
  • Semester sort comparison using lowercase values

Infrastructure & docs:

  • Set up my local Docker development environment
  • Configured dev.env and .gitignore
  • Wrote comprehensive developer handoff documentation for the next team

What I Didn't Do

I didn't build TrackMate from scratch. It's a multi-semester project with 830+ total commits across many teams. My team inherited the codebase and added features for one semester. I'm not claiming I built the whole thing.

Tech Stack

  • Stack: MongoDB, Express.js, React, Node.js (MERN)
  • DevOps: Docker, Docker Compose
  • Team Size: 4 developers (2 core contributors + 2 supporting)

Repository Note: Private repo under professor's GitHub. All my work is on the develop branch.

What I Learned

  • Working in an inherited codebase with years of accumulated decisions
  • Git branching workflow with PR-based code review
  • React component extraction and refactoring
  • Writing handoff documentation for the next team
  • QR code generation and printing workflows in React