Skip to content

a simple cloud application that allows users to register and log into a web client, post photos to the feed, and process photos using an image filtering microservice.

Notifications You must be signed in to change notification settings

mowamed/cloud-developer-microservices

Repository files navigation

Udagram Cloud Developper nanodegre project 03

this project is the submission of udacity cloud developer nanodegree

About the App

Udagram is a simple cloud application developed alongside the Udacity Cloud Engineering Nanodegree. It allows users to register and log into a web client, post photos to the feed, and process photos using an image filtering microservice.

Docker hub images

  1. Frontend.
  2. RestAPI Feed Backend
  3. RestAPI User Backend
  4. ReverseProxy

Getting Setup

tip: repository link.

clone this repository

clone this repository locally

git clone https://github.com/mowamed/cloud-developer-microservices.git

Docker compose

to run and deploy this project with Docker, make sure to have Docker compose on your system. Open a new terminal within the project directory and run:

  1. cd into the docker diretory: cd udacity-c3-deployment/docker/
  2. start the container: docker-compose up

tip: when the project is running, you can view it in your browser at localhost:8100 for the frontend and localhost:8080 for the reverse proxy exposing the rest api

  1. stop the containers: docker-compose down

Kubernetes

to run commands against your Kubernetes clusters, install and setup kubectl. Open a new terminal within the project directory and run:

  1. cd into the kubernetes diretory: cd udacity-c3-deployment/k8s/
  2. add your secret and configmap

tip: Add your base64 secret in env-secret.yaml, your AWS credentials in aws-secret.yaml and your configMap in env-configmaps.yaml. and use kubectl apply -f env-secret.yaml,aws-secret.yaml,env-configmaps.yaml

  1. Create your deployements and services: kubectl apply -f reverseproxy-deployment.yaml,reverseproxy-service.yaml,frontend-deployment.yaml,frontend-service.yaml,backend-feed-deployment.yaml,backend-feed-service.yaml,backend-user-deployment.yaml,backend-user-service.yaml
  2. To see all running containers run kubectl get pod

tip: to run your cluster locally, port-forward the frontend service kubectl port-forward service/frontend 8100:8100 and the reverseproxy service kubectl port-forward service/reverseroxy 8080:8080, you can view it in your browser at localhost:8100 for the frontend and localhost:8080 for the reverse proxy exposing the rest api

  1. to deploy a new version of the feed microservice run kubectl apply -f backend-feed-deployment.yaml,backend-feed-service.yaml

kubectl get pod screenshot CI


Travis

this project use Travis Ci to build the application. CI screenshot CI CI CI


App screenshot

CI screenshot CI CI CI


About

a simple cloud application that allows users to register and log into a web client, post photos to the feed, and process photos using an image filtering microservice.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published