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.
- Kotlin
- Spring Boot
- Spring Web (REST APIs)
- Spring Data JPA
- Spring Security
- PostgreSQL
- Flyway
- Gradle
- Docker (for local database)
Client (curl / Postman / Mobile App)
↓
Spring Boot API (Tomcat)
↓
Security Filter Chain
↓
Controllers → Data Access Layer
↓
PostgreSQL (schema managed by Flyway)
- Java 21
- Docker & Docker Compose
- Gradle (via wrapper)
docker compose up -d./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
-
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
-
CRUD APIs for maintenance items and logs
-
JWT-based authentication
-
Containerization and Kubernetes deployment
-
Integration with a Kotlin Android client