Skip to content

MrElyazid/LibraryManagementSystem

Repository files navigation

Ohara Library

A website where clients can reserve books via downloading a receipt for a book in PDF format before picking them up physically from a real library by providing it to a library staff, made with Laravel and bootstrap.

Features

The website is available from two perspectives: client and librarian.

Client Features

  • Loan books
  • Manage wishlisted books
  • Access profile
  • Search and view book authors and categories

Librarian Features

  • Export list of loans in PDF or CSV format
  • Declare a loan ended by setting the date the book was returned
  • Message clients via email (see SMTP configuration)
  • Change due dates for loans
  • Access list of clients and their loans
  • Edit book information
  • Remove books
  • Add books to the database
  • Access statistics dashboard and view visual charts

ER Diagram

ER Diagram

How to Run

  1. Clone the Repository:

    git clone https://github.com/MrElyazid/LibraryManagementSystem.git
    cd foldername
  2. Install Dependencies:

    composer install
  3. Configure the .env File with database credentials:

    DB_HOST=localhost
    DB_PORT=3306
    DB_DATABASE=your_database_name
    DB_USERNAME=your_database_username
    DB_PASSWORD=your_database_password
  4. Import the Database (Optional): Import the database dump file db_library.sql using phpMyAdmin or a similar tool to have the same data as in the screenshots.

    Additionally, download the images folder from here, decompress it, and place it at storage/app/public.

  5. Run Migrations:

    php artisan migrate
  6. Setup SMTP Server (Optional): To enable email functionality, add the following to the .env file:

    MAIL_MAILER=smtp
    MAIL_HOST=smtp.gmail.com
    MAIL_PORT=587
    MAIL_USERNAME=YOUR_EMAIL
    MAIL_PASSWORD=GOOGLE_APP_PASSWORD
    MAIL_ENCRYPTION=tls
    MAIL_FROM_ADDRESS=YOUR_EMAIL
    MAIL_FROM_NAME="Ohara Library"
  7. Serve the Application: Make sure the database is up and running, then start the server:

    php artisan serve

    The app should be accessible at http://localhost:8000.

Website Screenshots

Homepage

Homepage

Books Page

Books

Backpack

Backpack

Wishlist

Wishlist

Categories

Categories

Authors

Authors

Book Page

Book

Loan Form

Loan Form

Clients

Clients

Dashboard

Dashboard

Loans

Loans

Librarian book page

Edit Book

Add Book

Add Book

Edit book

Edit Book

Notes :

The website isnt complete, nor does it follow all the best laravel practices, has many spaghetti codes and bugs and some functionalities are not yet implemneted ( fine calculation for late book returns, setting a max number of loans... etc ) this is an early version of it and (i hope) maybe i can work more on it in the future.

About

website for library books reservation using Laravel

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages