Skip to content

Car-Match

Case Study

Car-Match · Personal learning project

React + Node prototype deployed as a demo (frontend on GitHub Pages, backend on Render + MongoDB Atlas). It works end-to-end once the free backend wakes up, but cold starts take ~5 minutes so I still label it a learning project.
TL;DR

What actually shipped

TL;DR: A solo capstone project that lets me experiment with profile cards, event listings, forums, and simple auth flows. The frontend is always up on GitHub Pages; the Express/Mongo backend is on Render’s free tier, so the first login or forum hit can take ~5 minutes while it cold-starts. Once it’s warm, posts/events/forums persist via MongoDB Atlas. Real-time chat, Dockerized deployments, and load testing are still TODOs.

Demo: GitHub Pages + Render + MongoDB AtlasGuided by tutorials + AI promptsUsed to learn React Router + Express controllers
Project context

Why I built it

  • Purpose: Give myself a safe place to practice React Router, protected routes, and basic CRUD patterns.
  • Scope: Profiles, event listings, forums, and simple messaging notes. Messaging/notifications are basic; moderation + Dockerized infra are still future work.
  • Support: Built with heavy guidance from tutorials, StackOverflow answers, and AI pair-programming.
Approach

What I actually touched

Experience layer

  • React pages with context for auth state (JWTs issued by the Render backend once it’s awake).
  • Reusable cards/lists generated with Copilot, then refactored manually.
  • Accessibility pass (manual + Axe) documented in the README.

Platform layer

  • Express API deployed to Render (free tier). Health checks + /healthz endpoint warm it up; first request after inactivity takes minutes.
  • MongoDB Atlas handles events/forums. Collections persist as long as Atlas is configured; otherwise it falls back to mock data.
  • Postman collection + prompt log describing how AI helped.
What I learned

Outcomes (personal, not production)

Confidence

I’m now comfortable wiring up forms, simple auth guards, and documenting unfinished features instead of pretending they exist.

Next steps

Remaining work is tracked openly: replace mock auth with a hosted provider, add automated tests, and decide whether real-time chat is worth the maintenance cost.

Supporting artifacts

Links & disclosures