Skip to content

J-emi/cats-in-clouds

Repository files navigation

☁️ Cats in clouds

🐱 Introduction

Chonker is a colloquial term for a fat but photogenic cat. I have made a website that allows the user to assess the thickness of the cats in the photos according to a six-point scale. It is a form of fun and a reference to internet memes. That being said, I do not support fattening animals on purpose, by malnutrition or negligence.

🌎 See the page here Currently the link is not working as my trial on the Google Cloud Platform has expired. Sorry!

🐾 How does my site work?

Upon entering the website, the user may register (Register tab), which is recommended but not necessary. Unregistered users can rate cats, but they will not be included in the ranking (Leaderboard tab). All you need to register is a username and password. You can change your password at any time (Change password tab). A registered user can log in (Log in tab). Images of cats are displayed randomly on the main page, without repetition. Under the image there is chart of cat body-fat indexes. The user can decide which category the cat in the photo belongs to:

  • A Fine Boi,
  • He Chomnk,
  • A Heckin' Chonker,
  • H E F T Y C H O N K,
  • M E G A C H O N K E R,
  • OH LAWD HE COMIN.

After voting, two pieces of information are displayed instead of the chonk chart - users vote and community raiting. The ranking (Leaderboard tab) includes the ten users who rated the highest number of photos. In case of an error on the website, a relevant apology message is displayed.

example screenshot of the website layout

⚒️ Technologies:

google cloud platform html5 css3 python flask git docker terraform kubernetes

  • Backend API and frontend written in Python using Flask framework
  • Application is prepared for remote deployment using Docker
  • Infrastructure configuration managed with Terraform
  • Cat photos are managed and hosted in a Google Cloud Storage bucket
  • Continuous Integration through GitHub Actions and Google Cloud Artifact Registry
  • Deployment onto a 2-node Linux-based Kubernetes Cluster with a Load Balancer Service in Google Kubernetes Engine

Architecture graph

Conceptual graph of project architecture

🚀 To Do

  • PostgreSQL database
  • CSS enhancement