Skip to content

Backend service for a Maintenance Log application built with Spring Boot and Kotlin. Exposes REST APIs backed by PostgreSQL with schema managed via Flyway. Includes Spring Security, health endpoints, and a production-style architecture designed for learning real-world backend, cloud, and interview-relevant concepts.

Notifications You must be signed in to change notification settings

LarryChiem/Maintenance-Reminder

Repository files navigation

Maintenance Log Backend (Spring Boot + PostgreSQL)

This repository contains the backend service for a Maintenance Log application, built to track recurring maintenance tasks for vehicles, home systems, and other assets.

The service is implemented using Spring Boot (Kotlin) and exposes RESTful APIs backed by a PostgreSQL database. Database schema changes are managed using Flyway migrations, and the application is secured with Spring Security.

The project is designed to reflect real-world backend engineering practices, including environment-based configuration, explicit schema management, and HTTP-based health checks.

Tech Stack

  • Kotlin
  • Spring Boot
  • Spring Web (REST APIs)
  • Spring Data JPA
  • Spring Security
  • PostgreSQL
  • Flyway
  • Gradle
  • Docker (for local database)

Architecture Overview

Client (curl / Postman / Mobile App)

Spring Boot API (Tomcat)

Security Filter Chain

Controllers → Data Access Layer

PostgreSQL (schema managed by Flyway)

Running Locally

Prerequisites

  • Java 21
  • Docker & Docker Compose
  • Gradle (via wrapper)

Start PostgreSQL

docker compose up -d

Run the Application

./gradlew bootRun

The service will be available at:

http://localhost:8080

Health & Database Checks

curl http://localhost:8080/health
curl http://localhost:8080/db-check

Goals of This Project

  • Practice production-style backend development

  • Gain hands-on experience with Spring Boot, PostgreSQL, and migrations

  • Serve as a foundation for a mobile (Android/iOS) client

  • Prepare for backend-focused software engineering interviews

Future Work

  • CRUD APIs for maintenance items and logs

  • JWT-based authentication

  • Containerization and Kubernetes deployment

  • Integration with a Kotlin Android client

About

Backend service for a Maintenance Log application built with Spring Boot and Kotlin. Exposes REST APIs backed by PostgreSQL with schema managed via Flyway. Includes Spring Security, health endpoints, and a production-style architecture designed for learning real-world backend, cloud, and interview-relevant concepts.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages