ساخت پروژههای واقعی با Cloudflare رایگان
خلاصهٔ کاملتر
نویسندهی این مطلب تعریف میکنه که چطور با پلن رایگان Cloudflare دو پروژهی جانبی کوچیک اما کاربردی ساخته. جذابیت اصلی Cloudflare برای اون اینه که اصلاً نیازی به وارد کردن اطلاعات پرداخت نیست — یعنی اگه یه پروژه ناگهانی ترافیک زیادی بگیره، هیچ قبض غیرمنتظرهای در کار نخواهد بود.
پروژهی اول: جدول قطار شخصی با Cloudflare Pages
اولین پروژه یه وباپ تکصفحهایه که زمان قطارهای سریع رو نشون میده. مشکل اینه که قطارهای سریع از سکوی خاص خودشون حرکت میکنن و اپ رسمی راهآهن همهی قطارها رو با هم نشون میده. راهحل: استفاده از huxley2، یه REST API متنباز روی دادههای Darwin که اطلاعات لحظهای قطارهای بریتانیا رو در دسترس میذاره. کد مستقیماً از مرورگر API رو فراخوانی میکنه، نتایج رو بر اساس سکو فیلتر میکنه و نتیجه رو نشون میده. فایلهای HTML و JavaScript روی Cloudflare Pages هاست شدن و با اتصال به GitHub، هر بار که کامیت جدیدی پوش بشه سایت بهروز میشه.
پروژهی دوم: داشبورد حجم معاملات FX با Workers و D1
پروژهی دوم کمی پیچیدهتره. CBOE (یه بورس بزرگ آمریکایی) هر روز دادههای حجم معاملات ارزی رو بهصورت JSON منتشر میکنه، ولی فقط ۳۰ روز اخیر رو نگه میداره. هدف اینه که این دادهها هر شب بهصورت خودکار دریافت و ذخیره بشن تا تاریخچهی بلندمدت ساخته بشه. اینجاست که Cloudflare Workers وارد میشه — یه سرویس محاسباتی کوتاهمدت که میشه بهش زمانبندی داد تا هر شب نیمهشب اجرا بشه:
async scheduled(request, env) {
const spotURL = "https://cdn.cboe.com/fx/spotInstrumentVolume.json";
const ndfURL = "https://cdn.cboe.com/fx/sefInstrumentVolume.json";
await saveData(spotURL, env);
await saveData(ndfURL, env);
return new Response("Data saved successfully");
}برای ذخیرهسازی دادهها از D1 استفاده شده که پیادهسازی ابری SQLite توسط Cloudflareه. Worker مستقیماً به دیتابیس دسترسی داره و دادهها رو بهصورت دستهای (batch) درج میکنه تا کارایی بهتری داشته باشه.
برای فرانتاند داشبورد، از Pico CSS برای استایلدهی تمیز، Chart.js برای رسم نمودارها و Grid.js برای جدولها استفاده شده. داشبورد موقع لود شدن همهی دادهها رو با یه کوئری SQL از D1 میکشه و سه چیز نشون میده: حجم کل روزانه، نمودار یه جفت ارز انتخابی از dropdown، و جدول ۱۰ جفت ارز با بالاترین حجم دیروز در مقایسه با میانگین ۳۰ روزه.
نکات کلیدی:
- Cloudflare Pages برای هاست کردن سایتهای استاتیک مناسبه و با GitHub Commit اتوماتیک بهروز میشه
- Cloudflare Workers امکان اجرای کد زمانبندیشده (Cron) رو بدون سرور اختصاصی میده
- D1 یه دیتابیس SQLite ابریه که مستقیماً به Worker متصل میشه
- کل این زیرساخت روی پلن رایگان Cloudflare کار میکنه و نیازی به کارت بانکی نداره
- ابزارهای هوش مصنوعی مثل Claude و Gemini برای طراحی معماری و استایلدهی استفاده شدن




