منصوبے کے بارے میں

Game Sales Aggregator ایک اوپن‑سورس پروجیکٹ ہے (MIT لائسنس واضح ہے) جو خودکار طور پر متعدد ڈیجیٹل اسٹورز سے موجودہ گیم آفرز جمع کرتا ہے اور انہیں ایک سٹیٹک سائٹ اور Telegram چینل پر شائع کرتا ہے۔ تعینات شدہ ورژن GitHub Pages پر دستیاب ہے۔ ٹریک کی جانے والی چیزیں: Epic Games کی مفت گیمز (موجودہ اور آئندہ)، Epic Games Store پر ڈسکاؤنٹس، Steam پر عارضی طور پر مفت آفرز، Steam کے ہاٹ ڈسکاؤنٹس (5٪ سے شروع)، اور Xbox Game Pass for PC کے نئے شامل ہونے والے گیمز اور متوقع اضافہ۔ سائٹ کی خصوصیات: گیم کے عنوان سے 300 ms ڈیبونس کے ساتھ سرچ؛ کیٹیگریز (Epic/Steam، مفت/ڈسکاؤنٹ شدہ، نئے Game Pass گیمز) کے ذریعے فلٹرنگ؛ قیمت، ڈسکاؤنٹ فیصد یا عنوان کے لحاظ سے س sorting؛ قیمت کی رینج فلٹر؛ wishlist کو localStorage میں محفوظ کرنا؛ پچھلے 30 دنوں کی نوٹیفیکیشن ہسٹری؛ ہیڈر میں ٹوگل کے ساتھ ڈارک اور لائٹ تھیمز؛ دو لسانی انٹرفیس (یوکرینین اور انگریزی); PWA موڈ جس میں فون یا PC پر انسٹالیشن اور Service Worker کے ذریعے آف لائن کیشنگ؛ SEO مارک اپ — Open Graph، Twitter Cards، JSON‑LD، sitemap.xml۔ یہ کیسے کام کرتا ہے: GitHub Actions کے شیڈول (گھنٹہ وار) پر ایک اسکرپٹ چلتا ہے جو Steam، Epic Games اور Xbox Game Pass کے APIs سے ڈیٹا جمع کرتا ہے۔ پھر ریپوزٹری میں deals.json اپ ڈیٹ ہوتا ہے، sitemap.xml تیار کی جاتی ہے، React ایپ بنائی اور GitHub Pages پر ڈپلائے کی جاتی ہے، اور نئی ڈسکاؤنٹس، گفٹ وییز اور ایڈیشنز Bot API کے ذریعے Telegram چینل پر بھیجی جاتی ہیں۔ ٹیکنالوجیز: React 19 + TypeScript + Vite + React Router؛ اسٹائلز — گلاس مورفزم اثرات کے ساتھ سادہ CSS؛ کسٹم لوکلائزیشن LocaleContext (uk.ts, en.ts) کے ذریعے؛ ڈیٹا کلیکشن — Node.js کے ساتھ tsx؛ PWA vite-plugin-pwa اور Service Worker پر مبنی؛ ہوسٹنگ — GitHub Pages؛ آٹومیشن — گھنٹہ وار کرون کے ساتھ GitHub Actions۔ لوکل لانچ: 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 اور Variables کے تحت TELEGRAM_BOT_TOKEN اور TELEGRAM_CHAT_ID شامل کریں، پھر Actions۔ README میں چینل کا Chat ID حاصل کرنے کا طریقہ بیان ہے: بوٹ کو ایڈمنسٹریٹر بنائیں، چینل پر پیغام بھیجیں، اور getUpdates میتھڈ کے ردعمل کو دیکھیں۔ ریپوزٹری کی ساخت میں ورک فلو .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، DataContext جو deals.json لوڈ کرتا ہے، Service Worker src/sw.ts، اور Vite کی PWA کنفیگریشن شامل ہیں۔ پروجیکٹ ایک عوامی Telegram چینل بھی چلائے گا جس میں مفت گیمز، ڈسکاؤنٹس اور نئے Game Pass آئٹمز کی نوٹیفیکیشنز ہوتی ہیں۔