Production Internship Project · 2026

PNP E-P.A.T.R.O.L.

Enhanced Police Activity Tracking and Recording Operational Log — a production patrol logging system supporting the daily operations of 200+ police officers across PNP Bacoor City and PNP Santa Rosa City, enabling centralized patrol tracking and operational reporting.

PNP E-P.A.T.R.O.L. screenshot
Fig 01 — Admin dashboard: patrol activity overview and hourly intervention breakdown

The problem

PNP units recorded patrol and beat activities on paper and ad-hoc message threads, making it impossible to audit patrol history, verify officer location, or generate operational reports for supervisors in real time.

Role & responsibilities

Primary full-stack developer. Coordinated with PNP Bacoor stakeholders through 15+ client meetings, translated field requirements into features, and owned frontend, backend, database, authentication, deployment, and maintenance.

Architecture

Modular Node.js/Express + TypeScript REST API backed by MongoDB (Mongoose, 37 schema migrations, soft-delete records, audit logging on every write); React + Vite + Tailwind CSS frontend; JWT + bcrypt authentication and Server-Sent Events for live updates. Packaged as a single all-in-one Docker image and deployed on Railway during the internship deployment.

Key features

  • Real-time activity logging with timestamps, geolocation, and photo evidence
  • Role-based access control and secure patrol officer authentication
  • Automated operational reports and exportable activity summaries
  • Mobile-responsive patrol views used in the field
  • Production deployments on Railway with managed databases and storage buckets
  • Field-deployed to Bacoor patrollers in April 2026 with post-deployment improvements driven by real operational feedback
  • Geospatial anomaly detection flagging duplicate logs submitted within 15 meters / 15 minutes
  • Excel export and print-ready PDF operational reports for supervisors, plus narrative assessment reports with per-shift target-variance analysis
  • Tamper-evident audit trail — every write is hash-chained and verifiable via a one-click integrity check; secrets and personal data are redacted from logged payloads
  • Badge-based buddy-pair team login for patrollers and role-based onboarding walkthroughs for admins
  • Dynamic intervention form fields, shift management, and audit trails for accountability
Patroller-facing new patrol log form with GPS location, shift countdown, and intervention fields
Fig 02 — Patroller view: new log form with shift countdown, GPS location, and intervention fields
Admin patrol logs view with filters, anomaly warnings, and GPS status indicators
Fig 03 — Admin patrol log review with filters and proximity anomaly warnings
Audit log view with integrity check result showing chained entries verified and payload redaction
Fig 04 — Audit log with hash-chain integrity verification and redacted request payloads
Police intervention type management with seeded types and dynamic field definitions
Fig 05 — Configurable intervention types with dynamic field definitions

Outcomes

200+

police officers supported daily

15+

client meetings for requirement refinement

2

PNP city commands covered

Generated Patrol Activity Report for Bacoor City Police Station with summary metrics
Fig 06 — Generated Patrol Activity Report with Excel export and print-ready PDF output

Stack

Node.jsExpressTypeScriptMongoDBReactTailwind CSSDockerRailway