
PinVault — Secure Internal Vendor Map Platform
Node.js · Express · MySQL / MariaDB · JWT · bcrypt · Leaflet · OpenStreetMap Nominatim · HTML/CSS/JS
Problem
Operations teams needed a central, access-controlled map of vendor locations — with contact details, notes and bulk import/export — while reducing casual copying and screen capture of sensitive location data.
Solution
Built a full-stack platform with a Node.js + Express + MySQL backend and a fast single-file HTML/Leaflet frontend. Role-based access (super admin vs employee) is enforced with JWT + bcrypt. Vendors can be created from a location search or a direct map click, with fields for description, notes, phone, website, category and coordinates. Super admins manage staff, edit/remove vendors, and import/export data in CSV and JSON, plus export the map as an image. Browser-side privacy deterrents include username/timestamp watermarking, right-click and copy blocking, dev-tools deterrence, and Print-Screen detection with a capture-shield overlay.
Impact
A deploy-ready vendor-intelligence dashboard demonstrating real full-stack range — REST APIs, relational schema design, authentication, map UX and bulk import/export — validated locally against a MariaDB/XAMPP runtime. Honestly documents the limits of browser-side capture prevention and the native-app path for stricter requirements.
