The udagram application includes all the major components of a Full-Stack web application and the task was to
- make the necessary changes in code to connect to the AWS RDS database and S3 storage service
- deploy and host the application to AWS cloud platform
- build a seamless CI/CD pipeline which is well documented and maintainable
- Clone this repo locally into the location of your choice. GitHub repo
- Move the content of the udagram folder at the root of the repository as this will become the main content of the project.
- Open a terminal and navigate to the root of the repo
- follow the instructions in the installation step
Project dependencies can be found here
Provision the necessary AWS services needed for running the application:
- In AWS, provision a publicly available RDS database running Postgres.
postgresql://postgres:postgres@udagram-db.c7cjjx4qtzlu.us-east-1.rds.amazonaws.com:5432/postgres
- In AWS, provision a s3 bucket for hosting the uploaded files.
http://udagram-frontend-media-bucket.s3-website-us-east-1.amazonaws.com/
- Export the ENV variables needed or use a package like dotnev/.
- From the root of the repo, navigate udagram-api folder
cd starter/udagram-api
to install the node_modulesnpm install
. After installation is done start the api in dev mode withnpm run dev
. - Without closing the terminal in step 1, navigate to the udagram-frontend
cd starter/udagram-frontend
to intall the node_modulesnpm install
. After installation is done start the api in dev mode withnpm run start
.
This project contains two different test suite: unit tests and End-To-End tests(e2e). Follow these steps to run the tests.
cd starter/udagram-frontend
npm run test
npm run e2e
There are no Unit test on the back-end
Unit tests are using the Jasmine Framework.
The e2e tests are using Protractor and Jasmine.
Project infrastructure details can be found here
Project pipeline process can be found here
- Angular - Single Page Application Framework
- Node - Javascript Runtime
- Express - Javascript API Framework
- Udagram Backend API URL:
http://udagramapi-env.eba-apmqumk3.us-east-1.elasticbeanstalk.com/api/v0
- Udagram Frontend URL:
http://udagram-frontend-media-bucket.s3-website-us-east-1.amazonaws.com/