A library management system (LMS) is a software solution designed to automate and streamline the operations of a library. It serves as a centralized platform that helps librarians and library staff to efficiently manage various tasks related to cataloging, circulation, acquisitions, and more.
The primary purpose of an LMS is to enhance the overall efficiency and effectiveness of library operations. Here are some reasons why people use library management systems
our app is design to be used by :
- the library staff member
- the people how love to read
the staff can :
- add user to the system
- add other staff member
- add, update, delete books to/from the library
- add, update, delete authors to/from the library
- add, update, delete publisher to/from the library
- manage book reservation
- manage the payment process of the book
- handle the issue and reports of the user
and our reader can :
- find books to read
- add books to favorite
- find his favorite authors and Publishers
- make book reservation
- buy books
- report an issue or a problem
and here is a use case diagram that show each user what he can do
you can find the erd inside the extra and open them insid mysql workbench
- we used Node js Node js version 18.16.0 with Express js express.js and with typeScript Typescript
- sequelize as ORM to interact with Mysql database
before you start make sure you have
- node js, you can check that using
node -v
- mysql database running on your device
- run
npm i
to install the required library - go to config folder and rename the example.env to .env and set up your database credential and add your own JWT secret
- now create the mysql database with the name of the .env variable
DB_NAME
- and run
npm run m
to migrate andnpm run seed
to seednpm run start
and the server will run onhttp://localhost:3000/
- if you are using postman you can import the collection inside the
extra/collection
to see the request collection