SO.Sherlyn Olalo, home
All projects

E-commerce

Car Rental

A peer-to-peer rental marketplace where owners list vehicles and customers browse, book and review, with reviews as the trust mechanism.

The Car Rental marketplace showing filtered vehicle listings with prices and ratings, and the date-range booking panel.

Year

2023

Role

Full-stack Developer

Client

School project

Stack

Django 5, Python 3.13, MySQL 8, Bootstrap 5

Coursework project, no public deployment.

01

The problem

Car rental marketplaces typically force owners through rigid platforms or lock customers into limited inventory. There was no simple way for individuals to list spare vehicles or for customers to find peer-to-peer rentals with transparent pricing and reviews. Existing solutions were either overcomplicated or lacked the trust mechanisms (reviews, owner profiles) that peer-to-peer transactions need.

02

What I built

A two-sided marketplace that serves both owners and renters. Customers browse available cars with filters, book by date range, pay, and leave reviews. Owners manage their own listings, set discount codes, and track incoming bookings. Admins get full visibility through Django's admin panel.

Choices that built trust

  • Role-based architecture

    A single User model extended with a profile role keeps the codebase DRY while supporting distinct customer and owner experiences.

  • Trust through reviews

    Post-rental reviews build credibility for both sides, which is essential on a peer-to-peer platform.

  • Flexible discount system

    Owners can create their own codes, enabling dynamic pricing without backend changes.

Django's ORM and built-in auth made development fast, MySQL provided reliable persistence, and server-rendered templates with Bootstrap kept the frontend simple and performant.

03

What I learned

Building a two-sided marketplace taught me that different user flows need different mental models. What's intuitive on an owner dashboard can confuse a customer. I learned to think carefully about the seams where money changes hands, because payment is a critical trust point. If I revisited it, I'd add dynamic pricing for owners, real payment processing, and notifications to keep both parties in sync through the booking lifecycle.