Back to Projects
Software

ParkPal

A full-stack parking management system, software-engineered for booking and managing spaces, featuring real-time messaging, map-based routing, Stripe payments, and an admin dashboard; built over several months by a 5-person team.

ReactNode.jsMongoDBSocket.ioSentryStripeVitestJavaScriptTailwind CSS
ParkPal

Started with a software design report (UML & MVC diagrams), then delivered features over two sprints using Scrum agile project management. Tracked work in Jira (boards + Gantt), used GitHub flow (feature branches & PRs), reassessing progress at Scrum meetings.

Worked full-stack on React interfaces with Tailwind and shadcn/ui, backed by a secure role-based JWT-authenticated Node.js and MongoDB backend with Joi validation. Real-time features were handled through a WebSocket layer; payments were processed via Stripe Checkout; map guidance was powered by Google Maps. Sentry monitoring and some unit/integration tests using Vitest and Supertest were added.

Features

  • User dashboard showing active, upcoming and past parking space bookings, with receipts.
  • Stripe-integrated checkout experience for parking space bookings.
  • Google Maps integration showing the route from current location to an active booked parking space. Geofenced check-in on arrival so you can only mark yourself as arrived if you are physically near the space.
  • Real-time messaging system with a contact admin channel, one-to-one conversations with other users, and an emoji picker. Real-time features include new message alerts, message receiving, read receipts, and creating/deleting conversations.
  • Authenticated admin dashboard with ability to select/create/edit parking lots. Dashboard displays visual analytics with charts, and has notifications of recent bookings.
  • The admin panel has operational controls for temporarily blocking spaces for maintenance; reserving spaces for events; viewing all bookings; accessing the admin live chat; temporarily or permanently banning users from the parking management system.
  • Core pages included landing page, terms, privacy, help center, authentication, and password reset.

Error monitoring is via the external monitoring service Sentry - to easily trace where errors are coming from. Server-level file system error handling is also implemented.

Tom's GitHub contributions to ParkPal
80 ParkPal commits covering new features, refactors, and bug fixes

My favourite feature is a WhatsApp-style real-time messaging system built on WebSockets, supporting new message alerts, message receiving/sending, read receipts, and conversation creating/deleting.

Gallery

Landing page for ParkPal
1/11 · Landing page for ParkPal
ParkPal