# Hosting a Full-Stack Application A newly developed Full-Stack application built for a retailer and deployed to AWS that is available to customers # Udagram The udagram application is a fairly simple application that includes all the major components of a Full-Stack web application. ### 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. 1. In AWS, provision a s3 bucket for hosting the uploaded files. 1. Export the ENV variables needed or use a package like [dotnev](https://www.npmjs.com/package/dotenv)/. 1. 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`. 1. 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`. Note : For more details take a look at the docs folder ## 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` 1. `npm run test` 1. `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. ## Running App - [Access the application](http://udagram593666028033.s3-website-us-east-1.amazonaws.com/) ![screenshot](docs/pictures/app.jpg) ## Built With - [Angular](https://angular.io/) - Single Page Application Framework - [Node](https://nodejs.org) - Javascript Runtime - [Express](https://expressjs.com/) - Javascript API Framework - [Postgresql](https://www.postgresql.org/) - Postgresql Database # Author Anis Benziane.