Jan 2024 - May 2024
County Asset & Document Management Platform
Replaced an outdated desktop database with a centralized web application and RESTful backend, migrating legacy records with zero downtime.
The Problem
County staff had been tracking physical equipment, property, and official documents using a shared desktop Microsoft Access database. Concurrent access caused frequent file locking, slow query response, and data corruption risks.
As a Software Engineer on contract for Chippewa County Information Systems (Jan 2024 - May 2024), I was hired to replace the desktop file with a secure, centralized web application and RESTful backend accessible from standard browsers on the county network.
Database Modernization & Migration
- Relational schema design: Designed a normalized relational database schema in MySQL and MariaDB to eliminate redundant fields and enforce referential integrity with foreign keys.
- Zero-downtime migration: Wrote automated migration scripts in PHP and SQL to extract, validate, and transfer thousands of historical records without data loss.
- Integrity validation: Verified record row counts and data checksums before and after the cutover to ensure complete data fidelity.
Full-Stack Web Application & REST APIs
- Secure backend APIs: Built modular PHP REST endpoints using PDO prepared statements to protect against SQL injection while handling searches, record edits, and file uploads.
- Asynchronous interface: Built a responsive frontend in vanilla JavaScript using Fetch and AJAX, enabling staff to search, filter, and edit records instantly without full page reloads.
- Server routing: Configured Apache rewrite rules to route API requests through a central controller while serving static assets directly.
Administration, Auditing & Deployment
- Custom admin console: Built native in-app administration interfaces for managing user accounts, department assignments, and permissions without exposing database management tools to non-technical staff.
- Access control & security: Implemented granular role-based access control (RBAC) with secure session handling and bcrypt password hashing.
- Audit log viewer: Developed an audit history view with formatted timestamps and user attribution to track historical record modifications.
- Compliance exports: Built export utilities enabling staff to generate and download filtered compliance reports in CSV, JSON, and formatted PDF formats.
- Server hardening: Deployed on a dedicated Linux virtual machine with automated daily backup cron jobs and strict file permissions.
Technologies Used
- Backend & APIs: PHP, RESTful APIs, PDO (Prepared Statements), Apache 2.4, mod_rewrite, Session Management
- Database Architecture: MySQL, MariaDB, 3NF Normalization, B-Tree Indexing, Composite Indexing, Foreign Keys, ACID Transactions
- Frontend Development: Vanilla JavaScript (ES6+ Fetch / AJAX), HTML5, CSS3, Responsive UI
- Security & Administration: Role-Based Access Control (RBAC), Custom Admin Dashboards, User Management, Bcrypt Password Hashing, Audit Logging
- Infrastructure & Tooling: Linux Virtual Machine, Bash Automation, Cron Scheduling, Automated Backups, Git