This repository is refracted a monolith Udagram application into microservices. Ionic was used in the fronend and in the backend Docker/kubernetes are used.
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. Following are the services involved in this project:
- “user” - allows users to register and log into a web client,
- “feed” - allows users to post photos, and process photos using image filtering
- “frontend” - acts as an interface between the user and the backend-services
- "reverseproxy" - For resolving multiple services running on same port in separate containers
Correspondingly, the project is split into following parts:
- The RestAPI Feed Backend, a Node-Express feed microservice.
- The RestAPI User Backend, a Node-Express user microservice.
- The Simple Frontend - A basic Ionic client web application which consumes the RestAPI Backend.
- Nginx as a reverse-proxy server, when different backend services are running on the same port, then a reverse proxy server directs client requests to the appropriate backend server and retrieves resources on behalf of the client.
Steps of running kubernetes and containers are describes in Microservice->Container->exercises->README.md file.