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.
The project is split into two parts:
-
Frontend - Angular web application built with Ionic Framework
-
Backend RESTful API - Node-Express application
- The depends on the Node Package Manager (NPM). You will need to download and install Node from https://nodejs.com/en/download. This will allow you to be able to run
npm
commands. - Environment variables will need to be set. These environment variables include database connection details that should not be hard-coded into the application code.
- This project uses a continuous integration tool such as travis (travis.yml), docker and kubernetes
Set the config values for environment variables through kubernetes's secrets:
kubectl create secret generic prod-db-secret --from-literal=username=produser --from-literal=password=Y4nys7f11
Don't forget to update the deployment.yaml specifying the environment variables declared as secrets.
Create a PostgreSQL database either locally or on AWS RDS. Set the config values for environment variables through kubernetes's secrets:
kubectl create secret generic prod-db-secret --from-literal=username=produser --from-literal=password=Y4nys7f11
Don't forget to update the deployment.yaml specifying the environment variables declared as secrets.
Create an AWS S3 bucket. Set the config values for environment variables through kubernetes's secrets:
kubectl create secret generic prod-db-secret --from-literal=username=produser --from-literal=password=Y4nys7f11
Don't forget to update the deployment.yaml specifying the environment variables declared as secrets.
- To download all the package dependencies, run the command from the directory
udagram-api/
:npm install .
- To run the application locally, run:
npm run dev
- You can visit
http://localhost:8080/api/v0/feed
in your web browser to verify that the application is running. You should see a JSON payload. Feel free to play around with Postman to test the API's.
-
To download all the package dependencies, run the command from the directory
udagram-frontend/
:npm install .
-
Install Ionic Framework's Command Line tools for us to build and run the application:
npm install -g ionic
-
Prepare your application by compiling them into static files.
ionic build
-
Run the application locally using files created from the
ionic build
command.ionic serve
-
You can visit
http://localhost:8100
in your web browser to verify that the application is running. You should see a web interface.