https://github.com/jere-eee/phase3-project-librarysystem
A simple library system cli
https://github.com/jere-eee/phase3-project-librarysystem
bycrypt cli python shell sqlite3
Last synced: about 1 month ago
JSON representation
A simple library system cli
- Host: GitHub
- URL: https://github.com/jere-eee/phase3-project-librarysystem
- Owner: jere-eee
- License: mit
- Created: 2024-12-16T07:44:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-19T19:23:15.000Z (over 1 year ago)
- Last Synced: 2025-05-18T14:43:01.371Z (about 1 year ago)
- Topics: bycrypt, cli, python, shell, sqlite3
- Language: Python
- Homepage:
- Size: 48.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Library Management System (SQLite) By Akanle Jeremy
This is a simple command-line library management system built using Python and the `sqlite3` module for database management. It allows librarians to manage books and users, and members to browse, borrow, and return books.
## Features
* **User Management:**
* User registration with email validation.
* User login with password hashing (using bcrypt).
* Role-based access control (Librarian/Member).
* User account deletion.
* Email update functionality.
* **Book Management:**
* Add new books to the collection.
* View all books.
* Search books by title.
* Search books by ID.
* Delete books.
* Borrow and return books (tracks copies available).
* **Data Persistence:** Uses SQLite for local data storage using the `sqlite3` module.
* **Clean Interface:** Simple and intuitive command-line interface.
## Technologies Used
* Python 3.x
* SQLite (Database)
* bcrypt (Password hashing)
## Setup and Installation
1. **Clone the repository:**
```bash
git clone [https://github.com/](https://github.com/)/.git
cd
```
2. **Create a virtual environment (recommended):**
```bash
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. **Install dependencies:**
```bash
pip install -r requirements.txt
```
If you don't have a `requirements.txt` file, create one with `pip freeze > requirements.txt` after installing the necessary packages (`pip install bcrypt`).
4. **Database:**
The SQLite database file (`library.db`) is *already included* in the `database` folder. You *do not* need to create it manually.
## How to Run
```bash
python main.py
```