A Library Management System developed using tkinter in Python
Note
ALL CONTENTS IN THIS REPO ARE FOR EDUCATIONAL PURPOSES ONLY.
- Description
- Target Users
- Features
- Project Structure
- Quick Start
- Local Setup
- Usage
- Production Setup
- System Administration
- Author(s)
- Version History
- Future Work
- License
- Contributing
- Acknowledgments
- Screenshots
Shelfie! is a reference implementation of a simple relational database management system (RDBMS) emulating a library management system (LMS). With a graphical user interface (GUI) developed using the tkinter module in the Python standard library, it supports CRUD operations on book records stored on a SQLite database.
Shelfie! is intended for:
- Self-directed learners needing a reference implementation of Python, in general, and GUI development with tkinter, specifically, integrated with a library management system.
- ⚡ Intuitive Interface - Simple and easy-to-use graphical interface for beginners
- 📚 Book Management - Straightforward CRUD operations for managing book records
- 🗄️ Database Integration - SQLite database for persistent data storage
- 🌐 Multi-Platform - Works across Windows, macOS, and Linux operating systems
shelfie/
│
├── app/
│ │
│ ├── assets/
│ │ ├── copy/
│ │ └── images/
│ │
│ ├── config/
│ │ └── __init__.py
│ │
│ ├── data/
│ │
│ └── shelfie.py
│
├── assets/
├── .gitignore
├── LICENSE
├── README.md
└── requirements.txt
For those who want to get up and running quickly with default settings:
# Clone repository
git clone https://github.com/ggeerraarrdd/shelfie.git
cd shelfie
# Set up environment
python3 -m venv venv
source venv/bin/activate # On Windows use `venv\\Scripts\\activate`
pip install -r requirements.txt
# Run the application
cd app
python3 shelfie.py
# Click "Sign in" on the login screen
Before you begin, ensure you have met the following requirements:
- See
requirements.txt
-
Clone the repository
git clone https://github.com/ggeerraarrdd/shelfie.git cd shelfie
-
Set up a Python virtual environment
python3 -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the dependencies
pip install --upgrade pip pip install -r requirements.txt
- None
-
Go into the app directory and run the command
python3 shelfie.py
-
Log in
Click
Sign in
.Note: The provided username and password are dummy credentials. The app lacks user authentication and management functionality. There is no data model or CRUD operations implemented for user accounts.
- NA
- TBD
The initial release (v1.0.0) of Shelfie! was submitted as a final project for IS411: Introduction to Programming for Business Applications (DePaul University, Autumn 2022). That version used a PostgreSQL database instance hosted on AWS and psycopg2, a PostgreSQL database adapter for Python.
Project brief as of Autumn 2022:
[Not posted.]
No ongoing development.
Clean up code(Update May 28, 2023: Code too unwieldy, so leaving tkinter version behind and moving on to the web version from scratch.)Create a web version using a web framework (Flask or Django)(Update Oct 14, 2023: Github does not need another book management system repo)
This project is not accepting contributions at this time. It is intended solely for personal learning and exploration. However, feel free to clone the repository and use it as a learning resource.
- Could not have done this project without all the tkinter tutorials by John Elder @flatplanet.
Screenshot of Login page of Shelfie! app featuring No. 159 - "La Bibliothèque: Vue plongeante" by Erik Desmazières. Image taken from app interface (Personal Collection, 2022). In the public domain.