The purpose of this assignment is to demonstrate:
- Ability to build an interactive and database-driven web applications using a laravel framework
- The implementation of the model-view-controller (MVC) software architecture.
- Working with the Laravel routes, controllers, SQL database (for CRUD operations) and models.
- Storing and manipulating Laravel states.
- Building a web application with user authentication and authorization using cookies, session and role-based access control (RBAC).
- The implementation of User authorization using gates or policies.
- HTML and CSS ability.
- Persistance storage knowledge.
- Performing operations using model (Eloquent ORM) approach.
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
- Simple, fast routing engine.
- Powerful dependency injection container.
- Multiple back-ends for session and cache storage.
- Expressive, intuitive database ORM.
- Database agnostic schema migrations.
- Robust background job processing.
- Real-time event broadcasting.
Laravel is accessible, powerful, and provides tools required for large, robust applications.
Laravel has the most extensive and thorough documentation and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
You may also try the Laravel Bootcamp, where you will be guided through building a modern Laravel application from scratch.
If you don't feel like reading, Laracasts can help. Laracasts contains over 2000 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
In order to run the provided solution the following software will need to be installed:
- Fork and clone the repository.
- Open the repository folder and install the dependencies using
composer install
. - Rename .env.example to .env file and setup database configurations.
- Run
php artisan migrate
to create MySQL database. - Run
php artisan db:seed --class=AuthSeeder
,php artisan db:seed --class=BookingSeeder
, andphp artisan db:seed --class=ComplaintSeeder
to populate MySQL database. - Run the development server using
php artisan serve
. - Create a new branch (based on your function name) before making changes.
- To use admin or clerk accounts, login using their respective credentials in AuthSeeder file in database/seeders/AuthSeeder.php. The repository contains a resources directory inside the root folder with scripts and view files; this should be the starting point for the application. Please feel free to create more views to structure the app in a logical manner.
The Laravel framework is open-sourced software licensed under the MIT license.
- php artisan serve = Starts development server
- php artisan make:migration create_test_table = Generates automated script to create a database table
- php artisan migrate --path=path/to/migration/file = Runs automated script to create database table
- php artisan make:seeder TestSeeder = Generates automated script for data seeding
- php artisan db:seed --class=TestSeeder = Runs automated script to seed database table
This project was built for the purpose of fulfilling the UECS3294 Advanced Web Application Development requirements. Contributions are welcomed :)