Link to access the app: Udagram
circleci
: For managing the CI/CD pipelineRDS
: An instance with class 'db.t3.micro' running PostgreSQL is createdEB
: Node.js API hostingS3
: Two buckets were created:- For hosting static frontend
- For hosting images uploaded by users
When pushing code to the github repo, the following sequence is triggered by CircleCI:
- bcrypt
- JWT
- aws-sdk
- body-parser
- cors
- dotenv
- email-validator
- express
- pg (PostgreSQL client)
- sequelize
- Angular
- Ionic
- Node 16.15.0
- NPM
- EB CLI 3.20.3 (Python 3.10.)
- AWS CLI 1.22.88 (Python 3.10.)
CircleCI access to the github repo:
CircleCI last successful build:
CircleCI environment variables:
- Clone this repo locally into the location of your choice.
- 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
The project can run but is missing some information to connect to the database and storage service. These will be setup during the course of the project
- 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:
- In AWS, provision a publicly available RDS database running Postgres.
- In AWS, provision a s3 bucket for hosting the uploaded files.
- 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.