Skip to content

This is a blogging web application application built as part of HPE CTY Program

Notifications You must be signed in to change notification settings

chandradharrao/AlwaysObservableWebApp

Repository files navigation

An always observable Blogging web-app

This is a blogging web application application built as part of Hewlett Packard Enterprise CTY Program

Features and Activity Diagrams

  1. Authorization
  2. Login
  3. Create Account
  4. Creating a Post
  5. Fetch Recent Posts
  6. Delete Post
  7. Edit and Update post

Tech Stack

  • Python Flask Framework for Backend
  • JWT for Authentication
  • Mongodb and mongoose ORM for database
  • GRPC and Protobuff for intra-microservice communication and REST APIs for endpoints
  • Docker for dockerization and Kubernetes for orchestration
  • Grafana,Prometheus and Alert-Manager for monitoring the health of the web app
  • Deployment on an EC2 instance

Architecture

Attached below are both AWS Dockerized architecture on left and K8 orchestrated app on right

architecture

##Instructions for local setup

  1. Run minikube start in the minikube installed environment
  2. Run ./prom_operator_start.sh to install kube-prometheus stack via helm chart
  3. Run ./force_upgrade_config.sh to update the config map
  4. Run ./kubectlStart.sh to start the pods
  5. Run the various port_forwarding scripts to access via webbrowser
  6. The app is now running on AlwaysObservablBloggingApp
  7. Run python3 workloadSim.py to simulate API requests(workload)

Useful Links

  1. Deployed Webapp

Contributors (in alphabetical order)

  1. Chandradhar Rao
  2. Moyank Giri