Udagram Image Filtering Microservice
Udacity - Cloud Developer Nanodegree Program
Architectural decision are recorded
Architectural Decision Records ADR for this microservice architecture are located in the /docs
folder.
Monorepo folder structure:
- proxy-api/ - contains a reverse proxy for the REST API of the Udagram application
- feed-api/ - contains an REST API for the Udagram Feed application
- user-api/ - contains an REST API for the Udagram Users application
- image_filtering/ - contains an image filtering service
Run the server
These projects uses NodeJS
Open a terminal and navigate into the root of your clone of this repository.
cd image_filtering/
- navigate to folder for backend servernpm i
- installs the required dependenciesnpm run dev
- starts the development server
Postman REST collection
The cloud-cdnd-c2-final.postman_collection.json
contains sample REST request for interacting with the image filtering microservice.
Run the frontend
Build the client as a Docker image with the tag udagram-client
cd frontend
docker build -t udagram-client .
Run the frontend client with command:
docker run -p 8100:80 udagram-client
Docker Compose
The easiest way to run this application locally is with Docker Compose. Given that you have Docker installed with Docker Compose.
- Start
docker-compose up -d
- Stop
docker-compose stop
- Remove containers
docker-compose rm
Kubernetes
Change directory to the kubernetes/
folder. cd kubernetes
Then run the deploy.sh
script to create all the Kubernetes pods from the Deployment and Service YAML files.
. ./deploy.sh
Delete all Kubernetes pods created with Deployment and Service YAML files.
. ./destroy.sh
Screenshots
See the screenshots folder for images from my implementation of the project specification .