Skip to content

maximilianovalle/Library_Management_System

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

340 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cougar Library

Cougar Library is a library management application designed for both users and employees to login and interact with their library. With this application, you can search for specific library items, borrow, place on hold, and return, create and delete item instances, and send notifications to users and employees alike.

Live Website: https://cougarlibraryy.netlify.app/

🐾 Features

Role-Based Login

Depending on your login credentials, our system can identfy whether you are a 'user', 'librarian', or 'admin' and take you to their respective pages.


Return Items

Users are able to not only check out books and place devices on hold, but also return their books and remove their holds on items in our system.


Notification System

Users are able to receive notifications generated automatically by our system and mark them as read.


Catalogue Editing

Users and employees alike are able to browse through our library's extensive catalogue of books and devices. Employees are also able to edit existing items and add or delete new items.


Librarian Functionalities

Librarians can manage user holds, fines, and view reports regarding the data from their library.


Admin Functionalities

Admins can add and edit librarians and users, manage the library catalogue, and edit the status of books currently in maintenance.



🐾 Installation & Setup

  1. Clone the repository and navigate into the repo folder
git clone git@github.com:aadibaahmed/Library_Management_System.git
cd  Library_Management_System
  1. Setup the backend
cd server
npm install
  1. Setup the frontend
cd client
npm install

Create a .env file:

 REACT_APP_API_URL=http://localhost:8000

Then run the app:

npm start

🐾 Folder Structure

Library_Management_System/
├── client/
│ ├── public/
│ └── src/
├── server/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── db.js
│ └── server.js
├── README.md
└── README_images

🐾 File Explanation

Root Directory

  • client: frontend
  • server: backend
  • README_images: images used in README file

client Folder

  • public: generic index.html
  • src: frontend components and pages like Account.jsx, DeleteBook.jsx, and ManageLibrarians.jsx

server Folder

  • server.js: API endpoints
  • database.js: database connection
  • controllers (add_librarian.js, cancel_hold.js, borrow_book.js, etc.): receive input from routes, process data, and respond

🐾 Technology Stack

Frontend: React
Backend: NodeJS
Database: MySQL

🐾 Contributors

Name Github
Adiba Ahmed @aadibaahmed
Maximiliano Jesse Ovalle @maximilianovalle
Alan Tony-Itoyah @atonyit
Josh Gulizia @jguliz

About

COSC 3380 Database Systems

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 78.1%
  • CSS 21.9%