Udacity Capstone Project – Building an Invoicing App
This is an Udacity final (Capstone) Project.
In this application we will be creating an Invoicing App that will basically create an invoice for a user and send email notification after creation.
Circleci Status Update
Application Scope
The main scope of the application is to apply my DevOps CICD
skills to a backend application which involve performing the following in the pipeline:
- Build a pipeline job with circleci
- Run/Build Linting, Testing and run Hadolint test to backend applictaion
- Build Backed and deploy to docker repository
- Authenticate and Deploy aws eks cluster with nodesGroup using eksctl
Some few checks/validations along the way
- Deploy services and pod to kubernetes ~
few checks/validation for update pods update
- API Health and Deployment Validation
Project Scopes
- Creating Backend – using node.js express
cd backend
folder - Creating frontend – using react.js
cd frontend
folder - Creating pipeline – using CircleCi
cd .circle.ci
folder - Creating deploy – using AWS eks
- Creating monitory – using prometheus server and grafana
Pipeline Tools/Requirements
Rank | Languages |
---|---|
1 | Github |
2 | Docker |
3 | AWS |
4 | EKS |
You can check image-capstone directory for review of my pipeline result
Running the application locally
- Install Node version 15 upward
- Clone Repo
- Create database from mongo atlas and save url in .env file as specified in sample.env
- cd into backend directory
cd backend
- Create .env file and update content with sample.env
- Install Packages
npm install
- Run Command
npm run dev
- Test api status
localhost:8080
- Result with status code 200 is fine:
{
msg: 'Updated: Connection successfully',
msg_location: 'CircleCi Pipeline',
status: 'ok',
node_env: development,
version: `v-local`,
statusCode: 200,
}
please stay tune and follow more update.
— AUTOMATION BY MUA