প্রকল্প সম্পর্কে
Game Sales Aggregator একটি ওপেন-সোর্স প্রকল্প (MIT লাইসেন্স নির্দেশিত) যা چندین ডিজিটাল স্টোর থেকে বর্তমান গেম অফার স্বয়ংক্রিয়ভাবে সংগ্রহ করে এবং একটি স্ট্যাটিক সাইট ও একটি টেলিগ্রাম চ্যানেলে প্রকাশ করে। স্থাপিত সংস্করণ GitHub Pages-এ উপলব্ধ।
কী ট্র্যাক করা হয়: মুক্ত Epic Games গিভে-ওয়AYS (বর্তমান এবং আগামী), Epic Games Store-এ ছুট, Steam-এ অস্থায়ীভাবে মুক্ত অফার, Steam হট ছুট (5% থেকে), καθώς সাথে Xbox Game Pass for PC-এ নতুন আসা এবং আশাপ্রত্যাশিত যোগাদু।
সাইটের বৈশিষ্ট্য: গেম শিরোনাম দ্বারা 300 ms ডেবাউন্সে খোঁজ; ক্যাটাগরি별 ফিল্টার (Epic/Steam, মুক্ত/ছুটি, নতুন Game Pass গেম); মূল্য, ছুটের শতাংশ, বা শিরোনাম দ্বারা সর্টিং; মূল্য পরিসর ফিল্টার; wishlist localStorage-এ সংরক্ষিত; গত 30 দিনের বিজ্ঞপ্তি ইতিহাস; হেডারে টগল দিয়ে ডার্ক এবং লাইট থিম; দ্বিভাষিক ইন্টারফেস (উক্রেনিয়ান এবং ইংরেজি); ফোন বা PC-এ ইনস্টলযোগ্য PWA মোড এবং Service Worker-ের মাধ্যমে অফলাইন ক্যাশিং; SEO মার্কআপ — Open Graph, Twitter Cards, JSON-LD, sitemap.xml।
কীভাবে কাজ করে: GitHub Actions-এ (ঘন্টা-wise) সময়সূচী অনুযায়ী একটি স্ক্রিপ্ট চালায় যা Steam, Epic Games, এবং Xbox Game Pass API থেকে ডেটা সংগ্রহ করে। তারপর রেপোজিটরির deals.json আপডেট হয়, sitemap.xml তৈরি হয়, React অ্যাপ তৈরি হয় এবং GitHub Pages-এ স্থাপন হয়, এবং নতুন ছুট, গিভে-ওয়AYS, এবং যোগাদু Bot API-ের মাধ্যমে টেলিগ্রাম চ্যানেলে পাঠানো হয়।
প্রযুক্তি: React 19 + TypeScript + Vite + React Router; স্টাইল — ভ্যানিলা CSS দিয়ে glassmorphism ইফেক্ট; কাস্টম লোকালাইজেশন LocaleContext-ের মাধ্যমে (uk.ts, en.ts); ডেটা সংগ্রহ — Node.js tsx-এ; PWA — vite-plugin-pwa এবং Service Worker-ের ভিত্তিতে; হোস্টিং — GitHub Pages; অটোমেশন — GitHub Actions, ঘন্টা-wise cron-এ।
স্থানীয় চালু: Node.js 20+ এবং npm প্রয়োজন। Ubuntu/Debian-এ (scripts/install.sh, --dev মোড সহ) এবং Windows-এ (scripts/install.ps1, -Dev সহ) স্বয়ংক্রিয় ইনস্টলেশন স্ক্রিপ্ট প্রদান করা হয়। ম্যানুয়াল পথ — git clone, npm install, তারপর npm run fetch (ডেটা পেতে), npm run dev (স্থানীয় সাইট), npm run build (উৎপাদন বিল্ড), npm run lint, npm test। CI-এ ubuntu-latest-এ বিল্ড, টেস্ট, এবং ডিপ্লয় চালু হয়; অ্যাপটি স্ট্যাটিক, তাই dist/ ডিরেক্টরি যে কোনও ওয়েব সার্ভারে (nginx, Caddy, ইত্যাদি) রাখা যেতে পারে।
GitHub Actions-এ বিজ্ঞপ্তি কাজ করতে, Settings → Secrets and variables → Actions-এ TELEGRAM_BOT_TOKEN এবং TELEGRAM_CHAT_ID রহস্য যোগ করুন। README-এ চ্যানেল Chat ID পাওয়ার পদ্ধতি বর্ণনা করা আছে: বটকে অ্যাডমিনিস্ট্রেটর হিসেবে যোগ করুন, চ্যানেলে একটি বার্তা পাঠান, এবং getUpdates পদ্ধতির প্রতিক্রিয়া দেখুন।
রেপোজিটরির গঠন নিম্নলিখিত coisas কভার করে: workflow .github/workflows/scheduler.yml, ডেটা public/data/deals.json, স্ক্রিপ্ট fetch-deals.ts এবং generate-sitemap.ts, কম্পোনেন্ট (GameCard এবং Epic/Steam/Xbox বিভাগ), কনটেক্সট (LocaleContext, WishlistContext), হুক (useDebounce, useInstallPWA, useLocalStorage), লোকালাইজেশন ডিকশনারি, রাউটার App.tsx, deals.json লোড করার জন্য DataContext, Service Worker src/sw.ts, এবং PWA-সহ Vite কনফিগারেশন। প্রকল্পটি মুক্ত গেম, ছুট, এবং নতুন Game Pass আইটেম সম্পর্কে বিজ্ঞপ্তি দিয়ে একটি পাবলিক টেলিগ্রাম চ্যানেলও duy trì করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.