Sam Watts

Back

Visit Website

GitHub Repository

As part of my third year of University, we were tasked with producing a CMS website for a hypothetical client, "Scottish Holiday Getaways."

Requirements

  • Staff should be able to add Custom Property Listings from the Admin panel
  • Customers should be able to book these Properties
  • Staff should be able to Accept or Reject these bookings from the Admin panel
  • Customers should be able to send a message from the Contact Us page
  • Staff should be able to see all incoming message requests from the Admin panel
  • Mail should be sent on Key Events, such as Booking Approval/Rejection
  • Key website elements should be customisable from the Admin panel, such as Company name, logo etc.

Key Learning Points

Filament

With this being the first time I have used Filament, there was a steep learning curve to getting this project into a functional state. Along the way, I have learned an enormous amount about configuring filament resources effectively. Custom actions have been the bread and butter of enhancing the CMS experience for the client in this project. One example of this is within my Themes Resource.

I have a table with all of the themes the Site Admins have made, and this has a toggle button to enable and disable the Active state for the theme. There should only be one theme active at any one time.

Themes Filament Table

UX Design

Designing a good frontend user experience has always been one of my skills that needs the most improvement. This project forced me out of my comfort zone, requiring a clean and responsive design, appropriate to the client.

Inline with this, I spent a lot of time learning. Tailwind has fantastic documentation which I referenced frequently in the design of the website frontend, and I am proud to say it is one of the best frontends I have created so far, and has laid some great knowledge groundwork for me to continue to improve in this area.

Website Upsell And Footer Sections

Sail

For this project, I decided to implement Laravel's Sail to make local development easier across my devices, which consist of both MacOS and Windows. This gained me some additional experience with Docker. I also now have a WSL Ubuntu setup on my main windows machine.

Sail's Containers Running In Docker