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.0rating 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
/loginor 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.
