AutoRent Pro
A car rental management system — catalogue, availability-aware booking, payment, and an admin view of the fleet.
- Role
- Software Engineer
- Status
- shipped
Problem
A rental desk runs on a calendar, a phone and a spreadsheet, and the three disagree. AutoRent Pro puts the catalogue, the availability and the payment in one place, so a customer books against what is actually free and the operator sees the whole fleet from one dashboard.
Architecture
Read this diagram as text
- React client connects to Express API
- Express API connects to JWT auth
- Express API connects to Booking + availability
- Booking + availability connects to MongoDB
- Booking + availability checkout Stripe
- Booking + availability confirms Notifications
- Admin dashboard fleet Express API
- Express API connects to MongoDB
Engineering decisions
The stack, reasoning not written up yet:
React · Node.js · Express · MongoDB · OAuth / JWT · Stripe
The hard part
Availability is a race, not a query. Two customers looking at the same car for the same weekend both see it free, and whichever is slower through checkout gets a confirmation for a vehicle that has gone. Booking had to stop asking whether a car looks free and start holding it: a reservation is written before checkout and expires on its own if payment never completes, with Stripe's result promoting or releasing it. Confirmation mail is sent from that same step, so nobody is emailed about a booking that quietly lapsed.
Result
End to end: a vehicle catalogue with real-time availability, calendar-backed booking, Stripe checkout, JWT accounts, automated confirmation and reminder mail, customer reviews, and an admin dashboard over the fleet.
Live and source
No public deployment — this one is not hosted anywhere a visitor can open. Happy to walk through it.
