Capstone project · Full-stack web application Laravel · MySQL · Tailwind CSS · Livewire · Stripe

Properties Management Portal

A full-stack web system for managing available apartments around Guagua, Pampanga — covering tenant and landlord registration, property listings with gallery uploads, booking and payment processing, lease agreements, and a complete admin control panel.

Properties portal homepage with rental search and available apartment listings
Main application view · property discovery and rental workflow

The system connects the public search experience with booking, payment, tenant, landlord, and lease administration.

  1. PublishLandlords prepare listings and galleries
  2. DiscoverRenters search and compare properties
  3. RequestSubmit booking and payment details
  4. ManageAdmins maintain tenants, leases, and records
Website Home Page
Website Home Page
Available apartment listings
Available apartment listings
About Us Page
About Us Page
Property Grid — Search & Filter
Property Grid — Search & Filter
Customers Client's Page
Customer page
Procedures and services
Procedures and services
Booking and Payment Page
Booking and Payment Page
Footer's Page
Website footer
Website's Brief Introduction
Website introduction
User's Login Page
Login page
Best Available Properties
Best Available Properties
Property search filters
Property search filters
Sample Apartment — Property Photo
Sample Apartment — Property Photo
Sample Apartment — Along Side Road View
Sample Apartment — Along Side Road View
Sample Apartment — Building Exterior
Sample Apartment — Building Exterior
Gate View
Gate View
Nearby Sari-Sari Store
Nearby Sari-Sari Store
Property Interior View
Property Interior View
  • Tenant, Landlord, and Admin registration with role-based access
  • Property upload with multiple gallery images (up to 25 MB per file)
  • Advanced property browsing with filters (location, price, type)
  • Booking and payment via Stripe payment gateway
  • Secure transactions and payment history tracking
  • Lease agreement generation with deletion protection until end of term
  • Monthly payment reminders sent to tenants
  • Valid ID upload requirement during lease contract process
  • Localized address input (Street, Purok, Barangay level)
  • Do's and Don'ts rental policy between tenant and landlord
  • Commission cost disclosure and terms of use during landlord sign-up
  • Age limit enforcement on user registration
  • Admin control panel for managing users, properties, and payments
  • Email notifications for account creation and payment reminders
PHP 8.2 Laravel 11 Tailwind CSS Livewire MySQL Laravel Jetstream Stripe API Laravel Mail Composer Node.js & NPM Git & GitHub Render (Docker)

The backend is built on Laravel 11 using the MVC architecture with service classes, policies, and action classes for clean separation of concerns. Livewire handles reactive UI components without writing separate JavaScript. The database layer uses MySQL with Eloquent ORM, migrations, and seeders. Payments are processed through the Stripe API. The project is containerized with Docker and deployable to Render.

Full-Stack Developer — Solo Build

I designed and built the entire Properties Management Portal from scratch as a solo project. This covered everything from initial planning and database schema design to frontend UI, backend logic, and deployment configuration.

On the frontend, I built all views using Blade templates with Tailwind CSS for styling and Livewire for reactive components — including the property listing page with filters, the property detail gallery, booking forms, and the admin dashboard.

On the backend, I implemented role-based authentication using Laravel Jetstream, wrote service classes and policies for business logic, integrated the Stripe payment gateway, set up automated email notifications using Laravel Mail, and built the lease agreement system with deletion protection rules.

I also handled database design — writing all migrations, defining Eloquent relationships between users, properties, bookings, leases, and payments, and seeding initial data for testing.

Finally, I configured the project for Docker-based deployment on Render, including environment variable management, storage linking, and production build setup.

Interested in working together?

Have a similar project in mind?