Real-time Weather Dashboard Project
×
Objective
Developed a serverless weather dashboard application using AWS SAM, providing current weather and 5-day forecasts based on user location.
Technologies Used
- AWS Lambda: For fetching weather data from the OpenWeatherMap API
- Amazon API Gateway: Serves as the HTTP endpoint for the Lambda function
- AWS Systems Manager Parameter Store: Securely stores and retrieves the API key
- Amazon S3: Hosts the static website
- Amazon CloudFront (optional): Serves the website over HTTPS for secure access to the Geolocation API
- AWS SAM (Serverless Application Model): For easy deployment and management of serverless resources
- OpenWeatherMap API: For real-time weather data
Key Features
- Real-time weather data including temperature in both Celsius and Fahrenheit, weather description, humidity, and wind speed
- 5-day weather forecast
- Displays the city name based on the provided coordinates
- Secure API key storage using AWS Systems Manager Parameter Store
- Easy deployment and management with AWS SAM
Project Steps
- Update the Lambda Function: Write a Python script to fetch weather data
- Store API Key Securely: Use AWS Systems Manager Parameter Store for the OpenWeatherMap API key
- Build and Package: Use SAM CLI commands to build and package the application
- Deploy: Deploy the entire stack with a single command using SAM's integration with AWS CloudFormation
- Host Static Website on S3: Use S3 to host the static front-end, making the application accessible to users
Impact
This project demonstrates the power and efficiency of AWS SAM in deploying serverless applications. It significantly reduced development time and effort, allowing for quick deployment of a functional weather dashboard. The project showcases how serverless architecture can be leveraged for real-time data processing and presentation.