PBL Semester 4 — Marine Cadastre WebGIS
The Problem
A Geomatics Engineering student needed to deliver a WebGIS presentation site for their PBL mapping project within an extremely tight academic deadline. As a self-taught developer with only one month of experience—building entirely from a library book and AI assistance—they successfully created a fully functional local prototype using CodeIgniter 4. However, given the time constraints, the initial build was heavily optimized for local demonstration speed rather than production standards. This resulted in a deeply non-standard code structure, inconsistent variable handling, and legacy naming patterns (e.g., 'v_' prefixes) that were perfectly fine for a local host but unready for the public web. Moreover, although they had already secured the domain, the deployment pipeline—from localhost to live server—was completely uncharted territory for them.
The Solution
Stepped in as a support developer to bridge the gap between their local prototype and a stable public deployment. I restructured the project's organization, standardized variable conventions, and refactored the folder layout for maintainability. For the deployment, I engineered a custom PHP script (build_static.php) that efficiently exported all dynamic CodeIgniter 4 pages into pure static HTML. I then pushed the repository to GitHub and integrated it with Cloudflare Pages—successfully mapping their custom domain (marinecadastre.id) to a fully live, zero-cost static site.
Challenges
- Refactoring a rapidly-built MVP—characterized by legacy PHP naming and a non-standard local architecture—into a clean, production-ready structure while guaranteeing zero regressions against the existing features under a strict deadline.
- Resolving intricate path-resolution mismatches when translating dynamic local routes (e.g., http://localhost/pbl/public) into clean, relative static URLs that work seamlessly on a hosted CDN.
- Ensuring all static assets—including GeoJSON spatial data, Leaflet interactive maps, and custom styling—loaded reliably on a serverless environment entirely without a PHP backend.
Impact
Successfully launched marinecadastre.id on Cloudflare Pages well ahead of the academic presentation. The final site now boasts 100% uptime, zero infrastructure costs, and blazing-fast load times. More importantly, it turned a raw local prototype into a highly polished, presentation-ready product that gave the team a massive confidence boost and exceeded all expectations for the final PBL submission.