Car-Rent
A full-stack rental platform covering vehicle discovery, booking, reviews, payments, and secure authentication, with REST APIs and relational data modeling.

Car-Rent is a full-stack rental platform. Users discover vehicles, place bookings, leave reviews, and pay securely. The system uses Next.js on the front, NestJS on the back, Prisma ORM for relational modeling, and JWT + OAuth for authentication.
Rental platforms combine a lot of moving parts — search, scheduling, payments, reviews, and auth — and small leaks in any one of them break the whole experience. The challenge was to model this cleanly and keep the API contract dependable.
Split the system into a typed Next.js front-end, a NestJS REST API, and a Prisma-managed relational schema. Use JWT for session auth, OAuth for federated login, and strict request/response DTOs everywhere so the front and back never drift.
Next.js + React (front) · NestJS REST API · Prisma ORM · relational database · JWT auth · OAuth provider. Clean separation of discovery, booking, review, and payment domains.
Technical Challenges
Booking availability under concurrent writes was the hardest correctness problem. Adding a database-level constraint on overlapping bookings removed a class of race conditions that application logic alone couldn't fully prevent.
Engineering Learnings
Push invariants into the schema wherever possible. Code that prevents double-bookings is fragile; a unique constraint is not.