This project was created for the course Database Systems (3380) at the University of Houston. The objective of our design was to create a library database website named BookFinder where users such as Faculty, Admin, and Student are able to use the library website.
BookFinder is our custom-made library management system made for a university, which have users such as students, faculty, and administrators. It provides them a digital interface for browsing and managing books, music, and electronics. Since there are three roles with different access to the website, there will exist special features where each role has different checkouts, waitlists, fines, and admin tasks. The website will have triggers and data reports.
git clone https://github.com/dahrail/Library-Database
cd client
code .cd client
npx create-react-app .
npm install react-scripts
npm startBackend:
cd server
npm install react react-dom
npm startDeployed Website: http://170.9.244.55:3000/
-
User authentication for different user roles
- The system supports authentication for Students, Faculty, and Admins, each with different permissions and access levels.
-
Data entry forms
- The application provides forms to add, update, and delete data for books, media, devices, rooms, events, and users. Admins can manage inventory and user records through intuitive interfaces.
-
Triggers (At least 2)
- The backend database implements triggers, such as:
- Automatically generating a fine when an item is overdue.
- Updating item availability when a loan is returned or a reservation is cancelled.
- The backend database implements triggers, such as:
-
Data queries (At least 3)
- The application executes various queries, including:
- Retrieving available items by category and genre.
- Fetching user loan and fine history.
- Searching and filtering items and users based on multiple criteria.
- The application executes various queries, including:
-
Data reports (At least 3)
- The admin dashboard features multiple reports:
- Item Report: Usage statistics for books, media, and devices (borrows, holds, etc.).
- User Report: User activity, loan history, and borrowing patterns.
- Fines Report: Fines data with payment status tracking.
- Event Report: Attendance, check-in rates, and room utilization for events.
- The admin dashboard features multiple reports:
BookFinder provides a comprehensive library management system with the following features:
- Students: Can borrow two item per category with a one-week checkout period
- Faculty: Can borrow three items per category with a two-week checkout period
- Admins: Have complete control over inventory management and reporting
- Books, media, and electronics cataloging
- ISBN validation ensures accurate book information
- Inventory tracking for available and checked-out items
- Detailed item information including publication dates, authors, and genres
- Check out and check in functionality
- Reservation system for unavailable items
- Waitlist management with automatic notifications
- Due date tracking and reminders
- Fines reporting with payment status tracking
- Item usage statistics showing popular materials
- User activity reports for administrative oversight
- Event attendance and registration tracking
- Room reservation system
- Event scheduling and management
- Attendance tracking for library events
- Room utilization reporting
- Fine calculation based on overdue items
- Payment processing and tracking
- Outstanding balance reporting