Skip to content

A Library Management System developed using tkinter in Python

License

Notifications You must be signed in to change notification settings

ggeerraarrdd/shelfie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub release Maintenance Codacy Badge codecov Quality Gate Status Renovate enabled

Shelfie

A Library Management System developed using tkinter in Python

Table of Contents

Note

ALL CONTENTS IN THIS REPO ARE FOR EDUCATIONAL PURPOSES ONLY.

Description

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

Target Users

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.

Features

  • 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

Project Structure

shelfie/
│
├── app/
│   │
│   ├── assets/
│   │   ├── copy/
│   │   └── images/
│   │
│   ├── config/
│   │   └── __init__.py
│   │
│   ├── data/
│   │
│   └── shelfie.py
│
├── assets/
├── .gitignore
├── LICENSE
├── README.md
└── requirements.txt

Quick Start

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

Local Setup

Prerequisites

Before you begin, ensure you have met the following requirements:

  • Python (version 3.9 or higher)
  • git (for cloning the repository)

Dependencies

  • See requirements.txt

Installation

  1. Clone the repository

    git clone https://github.com/ggeerraarrdd/shelfie.git
    cd shelfie
  2. Set up a Python virtual environment

    python3 -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
  3. Install the dependencies

    pip install --upgrade pip
    pip install -r requirements.txt

Configuration

  • None

Usage

  1. Go into the app directory and run the command

    python3 shelfie.py
  2. 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.

Production Setup

  • NA

System Administration

  • TBD

Author(s)

Version History

Release Notes

Initial Release

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.]

Future Work

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)

License

Contributing

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.

Acknowledgments

Screenshots

Shelfie Shelfie

Frontispiece

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.