Automated Crypto price monitor
Utilizing AWS Lambda and CloudWatch, this application regularly fetches and analyzes cryptocurrency prices, calculating price changes and updating subscribers via SNS notifications.
The development of Coinwatch offered a valuable opportunity to enhance skills in serverless architecture with AWS Lambda and DynamoDB. It also provided hands-on experience with infrastructure automation and CI/CD using Terraform, GitHub Actions. This project served as a technical deep dive into modern cloud and software engineering methodologies.
- Invoke lambda with cloudwatch alarm every 15m
- get crypto price data from CoingeckoAPI
- Calculate price change rate and save to dynamodb
- Fetch highest price change rate up to 5 and create custom message
- publish to sns topic
│ .gitignore
│ main.tf
│ README.md
│ variables.tf
│
├───.github
│ └───workflows
│ main.yml
│
├───modules
│ ├───backend
│ │ main.tf
│ │ outputs.tf
│ │ variables.tf
│ │
│ ├───dynamodb
│ │ main.tf
│ │ outputs.tf
│ │ variables.tf
│ │
│ ├───eventbridge
│ │ main.tf
│ │ outputs.tf
│ │ variables.tf
│ │
│ ├───iam
│ │ main.tf
│ │ outputs.tf
│ │ variables.tf
│ │
│ ├───lambda
│ │ main.tf
│ │ outputs.tf
│ │ variables.tf
│ │
│ └───sns_topic
│ main.tf
│ outputs.tf
│ variables.tf
│
└───scripts
Dockerfile
lambda_function_data.py
lambda_function_publish.py
requirements.txt