Skip to content

MartinTCode/JavaFullStackLibrary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

  • πŸ“ /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.

About

A Java-based full-stack library management system with GUI and PostgreSQL database.

Resources

License

Stars

Watchers

Forks

Packages

No packages published