Trackix - Issue Tracking Platform (Jira-style)
Enterprise issue tracking with Spring Boot, JWT, RBAC, and 90%+ test coverage.
In this case study
Overview
A Jira-style issue tracking backend built with Spring Boot 3 layered architecture. Features include JWT-based RBAC, JPA Specifications for dynamic filtering, and extensive unit testing using Mockito and JUnit to ensure reliability and maintainability.
Results
- A layered backend a new contributor can read top-to-bottom in one sitting.
- Permission rules enforced once, verified everywhere through tests.
Key features
- RBAC Security
- Dynamic Filtering
- 90%+ Unit Test Coverage
- REST API Documentation
Architecture
Spring Boot 3 layered architecture: controllers validated at the edge, services owning business rules, repositories against PostgreSQL. Security is handled independently of business code via JWT authentication and role-based authorization, so permissions are re-checked at every layer instead of trusting the frontend.
Engineering decisions
The main choices behind the implementation.
- JWT-based stateless auth: the API scales horizontally without central session state.
- RBAC on every endpoint: a role grant is enforced server-side, never inferred.
- JPA Specifications instead of custom SQL: dynamic filtering composable from the UI.
- Mockito + JUnit from day one: testability shaped the design, not the other way round.
Challenges
Modeling an enterprise permission matrix (who can transition which issue to which state) without the code becoming an unreadable rule dump: solved by centralizing guards and proving them with 90%+ unit-test coverage.