-
Notifications
You must be signed in to change notification settings - Fork 1
Home
All calls from client to microservices are rendered by API Gateway. Runs on Port 4000
Follow the steps to run API Gateway:
- On Terminal.
- Go to APIGateway Directory.
- Open REST Gateway
- Run server.js using the following command: npm run start
- Node JS: v13.8.0
- Express JS
- npm run start
User is authenticated using JWT token. User Management runs on port 8085.
Follow the steps to run User Management:
- On Terminal.
- Go to UserManagement Directory.
- Run the following commands: 1. mvn clean install 2. mvn spring-boot:run
- Java: Version 8 AVA_HOME environment variable needs to be set to the JAVA installation directory. Refer: https: //www.java.com/en/download/ SpringBoot: 2.2.0
- mvn clean install
- mvn spring-boot:run
Session Management is used for tracking user activities. Session Management runs on port 8089.
- Java Version: 8 AVA_HOME environment variable needs to be set to the JAVA installation directory. Refer: https://www.java.com/en/download/
Follow the steps to run Session Management (Indepedently):
- On Terminal
- Go to sessionmanagement-2 Directory.
- Run the following commands: 1. mvn clean install 2. mvn spring-boot:run
- mvn clean install
- mvn spring-boot:run
Data Retrieval is used for fetching data. Data Retrieval runs on port 7000.
- python3 or higher
- pip3 or higher
- Install Docker https://docs.docker.com/install/
- Install Docker confluent-kafka https://docs.confluent.io/current/quickstart/ce-docker-quickstart.html#ce-docker-quickstart Follow the steps listed on the website.
- Linux or mac: pip3.7 install -r requirements.txt
- Windows: pip3 install -r requirements.txt
- On Terminal.
- Navigate to DataRetrieval.
- flask run --port=7000
Model Execution is used to process the fetched data. Model Execution runs on port 7500.
- python version 3 or higher.
- pip python 3 or higher.
- Docker version 19.03.5 to be installed.
- Install Docker https://docs.docker.com/install/
- Install Docker confluent-kafka https://docs.confluent.io/current/quickstart/ce-docker-quickstart.html#ce-docker-quickstart Follow the steps listed on the website.
- Linux or mac: pip3.7 install -r requirements.txt
- Windows: pip3 install -r requirements.txt
- Navigate to Model Execution
- flask run --port=7500
Post Processing displays the Model Execution result. Post Processing runs on port 5500.
- python3 or higher
- pip3 or higher
- Install Docker https://docs.docker.com/install/
- Install Docker confluent-kafka https://docs.confluent.io/current/quickstart/ce-docker-quickstart.html#ce-docker-quickstart Follow the steps listed on the website.
- Linux or mac: pip3.7 install -r requirements.txt
- Windows: pip3 install -r requirements.txt
- Navigate to Post Processing
- flask run --port=5500
A simple react front end to retrieve, process and analyze weather data.
Follow the steps to start the front end service:
- On Ternminal.
- Go inside frontend directory.
- Run the following command: npm start
Front End URL: http://localhost:3000/
Do the following inside frontend directory:
- Install NodeJS version: v13.8.0. You can find it at: https://www.tutorialspoint.com/nodejs/nodejs_environment_setup.htm
- Install nom using the following command: npm install
- Follow this tutorial to install react: https://www.tutorialspoint.com/reactjs/reactjs_environment_setup.htm
- Pull the entire code base from the master branch.
- Set up React and Node JS
- Run all the servers.
- Run the following command to install all the dependencies npm install
- Run the following command to start the server npm start
- Register as a User
- Login using the Credentials
- Click on the Man icon on top right
- Click on the Data Retrieval
- Click on the Model Execution
- Click on Post Processing
- P.S : Model Execution and Post Processing sometimes work & sometimes don't due to the issue from Kafka Production and Consumption not being performed properly but all microservices run properly when run independently.
- An Apache Jmeter based performance testing has been conducted on all the Microservices.
- The Jmeter tool aids in conducting the tests using different loads.
- Load Tests help identify the maximum number of requests each service can handle as well as the bottlenecks due to which the performance starts degrading
- The load tests are conducted via a simulation of the real user scenarios.
- Java version 8 or higher
- Multi core CPUs with 4 or more cores
- At least 16 GB RAM
- 1 Gbps LAN