project

SKIL2 Chez Natalie

Group ProjectTALL StackB&B Webapp

A group B&B web application built with the TALL stack, featuring a custom event-driven mailing system, active calendars, and custom dashboards.

PHP Laravel Tailwind SQL UML
SKIL2 Chez Natalie
Read about the project below

Project Overview

As part of the Skills Integration Lab (SKIL) at Thomas More, our team developed a comprehensive B&B management platform for Chez Natalie. Working in an Agile/Scrum structure, I took on roles ranging from backend architecture and Docker DevOps setup to building advanced interactive features like visual editors and scheduling engines.


1. Database Architecture & Schema Design

I designed and implemented the entire database layer from scratch using Laravel Eloquent ORM. The architecture was fully verified against client needs and normalized for robust relational behavior.

Database Highlights:

  • Users & Access: Extended standard Laravel users to support custom roles and gender relationships.
  • Booking Engine: Designed room categories, seasonal pricing, booking constraints, and seeders to prevent double-booking conflicts.
  • Leisure Systems: Created separate entities and relation maps for bike rentals, yoga class schedules, and class subscriptions.

Our database design received a 9.5 / 10 evaluation from the examiners:

“Group 601 has delivered a highly professional and extensive database architecture. The project covers a complex scope including room bookings, bike rentals, yoga classes, and a mail template system. The code quality is excellent, with strong adherence to Laravel standards and clear architectural choices.”


2. Core Feature Engineering

Visual Mailing Template Maker & Queue Backend

To prevent future API deprecations, I built a custom visual WYSIWYG mail editor and a resilient backend mailing queue system from scratch:

  • Placeholder Editor: Allows admins to insert dynamic system variables (like {{client_name}}, {{booking_date}}) into mail subjects and bodies.
  • Smart Variable Filtering: Groups available placeholders contextually based on the event trigger (e.g., room details are hidden during yoga class cancellations to avoid validation errors).
  • Flexible Delay Engine: Integrated an intuitive UI delay selector enabling direct or scheduled background mail delivery.
  • Robust Queue: Supported by Laravel Queues to guarantee bulletproof delivery, persistence across server restarts, and automatic template-variable replacement.

Yoga Class Management

Developed a comprehensive administrative workspace and frontend dashboard for yoga instructors:

  • Intelligent Reinstating: An active recovery system for canceled classes that automatically runs check queries against room schedules to prevent scheduling overlaps.
  • Dynamic Room Checkers: Live room availability states that update asynchronously as the date and time fields are edited.
  • Open Hours Enforcement: Validation rules that automatically restrict lesson start times and durations based on B&B operational guidelines.

Verified Customer Review System

A high-end feedback module that allows customers to leave ratings and text feedback:

  • Security & Anti-Spam: Secured post-booking links via unique ULIDs to ensure only verified guests can submit ratings, limited to exactly one review per booking.
  • Data Integrity: Implemented database-level triggers and models, resolving edge cases such as rendering a clean 0.0 rating state instead of empty gaps when no reviews exist.

3. UI/UX & Interactive Calendar Upgrades

To offer B&B admins and yoga teachers a cohesive experience, I engineered dynamic, single-page application dashboards styled with Tailwind CSS and FluxUI:

Dashboards & Calendar Systems

  • Personalized Analytics: Custom admin and teacher landing views showing quick stats, schedules, and active bookings.
  • Abstract Calendar Integration: Integrated a custom, responsive calendar day-view component.
  • Real-Time Progress & Timeline: Built a live, dynamic red progress line showing the current time, with an auto-scroll trigger that focuses the viewport on the current hour on load.
  • Status Badging: Implemented clear visual badges and striped grids to instantly indicate canceled classes or fully booked rooms.

Quality of Life Additions

  • Floating Action Action (FAB): Placed a sticky quick-action button on booking panels to let users schedule bookings instantly.
  • Settings Layouts: Created a sticky, split-pane navigation bar for system settings forms to make long configuration forms painless to update and save.
  • Custom Error Layouts: Crafted high-fidelity styled pages for 403, 404, and 500 HTTP errors with smart UX routing (e.g., automatically redirecting unauthorized guest role views straight to /login or correct user dashboards).

4. DevOps, QA & Quality Assurance

To ensure my team was productive and the codebase stayed clean, I took ownership of our local environments and our automated quality gates:

Local Development Environment

  • Laravel Sail: Built a standardized, Docker-based local development pipeline optimized for Linux environments, bypassing slower alternatives.
  • Vite Hot-Reloading: Wired hot module replacement directly through Docker networking for immediate, fluid frontend refreshes during design work.

CI/CD Pipeline & Quality Gates

  • Static Code Analysis: Configured Laravel Pint to automatically enforce coding standards, formatting styles, and optimal syntax on every commit.
  • Rigorous Test Suite: Developed extensive feature tests (e.g., asserting asynchronous queue behaviors without needing manual email triggers) totaling over 300+ assertions running automatically on every Pull Request.
  • Pull Request DOD: Drafted our team’s “Definition of Done” template integrated into GitHub to ensure consistent quality standards before code merge.
  • Security Auditing: Implemented strict Content Security Policy (CSP) headers to shield the B&B app from XSS injections, standardized database naming conventions, and hardened Mollie endpoints against API rate limit blocks.
ennl