GeoField Tracker πŸŒπŸ“±

Live Demo License: MIT

An offline-first, mobile-optimized spatial intelligence platform designed for seamless geospatial field data collection, visualization, and calculation in low-connectivity or zero-signal environments.

This platform serves as a direct technical capstone following my graduation from the Federal Government’s 3MTT Nigeria initiative under the DeepTech_Ready Program by Data Science Nigeria (DSN), building on certifications in Geospatial Data Science and Advanced Data Analysis and Visualization.


πŸš€ Live Application

Access the production build directly on your mobile device, tablet, or desktop: πŸ‘‰ https://geofieldtracker.vercel.app/

To use as a native app on Android, open the link in Chrome, tap the menu, and select *"Install App"** or "Add to Home Screen".*


✨ Key Features & Capability Matrix

  • Offline-First Architecture: Implements native browser Service Workers for comprehensive application-shell caching and IndexedDB for secure, long-term on-device data persistence. Data survives total connectivity loss and cold device reboots.
  • Vector Digitization Toolbar: A lightweight, touchscreen-optimized UI enabling users to plot Point features (incident markers), LineString features (patrol routes), and Polygon features (agricultural farm bounds).
  • On-Device Mathematical Engine: Utilizes geodesic spherical mathematics (ol/sphere) to compute precise path lengths (m/km) and polygon areas (hectares) dynamically in real-time as the user digitizes bounds on screen.
  • Dynamic Attribute Mapping: Seamlessly binds operational metadata (custom feature names, categories, and granular field observation notes) directly into spatial geometries.
  • Dual Baselayer Toggle Layer: Features an asset-optimized toggle layout allowing operators to seamlessly switch between standard OpenStreetMap vector tiles and high-resolution Google Hybrid Satellite views for maximum spatial context.
  • Enterprise Interoperability: A built-in serialization pipeline for one-click structured data exports to standard GeoJSON (fully compatible with QGIS, ArcGIS, and Python data science workflows) and flat CSV data tables.

πŸ› οΈ Tech Stack & Engineering Core

  • Bundler/Build Tool: Vite
  • GIS Mapping Core: OpenLayers (ES6 modules)
  • Frontend Architecture: Vanilla JavaScript, HTML5, Responsive CSS3 Grid & Flexbox (No heavy framework overhead)
  • Storage Framework: IndexedDB, localStorage
  • PWA Protocols: W3C Web Manifest (manifest.json), Web Service Workers

πŸ“ Repository Structure

geofield-tracker/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ icons/                 # PWA Splash and App Icons
β”‚   β”œβ”€β”€ manifest.json          # Web App Manifest Definition
β”‚   └── sw.js                  # Service Worker Caching & Offline Protocols
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ css/
β”‚   β”‚   └── style.css          # Core Application Styles
β”‚   β”œβ”€β”€ js/
β”‚   β”‚   β”œβ”€β”€ map.js             # Map Initialization & Layer Control
β”‚   β”‚   β”œβ”€β”€ geolocation.js     # Live Device GPS Tracking Engine
β”‚   β”‚   β”œβ”€β”€ draw.js            # Geometric Vector Drawing Interactions
β”‚   β”‚   β”œβ”€β”€ measurement.js     # Spherical Geodesic Math Calculators
β”‚   β”‚   β”œβ”€β”€ storage.js         # IndexedDB Persistence & Layer Recovery
β”‚   β”‚   β”œβ”€β”€ ui.js              # Sidebar Panels & Metadata Form Handling
β”‚   β”‚   └── export.js          # GeoJSON & CSV Data Export Engine
β”‚   └── main.js                # Core Lifecycle Application Bootstrapper
β”œβ”€β”€ index.html                 # Main App HTML Shell
β”œβ”€β”€ package.json               # Build Pipelines & Package Manifest
└── vite.config.js             # Optimized Production Compiling Options

Built With

Share this project:

Updates