Back to Projects

Issue Tracker

Spring Boot Full-Stack Application

Java 21Spring BootSpring Data JPAHibernatePostgreSQLThymeleafBootstrap 5

A full-stack Issue Tracker application for managing software development issues across multiple repositories and users, built as a school project at Karel de Grote Hogeschool.

Technical Highlights

Multi-Profile Architecture

Four distinct persistence implementations:

  • map: In-memory HashMap storage
  • jdbc: Plain JDBC with H2
  • dev: JPA with H2 in-memory database
  • prod: JPA with PostgreSQL

JPA Inheritance

Demonstrates advanced JPA capabilities with SINGLE_TABLE inheritance strategy for Issue/BugReport entities with discriminator columns for polymorphic queries.

Entity Relationships

  • User ↔ Repository: One-to-Many bidirectional
  • Repository ↔ Issue: One-to-Many bidirectional
  • User ↔ Issue: Many-to-Many (assignees)

Features

  • CRUD operations for Users, Repositories, and Issues
  • Bug tracking with specialized BugReport entity
  • Internationalization (English and Dutch)
  • Role-based access (ADMIN, MAINTAINER, CONTRIBUTOR, VIEWER)
  • Severity tracking (LOW, MEDIUM, HIGH, CRITICAL)
  • Custom exception handling with styled error pages
  • Responsive Bootstrap 5 UI with card layouts

What I Learned

This project deepened my understanding of enterprise Java development, including Spring's dependency injection, JPA relationships, and proper layered architecture (presentation, business, data layers).