How aelly-a/cis4301-project works
This is a command-line library-management application for catalog and patron maintenance, circulation, waitlists, and searches, backed by MariaDB. The main workflow is menu selection, interactive validation/filter collection, database operations, and committing changes; separate database initialization loads SQL seed files. The excerpts show menu dispatch and several helper-to-database calls, but db_handler is partial and several helper routines are unsampled, so database-operation links for documented menu capabilities are limited to relationships supported by the shown source or source index.
Main entry points: db_handler.py Database operations · helper_functions.py Interactive workflows · main.py Menu dispatcher · load_db.py SQL data loader
Components 16
CLI workflows
- Menu dispatcher
main.py - Interactive workflows
helper_functions.py
Circulation
- Checkout, return, extensions
helper_functions.py - Waitlist coordination
helper_functions.py
Catalog and search
- Catalog and patron edits
helper_functions.py - Table searches
helper_functions.py
Persistence and models
- Database operations
db_handler.py - MariaDB settings
MARIADB_CREDS.py - Library database
- SQL data loader
load_db.py - Book model
models/Book.py - User model
models/User.py - Loan model
models/Loan.py - Loan history model
models/LoanHistory.py - Waitlist model
models/Waitlist.py
Other components
- Library operator
Connections 25
- Library operator → Menu dispatcher: selects actions
- Menu dispatcher → Interactive workflows: dispatches menu
main.py - Interactive workflows → Checkout, return, extensions: runs workflows
helper_functions.py - Interactive workflows → Catalog and patron edits: runs workflows
helper_functions.py - Interactive workflows → Table searches: routes searches
helper_functions.py - Checkout, return, extensions → Database operations: checks and mutates
helper_functions.py - Checkout, return, extensions → Waitlist coordination: coordinates queue
helper_functions.py - Waitlist coordination → Database operations: queries queue
helper_functions.py - Catalog and patron edits → Database operations: adds and edits
helper_functions.py - Table searches → Database operations: requests filtered rows
helper_functions.py - Menu dispatcher → Database operations: commits and closes
main.py - Database operations → MariaDB settings: reads settings
db_handler.py - Database operations → Library database: connects and queries
db_handler.py - SQL data loader → MariaDB settings: reads settings
load_db.py - SQL data loader → Library database: creates and seeds
load_db.py - Database operations → Book model: uses model
db_handler.py - Database operations → User model: uses model
db_handler.py - Database operations → Loan model: uses model
db_handler.py - Database operations → Loan history model: uses model
db_handler.py - Database operations → Waitlist model: uses model
db_handler.py - Interactive workflows → Book model: builds filters
helper_functions.py - Interactive workflows → User model: builds filters
helper_functions.py - Interactive workflows → Loan model: builds filters
helper_functions.py - Interactive workflows → Loan history model: builds filters
helper_functions.py - Interactive workflows → Waitlist model: builds filters
helper_functions.py