Skip to content

Project Milestone 1

apednek edited this page Apr 15, 2022 · 1 revision

Welcome to the ampersand wiki

Our Team:

1. Aditi Pednekar
2. Dhruti Patel
3. Nikhil Kamble

Napkin Diagram:

Architecture Diagram:

Our release branch " release/project-milestone-1 " consists of 6 microservices. Click on the arrow for more information about each microservice

account-service

Contains google-authentication for user

Technologies Used - Passport JS, Axios, JWT Token, OpenID Conenct, OAuth 2.0

greetings-service

Fetches username from google-authentication service

Technologies Used - Passport JS, Axios, JWT Token, OpenID Conenct, OAuth 2.0

data-ingestor

Fetches URL from AWS

Technologies Used - Python, Fast API, Docker

data-plotting

Plots the image from file written

Technologies Used - Python, Fast API, Docker

radar-station

Gets the equivalent radar station code for the queried city

Technologies Used - Java, SpringBoot

api-gateway

Keeps record of all user history. This service is also the API Gateway of our application. It redirects all the requests from the frontend to all other microservices and connects with DB to store and retrieve user history.

Technologies Used - Express JS, Axios, Mongo DB

Pre-requisites

Steps for deploying each service (please open new terminal for each step/service in our release-branch)

[Step 0] - Clone our repo and switch to our release branch (release/project-milestone-1)


[Step 1] - Deploy account-service

cd account-service
npm i
npm start

[Step 2] - Deploy greetings-service

cd greetings-service
npm i
npm start

[Step 3] - Deploy data-ingestor

cd data-ingestor

Keep your docker engine running in background

docker build -t data-ingestor-image .
docker run -d --name adscontainer1 -p 81:81 data-ingestor-image

OR (to run without docker execute below 3 steps)

cd data-ingestor
pip install -r requirements.txt
python -m uvicorn app.data_ingestor:app --reload --port 81

[Step 4] - Deploy data-plotting

cd data-plotting

Keep your docker engine running in background

docker build -t data-plotting-image .
docker run -d --name adscontainer -p 82:82 data-plotting-image

OR (to run without docker execute below 3 steps)

cd data-plotting
pip install -r requirements.txt
python -m uvicorn app.main:app --reload --port 82

[Step 5] - Deploy radar-station

    > Download Eclipse
    > Open exisiting project (open the radar-station project that you just cloned)
    > Right click on Application.java file and select Run as Java application (it is in src->java->main->nexraddata->Application.java)
    > Now the microservice should be up and running on port 8080

[Step 6] - Deploy api-gateway

Open terminal and run below command:

$ mongod

If above command gives error follow the steps given below exclusively for Windows -

    >> create directory "data" in C drive
    >> go inside "data" directory
    >> create directory "db"

Open terminal and run below command again:

$ mongod

Open another terminal and run below commands -

cd api-gateway
npm i
npm run devStart

[Step 7] - Deploy GUI

cd gui
npm i
npm start