This is a Library Management System built using Laravel, a PHP framework. The system allows users to manage books, users, and borrowing/reservation processes. It includes features for admins to manage users, books, and penalties, while students can browse, borrow, reserve, and purchase books.
- User Management: Admins can create, update, and delete users. They can also assign roles (e.g., Admin, Student) to users.
- Book Management: Admins can add, edit, and delete books. They can also manage book availability and upload PDFs and images for books.
- Penalty Management: Admins can assign penalties to students for overdue books and manage existing penalties.
- Role-Based Access Control: Admins have full access to the system, while students have limited access.
- Browse Books: Students can browse available books, view book details, and search for books by title, author, or category.
- Borrow Books: Students can borrow available books for a specified period.
- Reserve Books: Students can reserve books that are currently unavailable.
- Purchase Books: Students can purchase books if they are available for purchase.
- View Borrowed/Reserved Books: Students can view their borrowed and reserved books.
- Authentication: Users can register, log in, and reset their passwords. The system supports role-based access control.
- Responsive UI: The system uses Bootstrap for a responsive and modern user interface.
- PDF Viewer: Students can read borrowed books using an integrated PDF viewer.
- Penalty System: Students with overdue books may receive penalties, restricting their ability to borrow or reserve books.
- Backend: Laravel (PHP Framework)
- Frontend: HTML, CSS, JavaScript, Bootstrap
- Database: MySQL
- Authentication: Laravel Breeze
- PDF Viewer: PDF.js
- File Uploads: Handling of book PDFs and images
-
Clone the Repository:
git clone https://github.com/your-repo/library-management-system.git cd library-management-system -
Install Dependencies:
composer install npm install
-
Set Up Environment:
- Copy
.env.exampleto.envand configure your database credentials:cp .env.example .env
- Generate an application key:
php artisan key:generate
- Copy
-
Run Migrations:
php artisan migrate
-
Seed the Database (Optional):
php artisan db:seed
-
Start the Development Server:
php artisan serve
-
Compile Assets:
npm run dev
- Admins can log in and access the dashboard to manage users, books, and penalties.
- Admins can create new users, assign roles, and manage user profiles.
- Admins can add, edit, and delete books, including uploading PDFs and images.
- Students can log in to browse books, borrow, reserve, or purchase books.
- Students can view their borrowed and reserved books.
- Students can read borrowed books using the integrated PDF viewer.
- Email Notifications: Send email notifications for overdue books or reserved books becoming available.
This project is open-source and available under the MIT License. Feel free to modify and distribute it as per the license terms.
This project was developed as part of a programming exercise. Contributions and feedback are welcome!
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
- Laravel: For providing a robust PHP framework.
- Bootstrap: For the responsive and modern UI components.
- PDF.js: For the integrated PDF viewer.



