How jerryme3/library-system-management works
This is a Java CLI library-management application. The borrower enters through the console, signs up or signs in, then donates, borrows, returns, searches, or views books and their profile; repository classes persist those operations through JDBC to PostgreSQL. The sampled App excerpt shows orchestration and several repository calls, but omits portions of the workflows, so uncertain wiring is not shown. README-listed features without sampled implementation detail are retained as capabilities of the CLI, not given speculative subsystem links.
Main entry points: App.java Account workflows · DatabaseConnection.java JDBC connection · BookRepository.java Book repository · BorrowerRepository.java Borrower repository
Components 20
CLI workflows
- Console application
src/main/java/com/library/system/App.java - Account workflows
src/main/java/com/library/system/App.java - Book workflows
src/main/java/com/library/system/App.java - Catalog and search
src/main/java/com/library/system/App.java - Profile workflows
src/main/java/com/library/system/App.java
Library domain
- Book
src/main/java/com/library/system/models/Book.java - Borrower
src/main/java/com/library/system/models/Borrower.java - Transaction
src/main/java/com/library/system/models/Transaction.java
Persistence
- Book repository
src/main/java/com/library/system/repository/BookRepository.java - Borrower repository
src/main/java/com/library/system/repository/BorrowerRepository.java - Transaction repository
src/main/java/com/library/system/repository/TransactionRepository.java - JDBC connection
src/main/java/com/library/system/dbconnection/DatabaseConnection.java
Validation and security
- Input checks
src/main/java/com/library/system/utilities/InputAuthenticator.java - Email validation
src/main/java/com/library/system/services/EmailService.java - Name validation
src/main/java/com/library/system/services/StringService.java - Password handling
src/main/java/com/library/system/services/PasswordService.java - Password hashing
src/main/java/com/library/system/utilities/PasswordHashing.java - ID generation
src/main/java/com/library/system/utilities/IDGenerator.java
Other components
- Borrower
- PostgreSQL
Connections 22
- Borrower → Console application: enters choices
- Console application → Account workflows: dispatches
- Console application → Book workflows: dispatches
- Console application → Catalog and search: dispatches
- Console application → Profile workflows: dispatches
- Account workflows → Borrower repository: reads and writes
- Account workflows → Password hashing: hashes and verifies
- Account workflows → ID generation: generates IDs
- Account workflows → Email validation: reports email errors
- Account workflows → Password handling: reports password errors
- Book workflows → Book repository: reads and writes
- Book workflows → Transaction repository: reads and writes
- Book workflows → ID generation: generates IDs
- Catalog and search → Book repository: searches and reads
- Profile workflows → Borrower repository: reads and updates
- Profile workflows → Password hashing: hashes and verifies
- Profile workflows → Password handling: reports password errors
- Book repository → JDBC connection: opens connection
- Borrower repository → JDBC connection: opens connection
- Transaction repository → JDBC connection: opens connection
- JDBC connection → PostgreSQL: connects to
- Name validation → Input checks: checks characters