Logo
Graduation
2023GIS · Mapping

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.

Next.jsExpressPrismaPostgreSQLCesiumJSJWT

Screens

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

Tech Stack & 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 & 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