Skip to content

Full-Stack ToDo application hosted on AWS using Amazon EKS with React Frontend and Nginx reverse-proxy and Flask backend services

Notifications You must be signed in to change notification settings

BrandonOdiwuor/FullStack_Kubernetes_EKS_Todo

Repository files navigation

Full-Stack TODO App in EKS

Full-Stack ToDo application hosted on AWS using Amazon EKS with React Frontend and Nginx reverse-proxy and Flask backend services

Functionality

  • This application allows performing CRUD operations on Todo items stored on AWS DynamoDB.
  • Each Todo item can optionally have an attachment image stored on Amazon S3.
  • Each user ONLY has access to Todo items that they created. Users authenticated and issued a RS256 signed JWT tokens by Auth0 verified using Auth0 JWKS endpoint.

Architecture

architecture

Running

Pre-requisite

  1. Database(DynamoDB): Create the Todos-{env} table on Amazon DynamoDB. The database is used to store the Todo items data.
  2. Filestore(S3): Create the AWS S3 attachments bucket. The S3 bucket is used to store Todo items attachment image

I. Run locally with docker-compose

Building Images

docker-compose build

Running Images

docker-compose up

II. Run in production with Kubernetes

Pre-requisite

  1. eksctl: Install eksctl for creating the cluster on EKS
  2. helm: Install helm to deploy assests on the EKS cluster

Create EKS Cluster with eksctl:

Create an EKS Cluster on AWS with worker-nodes to run the pods

eksctl create cluster -f cluster.yaml

Install the Helm Chart

Install the helm chart to deploy the application on the EKS cluster

helm install todo-app ./charts/todo-app

About

Full-Stack ToDo application hosted on AWS using Amazon EKS with React Frontend and Nginx reverse-proxy and Flask backend services

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published