A fully serverless, end-to-end AWS application that lets users define price/metric alerts on trading assets via a simple web UI—and delivers email notifications when conditions are met. Built with AWS CDK, Lambda, API Gateway, DynamoDB, EventBridge, SNS, and S3 static hosting.
Check out the live demo of the application at eCv Project Demo.
-
Clone the repo
git clone https://github.com/nayzinminlwin/eCv_Project.git cd eCv_Project -
Install dependencies
Installs CDK, esbuild, AWS SDK, and all Lambda dependencies:npm install npm install aws-sdk
-
Bootstrap CDK (first time only)
Deploys the CDK toolkit stack into your AWS account/region:npx cdk bootstrap --require-approval never
-
Deploy your stack
Creates S3 buckets, Lambdas, API Gateway, DynamoDB table, EventBridge rule, SNS topic, etc.:npx cdk deploy --require-approval never
-
Access the app
- Static site URL: check your CDK output for
SiteBucketURLor check it in AWS S3 Dashboard. - It looks like
https://nzml-my-static-website-bucket.s3.<<region>>.amazonaws.com/index.html.
- Static site URL: check your CDK output for
├── .github/
│ ├── workflows/ # GitHub Actions workflows
│ │ └── deploy.yml # CI/CD workflow for CD
├── bin/ # CDK entrypoint
├── lib/ # CDK stack definitions
├── lambda/
│ ├── index.js # scheduled fetcher + alert evaluator
│ ├── saveAlert.js # POST /alerts handler
│ ├── deleteAlert.js # DELETE /alerts/{alertId} handler
│ └── fetch_n_write.js # fetches asset prices and writes to DynamoDB
├── site/ # Static website assets (HTML + CSS + JS)
│ ├── index.html # index page with alert form
│ ├── main.js # js for design, form submission and API calls
│ └── style.css # CSS styles
├── package.json
├── cdk.json
├── tsconfig.json
└── README.md
- Configure your AWS CLI or environment variables:
aws configure # or set AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION - Ensure your IAM user has permissions for:
- CloudFormation, CDK toolkit
- Lambda, API Gateway, DynamoDB, EventBridge, SNS, S3
- S3 static website hosting
- UI: List & delete alerts
- Multi‑channel notifications (SMS, Slack)
- Metrics dashboard (e.g. AWS QuickSight)
- AWS Certified Cloud Practitioner study & documentation
MIT © Nay Zin Min Lwin, Lincensed under the MIT License.