Skip to content

airavata-courses/scapsulators

Repository files navigation

Scapsulators

Spring 2022 Project

Functionality/Motivation

  • Here lies the pith of entire project: Weatherpedia.
  • We've implemented Continuous Integration using Circle-CI, and synchronous communication using REST-based microservices.
  • All microservices are completely dockerized and ready to interact with each other over the same docker network.
  • A Kubernetes cluster was configured and used for enabling Horizontal-Pod-Autoscaling (HPA) with self-healing pods.
  • All you need to do is run the entry-point script provided in this branch!
  • Note: There is a known issue for lack of Pyart support on an Apple Macbook, and it might cause errors in creating the weather-report GIF, inspite of dockerizing the Python service. We couldn't test our system on a Macbook just yet.

Demonstration

Head on over to our Wikis to view a working demo of the final application functionality.

Installation

Software Requirements

Firing up the entire system

Clone this repository/branch into your machine using git clone https://github.com/airavata-courses/scapsulators.git .

Simply click on the entry-point script: start-Weatherpedia.sh

Navigate to localhost:1000 and explore!

Implementation Status

The services use REST for synchronous communication.

View our current architecture, the user-lifecycle diagram and a sample napkin diagram in the Wikis for this repository.

We intend to use a containerized Kafka streaming-service to implement a scalable and highly-available architecture, in the future.

The team

Team member's Image

  • Shubham Mohapatra: Shubham is a DS graduate student at IUB. He's an experienced Software and Cloud Engineer with several years of Experience in the field of Python Programming, Cloud Computing, Full Stack App Development and Machine Learning. When he's not developing stuff, he can be found playing the guitar, scoring a goal in soccer or improving his K/D ratio in Counter Strike.

Team member's Image

  • Rutuja Jadhav: Rutuja is a final year Master's student studying at Indiana University Bloomington, majoring in Computer Science. She has full time experience as an Full stack software engineer for around 4 years. With this course, she intends to gain a deeper understanding of concepts in Distributed Systems and understand how to develop end to end applications on distributed systems.

Team member's Image

  • Vikrant Deshpande: Vikrant is a first year Master's student studying at Indiana University Bloomington, majoring in Data Science with a focus on Machine Learning and Statistics. He has full time experience as a Data Engineer working with Data pipelining, Analytics, Machine Learning and Software Development. With this course, he intends to gain practical distributed systems skills as well as learn about good open source practices.