Skip to main content
DriveX Backend is powered by Spring Boot 4.0.0 and Java 17, providing a robust and scalable solution for vehicle rental management.

Welcome to DriveX Backend

DriveX Backend is a production-ready Spring Boot application that provides a complete API for vehicle rental management. Built with modern Java technologies, it offers secure authentication, comprehensive vehicle management, and rental transaction processing.

Key Features

  • Vehicle Management: Complete CRUD operations for vehicles with advanced filtering, search, and brand management
  • User Authentication: Secure user registration and login with Spring Security
  • Rental System: Full rental lifecycle management with booking and tracking capabilities
  • Favorites: Allow users to save and manage their favorite vehicles
  • Image Handling: Vehicle image upload and management system
  • MySQL Integration: Persistent data storage with JPA/Hibernate
  • Docker Support: Containerized deployment with multi-stage builds

Technology Stack

Spring Boot

Version 4.0.0 with Spring WebMVC and Spring Data JPA

Java 17

Modern Java LTS version with enhanced performance

MySQL

Relational database with Hibernate ORM

Maven

Dependency management and build automation

Get Started

Quickstart

Get your DriveX Backend API running in minutes

Installation Guide

Detailed setup instructions for development and production

API Reference

Explore all available endpoints and their usage

GitHub Repository

View source code and contribute to the project

API Architecture

The DriveX Backend API is organized around REST principles with the following resource endpoints:
  • /api/vehicles - Vehicle catalog management and search
  • /api/auth - User authentication and registration
  • /api/users - User profile management
  • /api/rentals - Rental transactions and bookings
  • /api/favorites - User favorite vehicles
  • /api/vehicle-images - Vehicle image uploads and management
All API endpoints are prefixed with /api as configured in the application context path.

Core Dependencies

The application leverages these key Spring Boot starters:
<!-- Spring Boot Web MVC -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-webmvc</artifactId>
</dependency>

<!-- Spring Data JPA -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<!-- MySQL Connector -->
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
</dependency>

<!-- Spring Security Crypto -->
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-crypto</artifactId>
</dependency>

Quick Example

Here’s a simple example of fetching all vehicles:
curl http://localhost:8080/api/vehicles
[
  {
    "id": 1,
    "brand": "BMW",
    "model": "X5",
    "year": 2024,
    "reference": "BMW2024A1B2",
    "vehicleType": "SUV",
    "pricePerDay": 150.00
  }
]

Next Steps

1

Read the Quickstart

Follow our quickstart guide to get the API running locally in under 5 minutes.
2

Explore the API

Check out the API reference to see all available endpoints and request/response formats.
3

Deploy to Production

Use our Docker configuration for containerized deployment to any cloud platform.

Build docs developers (and LLMs) love