| Role | Full Stack Laravel PHP Developer |
|---|---|
| Department | Web Development |
| Reports to | Software Development Manager |
| Time Allocation | 1h |
The purpose of this code test is to help us understand your Laravel/Livewire technical skills and style of coding
We are looking at how you approach a problem and how closely you can follow a specification. Remember to show off your ability to write readable code that is maintainable and scalable.
If you struggle with understanding the requirements, please ask so that we can assist you.
We have set up the following project for you
- Laravel 9 project with HTML templates for the table and booking form
- After setting up the project, you should be able to see the home page by visiting your local project URL (https://simplestream.test) (Please see below image below)
- Booking table and form HTML templates
-
Install Laravel dependencies and Livewire 2 package
-
Set up/Configure Livewire
-
For the database, the project is set up to use MySql (DBngin and TablePlus are pre-installed)
-
Build a Livewire Booking form component that consists of:
- A table: to list all the created bookings
- A form: to create bookings and save them into the database. The form will have the following fields:
- Title (string)
- Start Time (DateTime)
- End Time (DateTime)
- Implement validation
-
Next you are required to integrate FlatPickr and convert Start Time and End Time HTML date inputs to use the JavaScript date picker using AlpineJS and Livewire.
- Implement pagination on the table, 10 bookings per page
- Table should update/refresh when new booking is added