Jorf Mobility Platform - Smart Internal Transport Management

An intelligent internal transportation management platform built for OCP Group's Jorf Lasfar industrial site. The system digitalizes and streamlines the entire mobility process across the 1,835-hectare industrial complex, enabling employees, contractors, and drivers to manage ride requests, real-time tracking, and assignments through a secure and scalable platform composed of a mobile application, a web backoffice, and a robust backend. (More deatails to be added latter)

Built with

Spring BootJava 21PostgreSQLRedis+20
Jorf Mobility Platform - Smart Internal Transport Management

Technology Stack

Spring Boot
Java 21
PostgreSQL
Redis
Flyway
Spring Security
JWT
Keycloak
WebSocket
STOMP
Firebase FCM
Spring AI
Ollama
React Native
Expo SDK 54
React 18
Redux Toolkit
Google Maps
OSRM
Docker
Jenkins
SonarQube
Gradle
GitHub

Key Highlights

Full ride lifecycle management with automatic driver assignment based on GPS proximity

Real-time GPS tracking via WebSocket and Redis with monthly-partitioned PostgreSQL storage

Dual authentication: local JWT for drivers and admins, Keycloak SSO for OCP employees

AI-powered conversational assistant using Spring AI and locally-hosted Ollama (Mistral 7B)

Complete CI/CD pipeline with Jenkins, SonarQube Quality Gate at 89.7% code coverage

Features

Ride request, tracking, and cancellation via mobile app and AI chatbot

Automatic driver assignment using Haversine distance calculation

Real-time GPS tracking with WebSocket and Redis cache (TTL 30s)

Administrative backoffice with analytics dashboards and live monitoring

Push notifications via Firebase FCM for every ride lifecycle event

Role-based access control across 5 user roles (SUPER_ADMIN, ADMIN, EMPLOYEE, DRIVER, EXTERNAL)

430+ unit tests with full CI/CD pipeline and Docker containerization

</>Quick Start

Clone Repository

git clone https://github.com/ElazzouziHassan/InOCP.git cd InOCP

Install Dependencies

docker compose build

Run Development

docker compose up -d

For detailed setup instructions and environment variables, visit the GitHub repository.