A robust backend application built with Java that simulates a real-world library environment. This project demonstrates core Object-Oriented Programming (OOP) principles and data persistence.
- Data Persistence: Saves and loads both Books and Users using File I/O (
BufferedReaderandFileWriter). - Interactive CLI: A user-friendly command-line menu for managing library operations.
- Robustness: Implements Exception Handling to prevent crashes from invalid user input.
- Logic Engine: Automated systems for borrowing and returning books, checking availability, and managing user lists.
- Language: Java
- Data Structures: HashMaps, ArrayLists
- Concepts: Encapsulation, Persistence, Error Handling, File Handling
models: ContainsBooksandUserclasses.services: Contains theLibraryServiceslogic engine.data: Handles theFileHandlerfor saving/loading.txtfiles.app: The entry point (Main) with the CLI menu.
- Clone the repository.
- Compile the files:
javac app/Main.java. - Run the application:
java app.Main.