This application is provided to be deployed to AWS so that it's available for everyone.
The application require some configuration before starting
AWS RDS
-- Where the databse will be createdAWS S3
-- Where the Front-End will be hostedAWS Elastic Beanstalk
-- Where the Back-End will be hosted
The application is automated usind CircleCli pipleine. Documentation
- 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.
Provision the necessary AWS services needed for running the application:
- From the root of the repo, navigate udagram-api folder to install the node_modules . After installation is done start the api in dev mode with .
cd udagram/udagram-api
npm install
npm run dev
- Without closing the terminal in step 1, navigate to the udagram-frontend to intall the node_modules . After installation is done start the api in dev mode with .
cd udagram/udagram-frontend
npm install
npm run start.
- You have to create
.env
file with all the required enironment variables:
# .env
# Database connection information
POSTGRES_HOST
POSTGRES_USERNAME
POSTGRES_DB
POSTGRES_PASSWORD
DB_PORT
PORT
# AWS information
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_REGION
AWS_PROFILE
AWS_BUCKET
URL
JWT_SECRET
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.
- Angular - Single Page Application Framework
- Node - Javascript Runtime
- Express - Javascript API Framework