Ahmed-Oraby / AWS-hosting

Hosting a full stack application on AWS.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hosting a Full-Stack Application

Udagram

Udagram is the application we will use to host it to AWS.

here is the link for the front-end hosted on AWS S3: S3 frontend link

Documentation and Screenshots

  • For more detailed documentation, please see the docs folder in root directory.
  • For screenshots, please see the screenshots folder in root directory.

Dependencies

- Node v14.15.1 (LTS) or more recent. While older versions can work it is advisable to keep node to latest LTS version

- npm 6.14.8 (LTS) or more recent, Yarn can work but was not tested for this project

- AWS CLI v2, v1 can work but was not tested for this project

- A RDS database running Postgres.

- A S3 bucket for hosting uploaded pictures.

Installation

Provision the necessary AWS services needed for running the application:

  1. In AWS, provision a publicly available RDS database running Postgres.
  2. In AWS, provision a s3 bucket for hosting the uploaded files.
  3. Export the ENV variables needed or use a package like dotnev/.
  4. From the root of the repo, navigate udagram-api folder cd starter/udagram-api to install the node_modules npm install. After installation is done start the api in dev mode with npm run dev.
  5. Without closing the terminal in step 1, navigate to the udagram-frontend cd starter/udagram-frontend to intall the node_modules npm install. After installation is done start the api in dev mode with npm run start.

Testing

This project contains two different test suite: unit tests and End-To-End tests(e2e). Follow these steps to run the tests.

  1. cd starter/udagram-frontend
  2. npm run test
  3. npm run e2e

There are no Unit test on the back-end

Unit Tests:

Unit tests are using the Jasmine Framework.

End to End Tests:

The e2e tests are using Protractor and Jasmine.

Built With

  • Angular - Single Page Application Framework
  • Node - Javascript Runtime
  • Express - Javascript API Framework

About

Hosting a full stack application on AWS.


Languages

Language:TypeScript 77.8%Language:HTML 9.0%Language:SCSS 6.2%Language:JavaScript 5.1%Language:Shell 1.8%Language:Procfile 0.0%