Backend Engineering Project
Assignment Management System
JWT-secured REST backend with a layered Spring Boot architecture.
Overview
The Assignment Management System is an application for managing assignments through a REST API. My contribution to this project is the backend: the Spring Boot service, its security layer, its API surface and its data model. The React frontend in the repository is not my work, and this case study covers only the backend.
The backend runs on Java 21 with Spring Boot 3.5.4 and exposes JSON endpoints secured with JWT, backed by PostgreSQL through Spring Data JPA.
Backend architecture
Client
HTTP
REST API
JSON
JWT Filter
Spring Security
Controller
DTOs
Service
business rules
Repository
Spring Data JPA
PostgreSQL
persistence
Java 21
language runtime
Spring Boot 3.5.4
application framework
Hibernate
ORM
Technical highlights
AUTH
Authentication & security
Spring Security is configured for stateless authentication with JWT: credentials are exchanged for a signed token, and a filter validates that token on subsequent requests before the endpoint is reached.
API
REST API design
Endpoints are grouped by resource and expressed with standard HTTP semantics. Controllers exchange DTOs rather than entities, keeping the persistence model separate from the public contract.
DATA
Data persistence
Spring Data JPA with Hibernate maps entities onto PostgreSQL. Repository interfaces keep query logic declarative and out of the service layer.
STRUCTURE
Project structure
The codebase is organised into controllers, DTOs, security/JWT, models, repositories and services — each package with one clear responsibility, so a new contributor can find the right file quickly.
Technology stack
- Java 21
- Spring Boot 3.5.4
- Spring Security
- JWT
- Spring Data JPA / Hibernate
- PostgreSQL
- REST APIs