Overview
A full stack reporting platform that lets City of Memphis staff generate professional PDF facility reports directly from an ArcGIS map. It replaced a slow manual reporting workflow with a self service web system that produces eight city standard report types from live GIS feature services, embedded inside the map interface staff already use.
The Problem
A full stack reporting platform that lets City of Memphis staff generate professional PDF facility reports directly from an ArcGIS map. It replaced a slow manual reporting workflow with a self service web system that produces eight city standard report types from live GIS feature services, embedded inside the map interface staff already use.
Architecture & Key Work
- ▹Designed and built a full stack automated PDF reporting system integrating ArcGIS Enterprise Portal, Django, and ReportLab, deployed on IIS, generating eight distinct report types from live GIS feature services
- ▹Engineered eight pixel accurate PDF templates covering Facility Condition Assessment, GSAM Facility, Life Cycle, Deficiency Summary, Data Table, Statistics, GSAM FCA Records, and Council District, matching city mandated formats
- ▹Built photo embedded reports that fetch inspection images from the portal through authenticated REST calls
- ▹Implemented OAuth 2.0 authentication against ArcGIS Portal, giving users single sign on with their existing GIS credentials and automatically revoking report access when portal access is removed
- ▹Developed a browser embedded Experience Builder widget in vanilla JavaScript with full Content Security Policy compliance, letting staff generate and download reports without leaving the map
- ▹Built a URL based deep link system enabling one click PDF generation of individual facility or assessment records directly from map popups and related records tables
- ▹Created a dynamic filtering and user configurable sorting engine across facility type, council district, priority, fiscal year, and date range, applied server side with pandas
- ▹Solved a multi page rendering challenge by building each record as a standalone document and merging with pypdf, eliminating layout overflow across reports with variable height photo content
Results & Impact
- ✓Replaced a manual reporting workflow with a self service platform embedded directly in the ArcGIS map interface
- ✓Cut report generation from more than thirty seconds to under five seconds on a warm cache using an in memory caching layer with a ten minute time to live
- ✓Gave city staff one click PDF generation for individual facility and assessment records straight from map popups
- ✓Delivered eight city standard report types from live GIS data with secure access tied to existing portal credentials