Web DevelopmentSoftware EngineeringVerified engineering case
GeoAlert — Signalement routier en temps réel au Maroc
Collaborative web application for mapping road incidents with authentication, MongoDB, and real-time broadcasting via Socket.IO.
GeoAlert allows drivers to report road incidents from their GPS location or directly on an interactive map. Reports are recorded in MongoDB and instantly synchronized with all connected users using Socket.IO.




01. Context & Challenge
Problem addressed
Drivers do not have a collaborative platform providing real-time visibility of road incidents to anticipate hazards and improve their journeys.
02. Engineering Goals
Objectives
Authenticate users.
Allow automatic location detection or manual selection of a position on the map.
Create and view road incidents.
Broadcast new reports in real time.
Offer an interface adapted to computers and mobile devices.
03. Architecture & System
Architecture
GeoAlert is a Node.js/Express web application using EJS for rendering interfaces, MongoDB with Mongoose for data persistence, and Socket.IO to instantly synchronize new incidents among all connected users.
Architectural components & pipeline
›Driver
›Web Browser
›Express.js Server
›Session Middleware
›Authentication Routes
›Authentication Controller
›Mongoose
›MongoDB
›User Collection
›Incident Collection
›Socket.IO
›Connected Browsers
›Leaflet
›OpenStreetMap
›Geolocation API
04. Metrics & Outcomes
Documented results
EJS views compile correctly without template errors.
Server and client JavaScript scripts are syntactically valid.
Routes cover registration, login, logout, incident creation, and incident viewing.
The User → Incident relationship is correctly implemented.
New incidents are broadcast in real-time via Socket.IO.
No CI/CD workflow, Docker, migration, or automated tests are present.
The npm test script is not defined.