Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/benjaminburton/weather-dashboard-with-aws
https://github.com/benjaminburton/weather-dashboard-with-aws
Last synced: 1 day ago
JSON representation
- Host: GitHub
- URL: https://github.com/benjaminburton/weather-dashboard-with-aws
- Owner: BenjaminBurton
- Created: 2025-01-08T16:56:59.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-01-08T17:21:13.000Z (about 1 month ago)
- Last Synced: 2025-01-08T18:29:43.695Z (about 1 month ago)
- Language: Python
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 30 Days DevOps Challenge - Weather Dashboard
Day 1: Building a weather data collection system using AWS S3 and OpenWeather API
# Weather Data Collection System - DevOps Day 1 Challenge
## Project Overview
This project is a Weather Data Collection System that demonstrates core DevOps principles by combining:
- External API Integration (OpenWeather API)
- Cloud Storage (AWS S3)
- Infrastructure as Code
- Version Control (Git)
- Python Development
- Error Handling
- Environment Management## Features
- Fetches real-time weather data for multiple cities
- Displays temperature (°F), humidity, and weather conditions
- Automatically stores weather data in AWS S3
- Supports multiple cities tracking
- Timestamps all data for historical tracking## Technical Architecture
- **Language:** Python 3.x
- **Cloud Provider:** AWS (S3)
- **External API:** OpenWeather API
- **Dependencies:**
- boto3 (AWS SDK)
- python-dotenv
- requests```markdown
## Project Structure
weather-dashboard/
src/
__init__.py
weather_dashboard.py
tests/
data/
.env
.gitignore
requirements.txt## Setup Instructions
1. Clone the repository:
--bash
git clone https://github.com/ShaeInTheCloud/30days-weather-dashboard.git3. Install dependencies:
pip install -r requirements.txt4. Configure environment variables (.env):
OPENWEATHER_API_KEY=your_api_key
AWS_BUCKET_NAME=your_bucket_name4.Configure AWS credentials:
aws configure
5. Run the application:
python src/weather_dashboard.pyWhat I Learned
AWS S3 bucket creation and management
Environment variable management for secure API keys
Python best practices for API integration
Git workflow for project development
Error handling in distributed systems
Cloud resource managementFuture Enhancements
Add weather forecasting
Implement data visualization
Add more cities
Create automated testing
Set up CI/CD pipelineCredit goes to the creators of this repo:
Ifeanyi Otuonye, Alicia Ahl, Kathryn (Kat) Jones, DeShae Lyda