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.
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.
- Application Type: Traffic
- Database System: MongoDB
- Web Application: Flask
- Containerization: Docker
- 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.
Traffic data includes:
- Timestamp
- Sensor name
- Car type (Truck, Sedan, SUV, Minivan, Pickup)
- Speed (10-150 kmph)
- Virtual machine environment (e.g., VirtualBox, VMware)
- Docker
- Python 3.x
- MongoDB
- Flask
- two virtual machines.
- two containerized data generators on each VM using Docker.
- virtual machine for the storage node.
- MongoDB.
- Flask application for data analysis and visualization in a Docker container.
- Implemented HTTPS using a self-signed certificate with OpenSSL.
- Ensured secure browsing and visualization of data.
- Start the Docker containers for data-generating nodes to begin data transmission.
- Access the web application through the provided HTTPS URL.
- View real-time traffic data, trends, and analysis results.
- Implement automated container deployment using Terraform.
- Add database replication for increased availability.
- Implement additional encryption layers for database connections.