Skip to content

the-y9/LibraryManagement

Repository files navigation

Library Management Application

Author

Yash Mishra 21f1006461@ds.study.iitm.ac.in

Video

https://drive.google.com/file/d/1ihIMQgZEJOAEUEwdQf85yIRldis8BDKY/view?usp=sharing

Description

The Library Management System is a modern solution for efficiently managing e-books and sections in a library environment. Developed using Flask for API and VueJS for the user interface, it offers essential functionalities for both librarians and users. Librarians can add, edit, and remove sections and e-books, while users can search for and request books. The system employs role�based access control for secure user authentication and features backend jobs for exporting, reporting, and sending emails daily and APIs for interaction with library resources.

Technologies used

  • Python and following modules
amqp==5.2.0
aniso8601==9.0.1
async-timeout==4.0.3
bcrypt==3.2.2
billiard==4.2.0
blinker==1.5
cachelib==0.9.0
celery==5.3.5
cffi==1.16.0
chardet==5.2.0
click==8.1.3
click-didyoumean==0.3.0
click-plugins==1.1.1
click-repl==0.3.0
colorama==0.4.6
dnspython==2.3.0
email-validator==1.3.1
Flask==2.2.3
Flask-Caching==2.1.0
Flask-Excel==0.0.7
Flask-Login==0.6.2
Flask-Principal==0.4.0
Flask-RESTful==0.3.10
Flask-Security-Too==5.1.2
Flask-SQLAlchemy==3.0.3
Flask-WTF==1.1.1
greenlet==2.0.2
idna==3.4
importlib-metadata==6.0.0
itsdangerous==2.1.2
Jinja2==3.1.2
kombu==5.3.3
lml==0.1.0
MarkupSafe==2.1.2
passlib==1.7.4
prompt-toolkit==3.0.40
pycparser==2.21
pyexcel==0.7.0
pyexcel-io==0.6.6
pyexcel-webio==0.1.4
python-dateutil==2.8.2
pytz==2023.3.post1
redis==5.0.1
six==1.16.0
SQLAlchemy==2.0.6
texttable==1.7.0
typing_extensions==4.5.0
tzdata==2023.3
vine==5.1.0
wcwidth==0.2.9
Werkzeug==2.2.3
WTForms==3.0.1
zipp==3.15.0
  • Sqlite for database
  • Flask for API
  • Vue.js for UI
  • Bootstrap for css
  • Redis for caching
  • Redis and Celery for batch jobs

DB Schema Design

image

Getting Started

Prerequisites

  • Python 3.8 or higher
  • Redis server

Installation

  1. Clone the repository:
git clone https://github.com/the-y9/LibraryManagement.git
cd LibraryManagement
  1. Install the required packages:
pip install -r requirements.txt

Running the Application

  1. Initialize the database:
python upind.py
  1. Start the Flask application:
python main.py
  1. Access the application in your web browser at http://localhost:5000/.

Starting Background Services

  1. Start the Redis server on wsl:
redis-server
  1. Start Celery workers:
celery -A main:celery_app worker --loglevel INFO
  1. Start Celery beat:
celery -A main:celery_app beat --loglevel INFO

About

Developed using Flask for API and VueJS for the user interface offering essential functionalities for both librarians and users by employing role-based access control for secure user authentication and features backend jobs for exporting, reporting, and sending emails daily and APIs for interaction with library resources.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors