Skip to content
All projects

GIS Sinai Explorer

Multilingual (EN/AR/FR) GIS dashboard for exploring buildings across the Sinai region on an interactive Cesium 3D terrain map, with point-to-point distance & travel-time calculation.

Development · TypeScript · GIS · Mapping · 2023

Next.js, Express, Prisma, PostgreSQL, CesiumJS, JWT

  • GIS Sinai Explorer screenshot 1
  • GIS Sinai Explorer screenshot 2
  • GIS Sinai Explorer screenshot 3
  • GIS Sinai Explorer screenshot 4
  • GIS Sinai Explorer screenshot 5
  • GIS Sinai Explorer screenshot 6
  • GIS Sinai Explorer screenshot 7
  • GIS Sinai Explorer screenshot 8
  • GIS Sinai Explorer screenshot 9

The problem

Sinai region building data had no visual, interactive way to explore locations, calculate distances between points, or manage records — and needed to serve English, Arabic, and French speaking stakeholders.

My role

Responsibilities

Built both the Next.js client and the Express/Prisma API server solo, including the localization files for all three languages.

Main workflows

  1. 1.User registers and logs in via JWT authentication
  2. 2.User explores buildings on an interactive Cesium 3D map of the Sinai region
  3. 3.User adds or browses building records tied to map locations
  4. 4.User calculates distance and estimated travel time between two selected points
  5. 5.Dashboard surfaces summary statistics on buildings and routes

Architecture

  • Decoupled Next.js client and Express API server, connected over REST
  • Prisma ORM over PostgreSQL for building records and migrations
  • CesiumJS powering the interactive 3D terrain map on the client
  • English, Arabic, and French localization files for a trilingual interface

Security and deployment

  • JWT-based registration and login
  • Environment-based configuration (.env / .env.local) kept out of version control
  • Cesium Ion token managed through the deployment provider's secret settings, not hardcoded