منصوبے کے بارے میں
GitHub Languages Card ایک Node.js/Express ویب سروس ہے جو SVG کارڈز تیار کرتی ہے جو GitHub صارف کی سب سے زیادہ استعمال شدہ پروگرامنگ زبانوں کو دکھاتی ہے، اور اسے پروفائل READMEs، پورٹ فولیوز اور دستاویزات میں ایمبیڈ کرنے کے لیے ڈیزائن کیا گیا ہے۔ ایک میزبانی شدہ ڈیمو github-languages-card.vercel.app پر دستیاب ہے، اور اس پروجیکٹ کو خود بھی ہوسٹ کیا جا سکتا ہے۔
بنیادی فعالیت: اینڈ پوائنٹ GET /api/top-languages ایک لازمی username پیرامیٹر اور ایک اختیاری theme پیرامیٹر (ڈیفالٹ pink) قبول کرتا ہے، اور ایک SVG تصویر واپس کرتا ہے جسے براہ راست مارک ڈاؤن میں ایمبیڈ کیا جا سکتا ہے۔ کارڈ میں فیصد کے ساتھ اعلیٰ زبانیں، نیز GitHub کے اعدادوشمار جیسے ریپوزٹریز، فالوورز، ستارے اور فورکس، اور اختیاری طور پر صارف کا اوتار دکھایا جاتا ہے۔ README میں کہا گیا ہے کہ کوئی ڈیٹا ذخیرہ نہیں کیا جاتا اور درخواستیں براہ راست GitHub API کو جاتی ہیں۔
تھیمز: README میں 18+ نامزد تھیمز درج ہیں، جن میں pink، dark، mint، purple، ocean، sunset، graphite، coffee، lavender، peach، neon، strawberry، darkNeon، fire، snow، hacker، white اور golden شامل ہیں۔ README میں تھیمز کی ایک درجہ بند "ٹاپ پکس" فہرست پیش کی گئی ہے، جو مصنف کی اپنی پیشکش ہے نہ کہ کوئی آزاد تشخیص۔
سیلف ہوسٹنگ: Node.js 18+ اور npm/yarn کی ضرورت ہے۔ اقدامات میں ریپوزٹری کلون کرنا، npm install چلانا، .env.example کو .env میں کاپی کرنا، اور node server.js سے شروع کرنا شامل ہے، جس کے بعد ایپ localhost:3000 پر دستیاب ہوتی ہے۔ node:18-alpine پر مبنی ایک نمونہ Dockerfile فراہم کیا گیا ہے۔ ماحولیاتی متغیرات میں PORT (ڈیفالٹ 3000)، GITHUB_TOKEN (اختیاری، اعلیٰ API شرح کی حدوں کے لیے)، NODE_ENV اور RENDER_EXTERNAL_URL شامل ہیں۔
پروجیکٹ کا ڈھانچہ: server.js مرکزی Express سرور ہے؛ public/ لینڈنگ پیج اور دستاویزات کی تصاویر رکھتا ہے؛ utils/ میں github.js (GitHub API انٹیگریشن)، svgBuilder.js (SVG کارڈ بنانے والا) اور helpers.js شامل ہیں؛ themes/ میں ہر تھیم کی تعریفیں ہیں۔ بیان کردہ ٹیک اسٹیک Node.js، Express، Axios اور SVG جنریشن ہے۔
مصنفین کی نوٹ کردہ معلوم حدود: GitHub API شرح محدود ہے (بغیر ٹوکن کے 60 درخواستیں فی گھنٹہ، GITHUB_TOKEN کے ساتھ 5000 فی گھنٹہ)، اور پہلی درخواست GitHub API کے جوابی وقت کی وجہ سے سست ہو سکتی ہے۔ یہ پروجیکٹ MIT لائسنس یافتہ ہے اور fork/branch/pull-request ورک فلو کے ذریعے شراکت کا خیرمقدم کرتا ہے۔ README میں یہ بھی نوٹ کیا گیا ہے کہ محدود علاقوں کے صارفین کو Vercel پر میزبانی شدہ ڈیمو تک پہنچنے کے لیے VPN کی ضرورت پڑ سکتی ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.