A smart reservation system specifically designed to facilitate table and room reservations while helping Homey Cafe manage its day-to-day reservation operations more efficiently.
This application provides a digital solution for customers to reserve tables or rooms and for administrators to manage reservations, rooms, and tables through a centralized system.
Customers can make reservations for both tables and rooms at Homey Cafe.
When making a table or room reservation, customers are required to order menu items, including food and/or beverages. The minimum menu order quantity is determined based on the number of tables included in the reservation.
This reservation flow ensures that every table or room booking is accompanied by the required menu order.
Customers can reserve available rooms according to the available schedule.
Room reservations are integrated with the menu ordering process, meaning customers must select food and/or beverages as part of their reservation.
Customers can reserve available tables based on the desired date, time, and table availability.
The number of required menu items is calculated based on the number of tables reserved, ensuring that the reservation follows Homey Cafe's operational requirements.
The reservation process supports food and beverage ordering.
Customers are required to include menu items when completing a table or room reservation. The required quantity is determined based on the number of tables included in the reservation.
The application is integrated with DOKU to support the payment process for customer reservations and menu orders.
The payment integration allows the reservation flow to be connected with a digital payment gateway, providing a more convenient and structured payment experience for customers.
The application provides an Admin role with access to reservation and venue management features.
Administrators can perform CRUD (Create, Read, Update, Delete) operations for:
- Reservations
- Rooms
- Tables
This allows administrators to manage reservation data and maintain the availability and configuration of rooms and tables.
The general reservation flow is:
- Customer selects a table or room.
- Customer selects the reservation date and time.
- Customer provides the required reservation information.
- Customer selects food and/or beverage menu items.
- The system validates the required menu quantity based on the number of tables reserved.
- Customer proceeds with the payment process through the integrated DOKU payment gateway.
- After the payment process is completed, the reservation can be processed by the cafe.
- Admin can manage and monitor reservation data through the administrative features.
This application has previously been deployed and operated in a production environment.
The system has therefore gone beyond local development and testing and has been used as a real-world reservation solution for Homey Cafe.
- Backend Framework: Laravel 12.25.0
- Frontend: Blade Templates with Tailwind CSS
- Testing: Pest Framework
- Payment Gateway: DOKU
To maintain code consistency across the codebase when pushing or pulling changes through GitHub, all team members must follow the naming conventions below:
- PHP Class Files: Must use PascalCase. Example:
ReservationController.php - Blade View Files: Must use lowercase or snake_case. Example:
create_reservation.blade.php
Follow the steps below to run the project in your local development environment.
- Clone this repository to your local machine.
- Run
composer installto install all PHP dependencies. - Copy
.env.exampleto.env. - Configure the database credentials in the
.envfile. - Generate the application key by running:
php artisan key:generate- Run the database migrations:
php artisan migrate- Start the local development server:
php artisan serveThis project uses Pest Framework for automated testing.
Before pushing new code to the repository, make sure that existing functionality is not affected by running the test suite:
./vendor/bin/pestThe Smart Reservation System aims to provide Homey Cafe with a centralized digital platform for managing customer reservations, table and room availability, menu ordering, and payments.
By combining reservation management with mandatory menu ordering and digital payment integration, the system helps streamline the customer booking process while making reservation operations easier for cafe administrators to manage.