A feature-rich, object-oriented desktop application for managing a personal or small library. Built with Python and CustomTkinter, it features a stylish dark-mode UI and persists data locally using a JSON file.
- Full CRUD Functionality: Create, Read, Update, and Delete books from your collection.
- Persistent Storage: Your library is automatically saved to a
library.jsonfile, so your data is safe even after closing the app. - Borrow & Return System: Easily track the status of each book. Mark books as "Borrowed" or "Returned" with a single click.
- Modern & Intuitive UI: A clean, multi-panel user interface built with CustomTkinter, designed for a great user experience.
- Object-Oriented Design: The backend is professionally structured with
BookandLibraryclasses for clean, scalable, and maintainable code.
- Python 3
- CustomTkinter: For the graphical user interface.
- JSON: For local data persistence.
To run this project locally, follow these steps:
-
Clone the repository:
git clone [https://github.com/sens1dev/Athena---Library-Management-System.git](https://github.com/sens1dev/Athena---Library-Management-System.git) cd Athena---Library-Management-System -
Set up a virtual environment (recommended):
python -m venv .venv # On Windows, activate it with: .\.venv\Scripts\activate
-
Install the required libraries: The project's single dependency is listed in the
requirements.txtfile.pip install -r requirements.txt
-
Run the application:
python main.py
The application will automatically create a
library.jsonfile in the project directory to store your data.
.
├── .gitignore
├── book.py # The Book class model
├── library.py # The Library class (backend logic & data management)
├── main.py # The main application (GUI and app logic)
└── requirements.txt
