How dannyplusplus12/pbl2 works
This is a Qt 6 library-management desktop application. Staff use the dashboard for statistics and overdue borrowers, the borrow/return screen to manage customer loans, and management tabs to maintain books, authors, and genres. The GUI shares a Library business layer, which keeps in-memory records, applies loan and catalog rules, and persists data to text files. The sampled code confirms startup loading and management-page behavior; several screen-to-backend links are documented capabilities but their implementations were not shown, so those links are marked unverified.
Main entry points: Library.h Library Rules · MainWindow.cpp Main Window · ManagementPage.cpp Catalog Management · main.cpp Application Startup
Components 19
Application UI
- Application Startup
frontend/main.cpp - Main Window
frontend/MainWindow.cpp - Dashboard
frontend/DashboardPage.cpp - Borrow Return
frontend/BorrowReturnPage.cpp - Borrow Cart
frontend/BorrowCartDialog.cpp - Catalog Management
frontend/ManagementPage.cpp - Book Entry
frontend/BookEntryDialog.cpp - Name Entry
frontend/NameDialog.cpp
Library Services
- Library Rules
backend/Library.h - Date Utilities
backend/DateUtils.h - Collection Utilities
backend/utils.h
Domain Records
- Book Records
models/Book.h - Loan Records
models/Borrow.h - Customer Records
models/Customer.h - Author Genre Records
models/Author.h - Shared Entity
models/Entity.h - Record Collections
models/List.h
Local Persistence
- Data Files
Data
Other components
- Library Staff
Connections 26
- Library Staff → Main Window: uses
README.md - Application Startup → Library Rules: loads data
frontend/main.cpp - Application Startup → Library Rules: locks overdue
frontend/main.cpp - Application Startup → Main Window: opens
frontend/main.cpp - Main Window → Dashboard: shows
frontend/MainWindow.cpp - Main Window → Borrow Return: shows
frontend/MainWindow.cpp - Main Window → Catalog Management: shows
frontend/MainWindow.cpp - Borrow Return → Borrow Cart: opens
frontend/BorrowReturnPage.cpp - Catalog Management → Library Rules: queries and updates
frontend/ManagementPage.cpp - Catalog Management → Book Entry: opens
frontend/ManagementPage.cpp - Catalog Management → Name Entry: opens
frontend/ManagementPage.cpp - Dashboard → Library Rules: reads statistics
- Borrow Return → Library Rules: manages loans
- Borrow Cart → Library Rules: submits loan actions
- Book Entry → Library Rules: updates books
- Library Rules → Date Utilities: uses dates
backend/Library.h - Library Rules → Book Records: manages
backend/Library.h - Library Rules → Loan Records: manages
backend/Library.h - Library Rules → Customer Records: manages
backend/Library.h - Library Rules → Author Genre Records: manages
backend/Library.h - Library Rules → Data Files: reads and writes
backend/Library.h - Book Records → Shared Entity: extends
models/Book.h - Author Genre Records → Shared Entity: extends
models/Author.h - Loan Records → Collection Utilities: uses parsing helpers
models/Borrow.h - Book Records → Record Collections: stores genres in
models/Book.h - Loan Records → Record Collections: loads as collection
models/Borrow.h