Projects

Booking-Management-System

Booking Management System

• Developed a scalable booking platform with Laravel 12, featuring a RESTful API for users and a Filament v5 admin dashboard for managing the entire system, with role-based access control (Admin, Super Admin, User) enforced through Laravel Policies.
• Designed a robust booking and payment system using Stripe Checkout, supporting full and partial payments with minimum payment amount rules, room availability validation, booking expiration, due dates, and invoice generation. Leveraged database transactions, pessimistic locking, and idempotent payment processing to ensure consistency and eliminate race conditions under concurrent requests.
• Implemented refunds driven by each property's cancellation policy rules, including reward points cancellation, plus a reward points system for users.
• Integrated AI features using the Groq model: an AI property search, an AI assistant, an AI travel planner that builds a complete trip program from user preferences (country, city, budget, stay duration, interests, travel categories) with follow-up conversation support, and an AI review summary that generates a concise summary of all approved reviews for a property.
• Built an offers module supporting both general and property-specific offers, along with modules for properties, rooms, cities, amenities, reviews, favorites, and payment transactions, with advanced filtering, searching, and pagination.
• Implemented multi-currency support: users view prices in their preferred currency and enter payment amounts that are converted back to the app's default currency for Stripe processing. Users can also save payment methods and trip plans.
• Developed asynchronous and real-time features using Queues, Events, Listeners, Scheduled Jobs, and Pusher broadcasting. Built a notification system with Mailtrap email notifications (booking confirmations, cancellations with attached invoices, payment, offer, review, arrival, and due date reminders) and admin database notifications for bookings, payments, and reviews.
• Optimized performance and reliability using Redis caching, eager loading, model observers, and a service-layer architecture following Laravel best practices and SOLID principles (Form Requests, API Resources, Policies, Localization, clean maintainable code).
• Implemented secure authentication with Laravel Sanctum, including email verification and OTP-based verification, multilingual support (English & Arabic), and comprehensive admin analytics through Filament widgets and dashboards.
• Deployed the application to production on Wasmer with an Aiven managed database. Live demo: booking-app-sara55m.wasmer.app/admin
• Tested and documented all API endpoints with Postman, using collection variables and authenticated requests. The collection is included in the GitHub repository: docs/Booking.postman_collection.json

View Source Code
Laravel 12 PHP 8.2 MySQL REST API Filament v5 Sanctum Stripe Groq AI Redis Queues & Scheduler Pusher Mailtrap Aiven Wasmer Bootstrap
Invoices-Management-System

Invoices Management System

• A website for managing invoices where admins and users can track the invoices statistics through the home page.
• Users can select the website language (English or Arabic) from a dropdown menu.
• Admin and user roles and their permissions are managed by the super admin based on database roles-permissions where users can have multiple roles and each role has many permissions which are secured using middlewares to avoid unauthorized actions. Roles and authorities can be added edited or deleted only by the Admin.
• Admins can add ,edit and delete sections and products and view invoices and clients reports where they can search for invoices using invoice type ,number or section and product in addition to start and end date to limit the search to a specific time period.
• Admins and Users can create, edit ,delete and archive invoices and add , delete or download invoices attachments.
• Admins and Users can also copy invoices and change their payment status to categorize invoices to paid ,partially paid and unpaid invoices.
• Admins can receive notifications for adding invoices by any user made using database notifications.

View Source Code
Laravel PHP MySQL HTML5 CSS3 Bootstrap
Jobee

Jobee Platform

• A job portal platform for job seekers in computer science related fields where users can create accounts ,view their personal profile ,edit profile details ,upload profile photos and resumes.
• Job seekers can explore diverse job opportunities or search for them using keywords, job title, job type or location and apply to jobs or save them for later.
• Admins can access a dashboard where they can view users and jobs and manage them.

Laravel PHP MySQL HTML5 CSS3 Javacsript Bootstrap
Blog

Blog

• A dynamic blog platform where users can create accounts ,view their personal profile ,edit and delete accounts , explore diverse posts, and engage through comments.

• Users can search for posts based on categories , authors and tags.

• Users can follow authors and subscribe for updates and receive mail notifications.

• The Admin can access a dashboard where they can add ,edit or delete posts and categories.

View Source Code
Laravel PHP MySQL HTML5 CSS3 Javascript Bootstrap