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.
- Login
The admin and user can login to the system by entering valid email and password.
-
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. -
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. -
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.
-
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. -
Change Password
The default password for the users are their telephone number. They can change the password by entering valid old and new passwords.
-
Install the composer packages using composer.
composer install
-
Install the frontend packages using npm.
npm i
-
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}"
-
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
-
Import
university_library.sql
into the database created. -
Generate an application encryption key.
php artisan key:generate
-
Build the application with the following command:
npm run dev
-
Run the server.
php artisan serve
If you imported the university_library.sql, the login credentials are as follows:
Password | Role | |
---|---|---|
[email protected] | 0124228523 | Admin |
[email protected] | 0129224545 | Lecturer |
[email protected] | 0129222929 | Student |
[email protected] | 0129222929 | Student |
[email protected] | 0123456789 | Student |
- Login
- Home Page (Student and Lecturer)
- Change Password
- Book Management
- Add Book
- User Management
- Register Account
- Borrow Management
- Borrow Book
- Return Book
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!