Skip to content

Latest commit

 

History

History
104 lines (69 loc) · 4.67 KB

File metadata and controls

104 lines (69 loc) · 4.67 KB

JavaFullStackLibrary

A full-stack library management system with a graphical desktop UI (JavaFX), PostgreSQL database, and layered Java backend using JPA + Hibernate.


Status Java License


📌 Project Status

This main branch is currently inactive and reserved for future production-ready releases.

The codebase and all active development are maintained in other branches.


📦 Pre-alpha Release

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.


🏗️ Architectural Overview

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


🌱 Branching Structure

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.

🏁 Development Timeline Summary (Chronological)

📁 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.


🧭 Project Overview

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

📂 Repo Navigation


Stay tuned for future production releases on this branch.