Library Management System is a robust, highly secure, and scalable Full-Stack web application designed for comprehensive university library management. Engineered using industry best practices (Layered Architecture, RESTful principles), this system delivers high performance and a seamless user experience.
The platform solves complex concurrency issues, such as race conditions during book borrowing, and integrates real-time WebSocket communication to keep administrators and users instantly updated.
Core Features & Capabilities:
Advanced Role-Based Access Control (RBAC): Fine-grained permission management supporting multiple user tiers (Admin, Manager, User), heavily secured by stateless JWT authentication (Access & Refresh tokens).
Real-Time Notifications: Seamless integration of WebSockets (STOMP + SockJS) to instantly notify administrators of new book loans and returns without page reloads.
Optimistic Locking (Concurrency Control): Prevents stock depletion conflicts and race conditions using JPA's @Version annotation, ensuring accurate inventory even during simultaneous borrowing attempts.
Analytical Dashboard: Real-time data visualization featuring interactive charts (powered by Recharts) to analyze borrowing trends, stock availability, and category distributions.
Dynamic Data Export: Automated generation of professional reports in both PDF (via iText 7) and Excel (via Apache POI) formats.
Multilingual Interface: Native support for both English and French, implemented dynamically using react-i18next.
Technical Architecture & Full Tech Stack:
Frontend Ecosystem: React 18, TypeScript, Vite, TanStack Router (for client-side routing), TanStack React Query (for server state management/caching), Tailwind CSS, Material UI (MUI), Recharts (for complex data visualization), and react-i18next.
Backend Core: Java 17, Spring Boot 3.2, Spring Web (REST API), Jakarta Validation, Lombok, and Maven.
Security & Real-Time: Spring Security, JJWT (JSON Web Tokens), and Spring WebSocket with STOMP/SockJS protocols.
Data Access & Mapping: Spring Data JPA, Hibernate, MapStruct (for Entity-DTO mapping), MySQL 8.0 (Production), and H2 Database (Testing).
Reporting & Export: iText 7 (PDF) and Apache POI (Excel .xlsx).
DevOps, Tooling & CI/CD: Docker, Docker Compose, phpMyAdmin, and GitHub Actions.
API Documentation: SpringDoc OpenAPI (Swagger 3).
🔗 Live Links & References:
Source Code (GitHub):https://github.com/ABDELA...
Portfolio / Case Study:https://elkholtyabde.verc...