You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.2 KiB
Markdown
72 lines
2.2 KiB
Markdown
# 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.
|