The application we developed is a library application where users can borrow books from the library online with a maximum duration of one week. Users who have admin status can add, edit, and delete book data contained in the application database.
Below are the features of this website.
Clients can browse the list of books in the application. Clients can register themselves into the application by signing in/registering manually or using Google SSO. After that, the client can borrow books with a predetermined duration (maximum 1 week) and if the user fails to return the book within the specified time period, the application will automatically calculate the fine imposed on the client. The client is not allowed to borrow books if the fine has not been paid. If the client loses the book, the client must pay compensation at the full price of the book.
Admin can add, edit, and delete book data in the database. Admin can add, edit, and delete category data in the database.
The technology used to develop this application are as follows:
- Fullstack: Laravel
- Frontend: Tailwind CSS, Blade, DaisyUI
- Database: MySQL
- Authentication: Laravel/Breeze
- VCS: Git, GitHub
- VPS: [To be determined]
- Collaborative: Eraser, Trello
- Testing: PHPunit
- Code Styling: Prettier
Readiverse Laravel Project Installation Tutorial:
-
Install PHP 8.2, XAMPP, Composer, Laravel 10.
-
Add the following extension to the php.ini file (usually found in C:\php\php.ini, depending on the PHP installation location). Write the following extension in the php.ini file then save:
extension=curl
extension=fileinfo
extension=openssl
extension=zip
extension=pdo_mysql ; for MySQL driver
extension=mbstring ; for seeder
extension=gd ; for image()
curl.cainfo="C:\xampp\php\extras\ssl\cacert.pem" ; for image(), first download the file cacert.pem
zend_extension=xdebug ; for unit and feature testing (if using windows xdebug installation can be through the following link: https://xdebug.org/wizard)
xdebug.mode=coverage ; for unit and feature testing
-
Copy and paste the .env-example file in the Laravel readiverse project folder in the same folder, and change the file name to
.env
. -
Create a new APP_KEY in the
.env
file by running php artisan key:generate in the Laravel readiverse project folder. -
Run composer install in the Laravel readiverse project folder. (This step is the most likely to get an error. If it does, it means there was a problem adding the extension in step 2).
-
Create a new database manually in phpMyAdmin with the name
readiverse
. EditDB_DATABASE=readiverse
in the.env
file. -
Run
php artisan migrate:fresh --seed
to populate the database with data. -
Run php artisan serve and try to open localhost link (http://127.0.0.1:8000).
-
The website is accessible.
- Email: [email protected]
- Password: password
- Create a new branch (example branch name: faris.backend_book-crud)
- Add changes to the code in that branch
- Create a Pull Request
- Pull Request is tested by GitHub Actions (build, test, deploy)
- Pull Request merged repo owner (branch: main)
In order to ensure that the Laravel community is welcoming to all, please review and abide by the Code of Conduct.
The Laravel framework is open-sourced software licensed under the MIT license.