High-level architecture of the Smart Weather Notification System Architecture diagram includes both implemented components and future planned modules (such as severe weather alerts).


☁️ Overview

This project implements a serverless, event-driven weather notification system using AWS CDK (TypeScript).
It retrieves live weather data from an external API and automates several workflows:

  • Daily weather summary email (7 AM Australia/Sydney)
  • ⚙️ Simulated AWS automation tasks triggered every 3 hours
  • ⚠️ Severe weather alertsplanned module (not implemented in v1.0)

The architecture is intentionally modular so new features can be added without modifying core infrastructure.


🧱 AWS Services Used

ServicePurpose
AWS LambdaRuns forecast and automation logic
EventBridge SchedulerTriggers the daily summary at 7:00 AM Sydney time
EventBridge RulesTriggers the automation Lambda every 3 hours
Amazon SNSSends notifications (email/SMS) for summaries and future alerts
Secrets ManagerSecure storage for the external API key
AWS CDK (TypeScript)Defines all resources using Infrastructure as Code
JestLogic tests + infrastructure tests using CDK assertions

🧩 Key Features

✔ 1. Daily Weather Summary (Implemented)

  • Fetches weather from an external API
  • Sends a summary email via SNS each morning
  • Timezone-aware scheduler (Australia/Sydney)

✔ 2. Weather-Driven Automation (Implemented)

  • Runs every 3 hours using EventBridge Rules
  • AutomationHandler Lambda simulates actions such as:
    • pausing workloads on low sunlight
    • activating tasks on sunny days
  • Outputs behaviour to CloudWatch Logs

⚠ 3. Severe Weather Alerts (Planned, Not Implemented)

The architecture includes a planned module for:

  • Storm alerts
  • Heatwave/high-temperature alerts
  • High wind warnings
  • Severe rainfall

This is intentionally excluded from v1.0 to keep scope manageable.
It remains a future enhancement.


🧠 Lessons Learned

  • Differences between EventBridge Scheduler (timezone-aware) and EventBridge Rules
  • Securely injecting API keys into Lambda via Secrets Manager
  • Writing CDK tests using assertions
  • Clear separation between implemented modules and planned future components
  • How modular stacks make future upgrades easier

🧪 Testing & Validation

  • Lambda logic tested with Jest (mocked API + behaviour mapping)
  • CDK infrastructure tests validate SNS, Scheduler, Lambda, IAM policies
  • Manual verification in AWS Console
  • Full cleanup confirmed via cdk destroy

🖼️ Screenshots

ScreenshotDescription
Scheduler 7AM⏰ EventBridge Scheduler running at 7:00 AM (Australia/Sydney)
Automation Rule🔄 EventBridge Rule for 3-hour automation
Lambda Logs📘 CloudWatch logs from the automation Lambda
Test Results✅ All unit and CDK tests passing

📘 Documentation


🏁 Project Status

✅ Version 1.0 – Complete and Stable
Daily summaries and automation modules implemented.
Severe alerts module planned for a future release.


© 2025 Nicolas Gloss — AWS Cloud Engineer Portfolio
Built with AWS CDK and Hugo PaperMod.