This project demonstrates a car sharing web application.


Project information

This is a project made for the “Programming in Java” course on the University of Split. It attempts to demonstrate a simple car sharing application and the way it works. It was developed under the Authors mentioned below.


  • Java >=18
  • Node.js >=14
  • MongoDB


  • Account Management

    • User registration and login
    • User roles defined by subscription tier (basic, standard, premium)
    • User defined settings
      • day/night mode
      • Account self management (through Keycloak)
  • Car Reservation

    • Locate nearest available vehicles
    • Reserve vehicle
    • Unlock vehicle via NFC
  • Admin panels

    • Manage users (through Keycloak)
    • Manage vehicle availability (available, in service, in cleaning, etc.)
  • Subscription model

    • Tiered system (limited vehicles and services)

Running locally

Clone the repo to your machine using

git clone

Compose the docker file using a container or docker desktop

docker-compose up

Build the backend server & start it

mvn clean install
mvn spring-boot:run

Traverse into the ‘clientapp’ directory

cd src/clientapp

Install the dependencies and run the server

npm install
npm run serve

Access the server on http://localhost:8080

Have some fun exploring the app ?

Database model

Database model

Tech stack

  • Java
  • Spring Boot
  • Thymeleaf
  • Vue.js
  • Javascript
  • HTML 5
  • CSS 3
  • Vueitfy
  • Docker
  • MongoDB
  • Keycloak


Bruno Bule @bb00le

Roko Đugum @reactst

Karlo Rešetar @karloresetar


View Github