Skip to content

Latest commit

 

History

History
77 lines (51 loc) · 2.16 KB

File metadata and controls

77 lines (51 loc) · 2.16 KB

Traffic Data Analysis System

Project Overview

This project implements a Traffic Data Analysis System. The system consists of data-generating nodes that simulate IoT devices and a storage-and-analysis node for data processing and visualization.

System Architecture

The system is composed of:

  • Data-Generating Nodes: Virtual machines running containerized applications that generate and send traffic data.
  • Storage-and-Analysis Node: A central node responsible for data storage, analysis, and presentation.

Technologies Used

  • Application Type: Traffic
  • Database System: MongoDB
  • Web Application: Flask
  • Containerization: Docker

Features

  • Random generation of traffic data including timestamp, sensor name, car type, and speed.
  • Periodic data transmission (every 5 seconds) from data nodes to the storage node.
  • Data storage in MongoDB database.
  • Web-based data visualization using Flask.
  • Secure data presentation over HTTPS.
  • Containerized application components using Docker for easy deployment and scalability.

Data Specifications

Traffic data includes:

  • Timestamp
  • Sensor name
  • Car type (Truck, Sedan, SUV, Minivan, Pickup)
  • Speed (10-150 kmph)

Setup and Deployment

Prerequisites

  • Virtual machine environment (e.g., VirtualBox, VMware)
  • Docker
  • Python 3.x
  • MongoDB
  • Flask

Data-Generating Nodes

  1. two virtual machines.
  2. two containerized data generators on each VM using Docker.

Storage-and-Analysis Node

  1. virtual machine for the storage node.
  2. MongoDB.
  3. Flask application for data analysis and visualization in a Docker container.

Security

  • Implemented HTTPS using a self-signed certificate with OpenSSL.
  • Ensured secure browsing and visualization of data.

Usage

  1. Start the Docker containers for data-generating nodes to begin data transmission.
  2. Access the web application through the provided HTTPS URL.
  3. View real-time traffic data, trends, and analysis results.

Future Enhancements

  • Implement automated container deployment using Terraform.
  • Add database replication for increased availability.
  • Implement additional encryption layers for database connections.

Contributors