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.
Rental workflow
The system connects the public search experience with booking, payment, tenant, landlord, and lease administration.
- PublishLandlords prepare listings and galleries
- DiscoverRenters search and compare properties
- RequestSubmit booking and payment details
- ManageAdmins maintain tenants, leases, and records
Features
- 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
Tech Stack
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.
My Role
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.

















