Skip to content

Latest commit

 

History

History
187 lines (152 loc) · 9.16 KB

README.md

File metadata and controls

187 lines (152 loc) · 9.16 KB

University Library Management System

All Contributors

Overview

This is a library system designed for internal use by the university. There are three end users exist in the system: admin, student and lecturer. This project focuses on the authentication and authorization concepts. There are two roles in the system: admin and users, which have different permissions.

Features

  1. Login
    The admin and user can login to the system by entering valid email and password.

Admin

  1. Book Management
    The admin can view a list of books, add, edit and delete the book records. Besides, the admin can also search the books by title.

  2. User Management
    The admin can view a list of all users with their role, register, edit and delete the user. Besides, the admin can also search the users by name.

  3. Borrow Management
    The admin can view a list of books borrowed by the users. Besides, the admin can also search for the books borrowed by title. In addition, the admin can perform book borrowing and returning. If any of the users want to borrow the books, they would require to approach admin so that admin can create book borrowing record.

Student and Lecturer

  1. Browse Books
    The users can view the list of books with their details, and also search the books by title. Nonetheless, they would require to approach admin to borrow or return their books.

  2. Change Password
    The default password for the users are their telephone number. They can change the password by entering valid old and new passwords.

Tech Stack

System Design

Prototype Design

ERD


Installation

Prerequisites

Installation Steps

  1. Install the composer packages using composer.

     composer install
    
  2. Install the frontend packages using npm.

    npm i
    
  3. Create .env to configure environment variables as follows:

    APP_NAME=Laravel
    APP_ENV=local
    APP_KEY=
    APP_DEBUG=true
    APP_URL="http://localhost"
    LOG_CHANNEL=stack
    LOG_DEPRECATIONS_CHANNEL=null
    LOG_LEVEL=debug
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE="university_library_management_system"
    DB_USERNAME=root
    DB_PASSWORD=
    BROADCAST_DRIVER=log
    CACHE_DRIVER=file
    FILESYSTEM_DISK=local
    QUEUE_CONNECTION=sync
    SESSION_DRIVER=file
    SESSION_LIFETIME=120
    MEMCACHED_HOST=127.0.0.1
    REDIS_HOST=127.0.0.1
    REDIS_PASSWORD=null
    REDIS_PORT=6379
    MAIL_MAILER=smtp
    MAIL_HOST=mailhog
    MAIL_PORT=1025
    MAIL_USERNAME=null
    MAIL_PASSWORD=null
    MAIL_ENCRYPTION=null
    MAIL_FROM_ADDRESS="[email protected]"
    MAIL_FROM_NAME="${APP_NAME}"
    AWS_ACCESS_KEY_ID=
    AWS_SECRET_ACCESS_KEY=
    AWS_DEFAULT_REGION=us-east-1
    AWS_BUCKET=
    AWS_USE_PATH_STYLE_ENDPOINT=false
    PUSHER_APP_ID=
    PUSHER_APP_KEY=
    PUSHER_APP_SECRET=
    PUSHER_APP_CLUSTER=mt1
    MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
    MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
    
  4. Create a MySQL database with the following details:

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE="university_library_management_system"
    DB_USERNAME=root
    DB_PASSWORD=
    collation=utf8mb4_unicode_ci
    
  5. Import university_library.sql into the database created.

  6. Generate an application encryption key.

    php artisan key:generate
    
  7. Build the application with the following command:

    npm run dev
    
  8. Run the server.

    php artisan serve
    

Login Credentials

If you imported the university_library.sql, the login credentials are as follows:

Email Password Role
[email protected] 0124228523 Admin
[email protected] 0129224545 Lecturer
[email protected] 0129222929 Student
[email protected] 0129222929 Student
[email protected] 0123456789 Student

Preview

  1. Login


  2. Home Page (Student and Lecturer)


  3. Change Password


  4. Book Management


  5. Add Book


  6. User Management


  7. Register Account


  8. Borrow Management


  9. Borrow Book


  10. Return Book


Contributors ✨

Thanks goes to these wonderful people (emoji key):


IQ9999999

💻 📖 🤔 🚇

lwleo02

💬 💻 🔣 📖 🤔 👀

Tan Yuan Jie

🐛 💻 📖 🤔 ⚠️ 📓

kaii411

💻 🎨 📖 🤔 📓

kacoccc

💻 📖 🤔 📓

This project follows the all-contributors specification. Contributions of any kind welcome!