A full-stack library management system with a graphical desktop UI (JavaFX), PostgreSQL database, and layered Java backend using JPA + Hibernate.
This main branch is currently inactive and reserved for future production-ready releases.
The codebase and all active development are maintained in other branches.
A proof-of-concept version is available on the milestone/poc branch.
π₯ Watch the demo video
π Read the release notes
π§ For details on upcoming goals and planned features, see the Release Planning Meeting β 2025-06-17.
The system follows a multi-layered architecture built on the MVC design pattern, extended with:
- A dedicated Service Layer to separate business logic from UI
- A DAO Layer (Data Access Object) for clean database interaction
- Utility classes and Singletons for shared session and navigation handling
This structure improves modularity and testability, allowing for isolated maintenance and future expansion (e.g., switching out database technology with minimal changes to core logic).
π· View Login Architecture Diagram
Development is organized around a disciplined feature-branch workflow. Features were implemented incrementally and consolidated into dev, with completed branches archived under the retired/feature/... namespace to keep the repo clean.
Commits and branch names document progress transparently.
π Note: Completed feature branches are moved under
retired/feature/to reflect archival status.
- π οΈ
feature/maven_integrationβ Initial setup and build configuration - π
docs/requirements-and-designβ Planning, mockups, and system design - π§©
feature/javafx-view-switching&feature/css-implementationβ GUI interaction base - π―
feature/guestViews/contextSharing&feature/frontend-guestViewsβ Core guest UI development - π§ͺ
feature/frontend-guestViews-testfx-integrationβ GUI testing with TestFX - π’οΈ
feature/database-setup,feature/database-implementationβ DAO and PostgreSQL connectivity - π
feature/frontend-borrowerviewsβ Borrower flows - π©βπ«
feature/frontend-librarianviewsβ Librarian interface - π
feature/search-query-integrationβ Dynamic keyword-based search - π
feature/login-implementationβ Role-based authentication - π
feature/item-management,feature/itemcopy-functionalityβ Item and copy handling - π³
feature/loan-functionality,feature/returnLoan-functionalityβ Lending workflows - β°
feature/overdue-functionalityβ Overdue loan tracking - β
Consolidated into
milestone/poc - π§ Ongoing development centralized in
dev
π View all branches for archived features and historical context.
JavaFullStackLibrary/
βββ docs/ π Design docs, mockups, diagrams, specifications
βββ src/
β βββ main/
β β βββ java/ π¦ Java code: model, DAO, services, controllers
β β βββ resources/ π¨ FXML views, CSS, icons, config
β β βββ database/ π’οΈ SQL setup scripts
β βββ test/ π§ͺ Unit tests and test utilities
βββ archive/ π¦ Legacy mockups and sample data
βββ pom.xml βοΈ Maven project config
βββ README.md π Branch-specific project info
- π
/docs: UI mockups, models, diagrams, specs - π§ͺ
/src/test: Unit tests and test utilities - π οΈ
/src/main: Full application codebase - ποΈ
/release-planning: Planning notes and roadmaps
Stay tuned for future production releases on this branch.