James Hendershott

Case study

TrackMate (Capstone MERN Project)

A comprehensive MERN stack asset tracking application built as my capstone project. Features role-based access, audit trails, and Docker-based development environment. This is my most in-depth project to date.

MERNDockerReactNode.jsMongoDBExpressCapstone

Overview

TrackMate is my senior capstone project—a full-featured MERN stack application designed for comprehensive asset tracking and management. This is the most in-depth project I have worked on, combining complex backend architecture, modern React frontend, role-based security, and production-ready deployment strategies.

Role & Stack

Team Lead & Full-Stack Developer

  • Stack: MongoDB, Express.js, React, Node.js (MERN)
  • DevOps: Docker, Docker Compose, environment management
  • Team Size: [specify if applicable]

Repository Note: This is a private repository. Access: https://github.com/bradleypeterson/TrackMate.git

Project Scope

TrackMate serves as an enterprise-grade asset tracking dashboard that provides:

  • Real-time asset monitoring and status updates
  • Role-based access control (Admin, Manager, User)
  • Comprehensive audit trails for all asset changes
  • Search and filtering capabilities
  • Reporting and analytics
  • Mobile-responsive interface

Problem

Live data was gated behind VPN. Needed a local development strategy and consistent seed data without exposing sensitive information. Team members needed identical development environments to avoid integration issues.

Solution

Designed and implemented a Docker-based development environment with seed data:

  • Docker Compose for orchestrating MongoDB, Node.js API, and React frontend
  • Seed scripts with realistic JSON fixtures to replace VPN-gated data
  • Environment management (.env files) for dev vs prod configurations
  • Hot reloading enabled for rapid development iteration
# docker-compose excerpt
services:
  api:
    build: ./api
    environment:
      - MONGO_URL=mongodb://db:27017/trackmate

Results

  • Unblocked Development: Team could work locally without VPN access
  • Consistent Environments: Docker eliminated "works on my machine" issues
  • Scalable Architecture: Clean separation of concerns supports future features
  • Production-Ready: Successfully deployed with proper security and monitoring

What I Learned

  • Full-Stack Development: Deep experience across the entire MERN stack
  • Docker & DevOps: Container orchestration and environment isolation
  • Team Leadership: Coordinating technical decisions and architecture choices
  • API Design: RESTful principles, authentication, and authorization
  • Database Design: MongoDB schema design, indexing, and aggregation pipelines
  • Problem Solving: Creative solutions (Docker) to infrastructure blockers (VPN)

Key Takeaway: Architecture and tooling decisions early on pay dividends for teams. Setting up proper infrastructure from the start saved countless hours of debugging and synchronization issues.