Skip to content

A system that provides a live view of an underground metro railway network, monitoring crowding levels to produce quiet route itinerary recommendations. The network monitor operates a STOMP server that offers a quiet route service to any STOMP clients making itinerary requests

Notifications You must be signed in to change notification settings

Nauroze/Metro-Network-Monitor

Repository files navigation

Metro Network Monitor

About the Project

Metro Network Monitor is a software solution aimed at optimizing passenger flow across metro systems by suggesting less crowded routes to commuters. This project leverages modern C++ features, including automatic memory management, asynchronous operations, lambdas, templates and more, along with libraries such as Boost.Asio and JSON for Modern C++. The network monitor operates a STOMP server that offers a quiet route service to any STOMP clients making itinerary requests.

Design Considerations

  • Objective: Develop an itinerary recommendation system that monitors and analyzes real-time metro network traffic to suggest quieter routes.
  • Data Sources: Utilizes real-time data from electronic card taps and a JSON-based network layout.
  • Technical Aspects: Functions as both client and server, using STOMP over WebSockets for messaging, and stores data in JSON format.

Prerequisites

  • GCC compiler
  • CMake and Make for build generation
  • Conan package manager
  • Git for version control

Installation

  1. Clone the repository
git clone <repository-url>
  1. Create cmake build directory
mkdir build && cd build
  1. Install dependencies with Conan
pip3 install conan==1.53.0
conan install .. --build=missing
  1. Configure and build the project with CMake
cmake ..
cmake --build . --parallel $(nproc)

About

A system that provides a live view of an underground metro railway network, monitoring crowding levels to produce quiet route itinerary recommendations. The network monitor operates a STOMP server that offers a quiet route service to any STOMP clients making itinerary requests

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages