ساخت اپلیکیشن Dashboard Weather با Docker، Flask، Open Weather API و AWS S3

هی سازندگان! در این مقاله، محتویات یک مخزن github را بررسی خواهیم کرد که از Docker برای اجرای یک برنامه داشبورد آب و هوا استفاده می کند. این برنامه از Open Weather API برای واکشی داده های آب و هوای زمان واقعی برای چندین شهر استفاده می کند و از AWS s3 برای ذخیره سازی امن و مقیاس پذیر داده ها استفاده می کند.
پایتون برای اسکریپت نویسی و AWS برای مدیریت ابر استفاده شد.
این پروژه بر اصول DevOps مدرن از جمله اتوماسیون، بهره وری ابر و مدیریت خطا تاکید می کند.
در اینجا مخزن github برای پروژه است، اینجا را بررسی کنید
بیایید شیرجه بزنیم!
پیش نیازها:
ساختار مخزن
در اینجا یک نمای کلی از ساختار مخزن آورده شده است:
فایل های کلیدی و هدف آنها:
1. web_dashboard.py
این فایل اصلی برنامه است. این شامل کلاس WeatherDashboard است که به واکشی داده های آب و هوا از OpenWeather API و ذخیره آن در یک سطل AWS S3 رسیدگی می کند.
این کلاس همچنین شامل متدهایی برای ایجاد سطل S3 در صورت عدم وجود و ذخیره داده های آب و هوا در سطل است.
2. env
این فایل شامل متغیرهای محیطی مورد نیاز برنامه است، مانند کلید OpenWeather API و اعتبارنامه AWS. این تضمین می کند که اطلاعات حساس در برنامه به صورت سخت کدگذاری نشده است.
**3. Dockerfile
Dockerfile مراحل ساخت یک تصویر داکر را برای برنامه تعریف می کند. وابستگی های لازم را نصب می کند، کد برنامه را کپی می کند و دستور اجرای برنامه را تنظیم می کند.
راه اندازی برنامه
-
کلون کردن مخزن:
git clone https://github.com/NonsoEchendu/flask-weather-dashboard.git
-
دایرکتوری را تغییر دهید
cd 30days-weather-dashboard
-
یک فایل .env ایجاد کنید و آن را در فهرست اصلی پروژه قرار دهید:
OPENWEATHER_API_KEY=your=openweather-api-key AWS_BUCKET_NAME=your-aws-bucket-name AWS_BUCKET_FOLDER_NAME=your-aws-bucket-folder-name AWS_ACCESS_KEY_ID=your-aws-access-key-id AWS_SECRET_ACCESS_KEY=your-aws-secret-access-key AWS_DEFAULT_REGION=your-aws-default-region
-
تصویر داکر را بسازید
docker build -t weather-dashboard .
-
کانتینر داکر را اجرا کنید:
docker run --env-file .env -p 5000:5000 -d --name weather-dash weather-app
-p 5000:5000
پورت 5000 کانتینر را به پورت 5000 دستگاه محلی شما نگاشت می کند تا بتوانید آن را در مرورگر وب خود مشاهده کنید
- باز کنید
http://localhost:5000
در مرورگر وب شما هنگام جستجوی یک شهر باید چیزی شبیه به این داشته باشید:
نتیجه گیری
با استفاده از داکر برای استقرار این برنامه، ما در حال پیاده سازی اصول توسعه هسته ای هستیم: کانتینرسازی، اتوماسیون. بنابراین به جای نصب هر یک از این ابزارها به صورت محلی، تنها با 2 دستور برنامه خود را اجرا می کنیم.
رشد آینده این پروژه راه اندازی خط لوله CI/CD برای اتوماسیون خواهد بود.
ساخت و همکاری مبارک!