Skip to content

Milestone 1

DishaTalreja3 edited this page Mar 20, 2020 · 1 revision

Welcome to the Orenda wiki!

Getting Started

This document is a step-by-step guide to have the system up and running on your machines.

Clone the project from Assignment_1 branch

git clone -b Assignment_1 https://github.com/airavata-courses/Orenda.git

Pre-requisites (You can easily find the installation instructions at the provided link)

[After all installations, please add the appropriate folder to the path variable of your system as per requirements. You can find the instructions for the same in the links provided below.]

  1. NodeJS
  2. Docker (If your Mac or Windows system does not meet the requirements of Docker Desktop, download the latest release of Docker Toolbox: Docker Toolbox)
  3. Python
  4. Java
  5. Spring Boot
  6. Maven

Setting up kafka

Before setting up kafka, make sure you have docker running and none of the containers are using ports 9092,2181.
You can view running containers by using 'docker ps -a' command and stop the container by using 'docker stop <container id>' command.
start docker, open cmd/terminal in kafka directory of Orenda project and run the command given below:
->   docker-compose up
This should start kafka/zookeeper and create the required topics

Setting up each micro-service

1. User Management

Execute the service

Note: make sure nothing is running on localhost port 5009 on your system

 1. open Git Bash (Windows)/terminal in userManagement directory
 2. run 'npm install' command to install required packages
 3. run 'node server.js' command to start the service

2. Data Retrieval

Execute the service

 1. open Windows Git Bash (Windows)/terminal in dataRetrieval directory
 2. run 'source venv/bin/activate' command to switch to virtual environment
 3. python -m pip install --user --upgrade pip
 4. run 'pip install -r requirements.txt' command to install required packages
 5. run 'python app.py' command to start the service
Note: If you come across an error that says "Cannot uninstall docutils", 
run 'pip install --ignore-installed docutils'

3. Data Modelling

Execute the service

Note: make sure nothing is running on 127.0.0.0:8080 on your system
 1. open Git Bash (Windows)/terminal in dataModelling directory
 2. run 'source venv/bin/activate' command to switch to virtual environment
 3. python -m pip install --user --upgrade pip
 4. run 'pip install --user -r requirements.txt' command to install required packages
 5. run 'python app.py' command to start the service

4. Data Analysis

Execute the service

 1. open Git Bash (Windows)/terminal in data_analysis directory
 2. run mvn clean && mvn spring-boot:run command to start the service

5. Session Management

Execute the service

Note: make sure nothing is running on localhost port 8000 on your system
 1. open Git Bash (Windows)/terminal in sessionManagement directory
 2. run 'npm install' command to install required packages
 3. run 'node server.js' command to start the service

6. API

Execute the service

Note: make sure nothing is running on localhost port 5000 on your system
 1. open Git Bash (Windows)/terminal in APIgateway directory
 2. run 'npm install' command to install required packages
 3. run 'node server.js' command to start the service

7.User Interface

Execute the service

Note: make sure nothing is running on localhost port 3000 on your system
 1. open Git Bash (Windows)/terminal in frontend directory
 2. run 'npm install' command to install required packages
 3. run 'npm audit fix' command to fix vulnerabilities
 4. run 'npm start' command to start the service

Accessing the service after the setup is done

  • Now you can go to localhost:3000 to access the services from the User Interface
  • You can create an account by clicking sign up link and providing the necessary details
  • You can login with your credentials
  • You can submit a task by selecting a date and provided radar stations on the 'submit task' tab
  • After your task is submitted, you can view your results and pasts sessions on 'sessions' tab
  • Feel free to create issues here related to errors and fixes with appropriate labels and brief description