To run the program on the localhost in Windows:
- install npm.
- install from redis site the redis image.
- run Redis image on Docker with the 6379 port.
- run command
$ node app.js
or$ npm start
in the program terminal. - go to http://localhost:3000 and have fun 😊🚗
• The system will enable the management of sections of the toll road, 5 sections in which vehicles enter and exit regularly.
We built a simulator that simulates a toll road with details of vehicles that enter and exit the road, such as: entrance section, type of vehicle, day of the week, etc ..
The simulator sends the data to Kafka who creates a message queue of the vehicles, Kafka routes the information to MongoDB and Redis, When the Redis shows us the vehicles that are in real time on the road and their movement and the MongoDB keeps all the vehicles driving on the road in total.
In the dashboard we will display the information taken from the Redis that run on the Docker.
The data from MongoDB will be taken and saved in a csv file that will be sent to bigML which we will use to create a learning model which will give us the prediction of the exit section of each vehicle.
http://localhost:3000/fetch will be create a new csv file for a new model.
• At any moment you can know the number of vehicles in each section.
• The system display on a dashboard the current number of vehicles and will allow you to request a breakdown of the list of vehicles.
• There is also an option to see how many vehicles there are on the road by brands at any given moment.
• There is also an option to see how many vehicles there are on the road by types at any given moment.
• There is also an option to see how many vehicles there are on the road by days at any given moment.
• Kafka (example):
• MongoDB (examle):
• The system build a decision model based on a decision tree with bigML: given the details of the road section, brand of the vehicle, day of the week and time vehicle entry, a prediction will be made about which section the vehicle will exit.
• bigML decision tree:
• Matrix Confusion: