OnTheGoRentals: Spring Boot and Vue 3 Platform

OnTheGoRentals is a production-ready rental SaaS platform built with Spring Boot and Vue 3. It’s live, fully functional, and designed to be adapted for any rental domain — cars, bicycles, houses, equipment. This 3-part series walks through the technical decisions behind the platform.

What Is This Project?

OnTheGoRentals is a real, production-deployed application — not a prototype or demo. It’s live at otgr.nemesisnet.co.za with a full admin dashboard, user authentication, booking system, and observability stack. The car data you see is placeholder content, but the system itself is production-grade and ready for a real rental company to populate with their fleet. It’s also a reusable template: swap “cars” for bicycles, houses, tools, or any rentable asset, and the core architecture holds.

What You’ll Learn

  • Domain-Driven Design

    How we modeled bookings, cars, and rentals as immutable domain entities with Builder patterns.

  • Temporal Overlap Detection

    Using JPQL interval queries to prevent double-bookings without pessimistic locking.

  • JWT Security Architecture

    HttpOnly cookie refresh tokens, Google OAuth2 integration, and Spring Security 6.5 filter chains.

  • Object Storage and Observability

    MinIO for car image storage and a full Prometheus + Grafana + Loki monitoring stack.

The Series

This dev diary is split into three parts, each diving deep into a specific aspect of the OnTheGoRentals architecture:

Part 1: Architecture & Domain Design

We break down the modular monolithic architecture, the domain model with immutable entities, and why we chose Builder patterns over mutable state. You’ll learn how we structured the Spring Boot layers and modeled the booking lifecycle as a state machine.

Part 2: Concurrency & Security

We tackle the hardest problem in rental systems: preventing double-bookings with JPQL interval queries. Plus, we build a secure JWT authentication architecture with Google OAuth2 integration and HttpOnly cookie refresh tokens.

Part 3: Infrastructure & Operations

We cover the infrastructure: MinIO object storage, the Prometheus + Grafana + Loki observability stack, Docker deployment, and the technical debt we identified along the way.

The Live Application

Here’s the live homepage — clean, focused, and ready for customers:

OnTheGoRentals Live Homepage

The admin dashboard with real-time fleet metrics:

Admin Dashboard

Ready to Dive Deep?

Start with Part 1 to understand the architectural foundations, or jump to whichever aspect interests you most.

Related Reading