You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enterprise Library & Resource Management System (ELRMS)
A high-concurrency, enterprise-grade backend system designed for university and institutional resource circulation, physical inventory tracking, automated financial penalty processing, and role-based access control.
🚀 Key Engineering & Resume Highlights
High-Concurrency Circulation Engine: Implemented database-level pessimistic locking (SELECT ... FOR UPDATE via @Lock(LockModeType.PESSIMISTIC_WRITE)) and REPEATABLE_READ transaction isolation to prevent double-checkout race conditions when multiple users contest the last available physical copy.
Automated Batch Processing & Financial Calculation: Engineered an asynchronous @Scheduled midnight batch scheduler (OverdueFineScheduler) that audits active loans, transitions overdue statuses, computes daily accrued fines, and flags accounts with active holds when thresholds are exceeded.
Dynamic Search with JPA Criteria API: Designed specification-based dynamic multi-criteria search (BookSpecification) enabling case-insensitive substring searching across titles and authors, category matching, and real-time inventory availability filtering with database-indexed pagination (Pageable).
Waitlist & Reservation Queue (FIFO): Built a reservation queue system that manages out-of-stock titles, automatic claim window triggers (48-hour holds upon return), and status transition state machines (WAITING ➔ READY_FOR_PICKUP ➔ FULFILLED).
Stateless JWT Security & RBAC: Engineered Spring Security 6 with custom stateless JWTAuthorizationFilter, BCrypt password hashing, method-level security (@EnableMethodSecurity), and distinct role permissions (ADMIN, STAFF, STUDENT).
Production Standards: Standardized RFC 7807 problem details and envelope responses (ApiResponse<T>, PageResponse<T>), JPA Auditing (@EnableJpaAuditing), and full OpenAPI 3.0 (Swagger UI) documentation.