Skip to content

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.

Notifications You must be signed in to change notification settings

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

Watchers

Forks

Releases

No releases published

Packages

No packages published