فیلڈ نوٹس

ایک کور، کئی ایپس: whitelabel بینکنگ پلیٹ فارم کیسے کام کرتا ہے

Whitelabel بینکنگ پلیٹ فارم ایک بینکنگ کور ہے جس کا فرنٹ اینڈ بدلا جا سکتا ہے۔ کور وہ حصہ ہے جسے درست ہونا لازم ہے: ڈبل انٹری لیجر، کسٹمر اکاؤنٹس، KYC اور آن بورڈنگ، کارڈ جاری کرنا اور پروسیسنگ، کرپٹو اور اسٹیبل کوائن rails، اور ان سب کے پیچھے چلنے والا آپریٹر کنسول۔ ایپ وہ حصہ ہے جو کسٹمر دیکھتا ہے — اس کا نام، رنگ، اسکرینوں کی شکل، اور وہ فیچرز جو وہ آن کرتی ہے۔ Whitelabel کا مطلب ہے کہ ایک کور کئی چہرے پہن سکتا ہے اور ہر چہرے کے نیچے اسے دوبارہ بنانا نہیں پڑتا۔ ایک کور، کئی ایپس۔

سادہ الفاظ میں، یہ اس بارے میں دعویٰ ہے کہ جوڑ کہاں پڑتے ہیں۔ جو کچھ پیسے کو چھوتا ہے وہ مشترک ہے، آڈٹ ہوتا ہے اور ایک ہی بار ری کنسائل ہوتا ہے؛ جو کچھ کسٹمر کو چھوتا ہے وہ ہر ٹیننٹ کے لیے الگ کنفیگر ہوتا ہے۔ اصل انجینئرنگ اس لکیر کو ایماندار رکھنے میں ہے — فرنٹ اینڈ کو آزادی سے مختلف ہونے دینا جبکہ جس کور پر وہ کھڑا ہے وہ کبھی فورک نہ ہو۔ یہ اس کی چیر پھاڑ ہے کہ لکیر کیسے کھنچتی ہے، اور اسے ڈیزائن ٹوکنز سے کھینچنا فورک سے کھینچنے سے بہتر کیوں ہے۔

جو کبھی نہیں بدلتا: کور

اس نصف سے شروع کریں جسے تخلیقی ہونے کی اجازت نہیں۔ ٹرانسفر ہمیشہ ایک ہی طرح پوسٹ ہوتا ہے چاہے ایپ اسے send کہے، payment کہے یا payout: ڈبل انٹری لیجر پر دو اندراجات، اور کچھ کبھی حذف نہیں ہوتا — لیجر صرف اضافہ کرتا ہے، اس لیے ریفنڈ اصل اندراج کا حوالہ دینے والی جوابی انٹری ہے، مٹانا نہیں۔ اکاؤنٹس، بیلنسز اور اتھارائزیشن ہولڈز یہیں رہتے ہیں۔ اسی طرح KYC اور آن بورڈنگ، کارڈ جاری کرنا اور سیٹلمنٹ، اور کرپٹو و اسٹیبل کوائن rails بھی۔ ان کے پیچھے ایک آپریٹر کنسول ہے جہاں ہر مراعات یافتہ عمل کے لیے وجہ لازمی ہے اور آڈٹ لاگ میں درج ہوتا ہے۔

ان میں سے ہر ایک بالکل ایک ہی ہے، اور یہی اصل بات ہے۔ سیٹلمنٹ، ری کنسیلی ایشن اور کمپلائنس کو درست کرنا مشکل اور غلط کرنا مہنگا ہے، اس لیے انہیں ایک بار بنائیں اور ہر ایپ کو نتیجہ وراثت میں ملے۔ ٹیننٹ جب کسٹمر آن بورڈ کرتا ہے تو کور جو KYC ٹیر طے کرتا ہے وہ کسٹمر کے ساتھ کنسول میں جاتا ہے، چاہے دستاویزات کسی بھی ایپ کی اسکرینوں نے لی ہوں۔ کور کو پروا نہیں کہ اوپر والی ایپ کا نام کیا ہے — اسے اکاؤنٹس اور اندراجات نظر آتے ہیں، برانڈ نہیں۔

جو بدلتا ہے: ڈیزائن لینگویج، انفارمیشن آرکیٹیکچر، فیچر مکس

کور کے اوپر ہر چیز تین محوروں پر آزادی سے بدل سکتی ہے۔ پہلا ڈیزائن لینگویج ہے: رنگ، ٹائپوگرافی، کونوں کا گولائی پن، اسپیسنگ، موشن — برانڈ کی بصری گرامر۔ دوسرا انفارمیشن آرکیٹیکچر ہے: ہوم اسکرین پر کیا ہو، فلو کے نام اور ترتیب کیا ہو، کون سا عمل ایک ٹیپ دور ہو اور کون سا تین۔ تیسرا فیچر مکس ہے: کون سے ماڈیول آن ہوں۔ ایک سادہ ٹرانسفرز ایپ اور ایک بھرپور سپر ایپ ایک ہی کور پر چل سکتی ہیں اور ایک اسکرین بھی مشترک نہیں رکھتیں۔

/products/pay پر پانچ عملی سمتیں دکھائی گئی ہیں، اور انہیں پانچ کے مینیو کے بجائے لامحدود امکانات کی مثالوں کے طور پر پڑھنا بہتر ہے۔ Halcyon ایک صاف ایکسچینج ہے — سادہ، کم اسکرینیں، ٹریڈ سب سے آگے۔ Lumen ایک سپر ایپ ہے جہاں پیسہ گفتگو کے اندر چلتا ہے اور چیٹ پیمنٹس، سبسکرپشنز اور earn ایک ہی ہوم اسکرین بانٹتے ہیں۔ Fern ٹرانسفرز سے شروع کرتی ہے — بیچ پے آؤٹس اور اصول پر مبنی FX کنورژن سب سے پہلے۔ Volt اسٹیبل کوائن پر مبنی ڈارک بلڈ ہے جس میں تنخواہ سارٹر اور ٹیم کارڈز ہیں۔ Meridian ملٹی کرنسی ہے: USDC کے ساتھ EUR اکاؤنٹ، GBP ٹریول بیلنس، اور BTC اکاؤنٹ جہاں کارڈ ریوارڈز آتے ہیں۔ پانچ برانڈ، پانچ انفارمیشن آرکیٹیکچر، پانچ فیچر مکس — ان سب کے نیچے ایک لیجر، ایک KYC، ایک کارڈ پروسیسر۔

اس کا مطلب یہ نہیں کہ پروڈکٹ پانچ ایپس ہے۔ یہ پانچ وہ سمتیں ہیں جو یہی پائپ لائن اختیار کر سکتی ہے؛ اہم عدد پانچ نہیں، بلکہ وہ ہے جتنے ٹیننٹ آپ آن بورڈ کریں۔ ہر ایک ثبوت ہے کہ فرنٹ اینڈ ہوم اسکرین کی شکل تک مختلف ہو سکتا ہے اور اس کے نیچے کور کو خبر تک نہیں ہوتی۔

کور وہ حصہ ہے جسے آپ دوبارہ ایجاد نہیں کر سکتے؛ ایپ وہ حصہ ہے جسے آپ مقید نہیں کر سکتے۔ Whitelabel پلیٹ فارم ان دونوں جملوں کو بیک وقت سچ رکھنے کا نظم ہے۔
— Protocore · پلیٹ فارم انجینئرنگ

ٹوکن سطح کی تھیمنگ کوڈ بیس فورک کرنے سے بہتر کیوں ہے

ایک پروڈکٹ کو کئی جیسا دکھانے کے دو طریقے ہیں۔ واضح طریقہ فورک ہے: ہر کسٹمر کے لیے کوڈ بیس کاپی کریں، اس کا اسٹائل بدلیں، شپ کریں۔ یہ بس ایک ریلیز تک چلتا ہے۔ اس کے بعد ہر بگ فکس اور ہر ریگولیٹری تبدیلی N بار، N الگ ہوتی کاپیوں پر لگانی پڑتی ہے، کاپیاں ہم آہنگی کھو دیتی ہیں، اور سیکیورٹی کی جس سطح کو آپ کو سمجھنا ہے وہ کسٹمرز کی تعداد سے ضرب کھا جاتی ہے۔ فورکنگ ایک ایسے نظام کو، جسے آپ سمجھتے ہیں، کئی ایسے نظاموں میں بدل دیتی ہے جنہیں آپ نہیں سمجھتے۔

ٹوکن سطح کی تھیمنگ اسے الٹ دیتی ہے۔ کوڈ بیس ایک ہی ہے۔ برانڈ اقدار کا ایک مجموعہ ہے — رنگ، ٹائپ، radius اور اسپیسنگ کے ٹوکنز؛ کمپوننٹ کنفیگریشن؛ فیچر فلیگ سیٹ — جو بلڈ کے وقت برانڈڈ ایپ میں تبدیل ہو جاتا ہے۔ ایک ٹوکن بدلیں تو اسے پڑھنے والی ہر اسکرین ایک ساتھ بدلتی ہے، کیونکہ جو قدر ٹوکن سے آنی چاہیے وہ کہیں ہارڈ کوڈ نہیں ہوتی۔ ٹرانسفر فلو کی اصلاح ہر ٹیننٹ تک ایک ساتھ پہنچتی ہے، کیونکہ ٹھیک کرنے کو ایک ہی ٹرانسفر فلو ہے۔ برانڈ اپنی کنفیگریشن میں مختلف ہوتے ہیں، سورس میں نہیں۔

ڈیزائن سسٹم کہاں بیٹھتا ہے

ٹوکنز کوئی ڈھیلا تصور نہیں؛ یہ شپ ہونے والا آرٹیفیکٹ ہیں۔ Protocore Design System — /products/pds — میں 144 ڈیزائن ٹوکنز اور 889 یوٹیلیٹی کلاسز ہیں: وہ ذخیرۂ الفاظ جس میں ہر ایپ کی تھیمنگ ہوتی ہے۔ یہ dark-first ہے، ٹوکن سے چلتا ہے، اور بطورِ طے شدہ radius صفر رکھتا ہے، اور یہی ٹوکن سیٹ ویب، .NET اور نیٹو کے لیے جاری ہوتا ہے، اس لیے ایک بار طے کیا گیا رنگ React اسکرین، ڈیسک ٹاپ کنسول اور نیٹو موبائل بلڈ میں ایک ہی رنگ ہے۔ ٹیننٹ کا برانڈ اسی ذخیرۂ الفاظ پر اوور رائیڈز کی صورت میں ظاہر ہوتا ہے، اسی لیے ایپ کی نئی اسکن کنفیگریشن کی تبدیلی ہے، دوبارہ تحریر نہیں۔

اسی سے فرنٹ اینڈ واقعی آزاد ہوتا ہے، کسی ٹیمپلیٹ کے اندر کی آزادی نہیں۔ چونکہ ڈیزائن لینگویج الگ اسٹائل شیٹس کے بجائے ٹوکنز اور یوٹیلیٹی کلاسز میں رہتی ہے، ڈیزائنر ٹیننٹ کو ریفرنس بلڈ سے بہت دور لے جا سکتا ہے — اپنا پیلیٹ، ٹائپ، کثافت اور ردھم — کور کو چھوئے یا ایپ کو فورک کیے بغیر۔ رنگ گہرا چڑھتا ہے، مگر پھر بھی صرف رنگ ہے؛ اس کے نیچے کی پلمبنگ مشترک ہے۔

ایپ ایک کنفیگریشن ہے، بلڈ نہیں

فیچر مکس بھی اسی اصول پر چلتا ہے۔ ہر ماڈیول — چیٹ پیمنٹس، earn، کرپٹو، کارڈز، سبسکرپشنز، ٹیم کارڈز، ریفرلز — ہر ٹیننٹ کے لیے ایک سوئچ ہے، اور فلیگ وسیع پیمانے پر آنے سے پہلے صارفین کے ایک حصے تک رول آؤٹ ہو سکتا ہے۔ آپریٹرز انہیں کنفیگ پینل سے پلٹتے ہیں، ڈپلائے سے نہیں۔ لہٰذا سادہ ٹرانسفرز ایپ اور مکمل سپر ایپ کا فرق دو پروجیکٹس کا نہیں؛ ایک ہی پروجیکٹ کی دو کنفیگریشنز کا ہے۔ ہر ٹیننٹ جس ریفرنس ایپ سے شروع کرتا ہے وہ ایک غیر جانبدار، Protocore برانڈڈ بلڈ ہے جس میں پورا مینیو موجود ہے — ہر whitelabel وہی بلڈ ہے جس میں ٹوکنز اوور رائیڈ ہوں اور ماڈیول آن یا آف کیے گئے ہوں۔

ایمانداری سے حد

ایک کور، کئی ایپس کی مشینری تبھی کارآمد ہے جب آپ کے پاس واقعی کئی ایپس ہوں — یا ایک ایسی ایپ جسے آپ وقت کے ساتھ دوبارہ اسکن، دوبارہ ترتیب اور دوبارہ اسکوپ کرنا چاہتے ہوں، ہر بار بینک نئے سرے سے بنائے بغیر۔ اگر آپ ایک مقررہ ایپ شپ کر رہے ہیں جو کبھی دوسرا برانڈ نہیں پہنے گی، تو آپ کو whitelabel پلیٹ فارم نہیں چاہیے؛ آپ کو ایپ چاہیے۔ اس کی قدر وہاں ہے جس کے لیے یہ بنا ہے: ایک پلیٹ فارم جو ٹیننٹ در ٹیننٹ برانڈڈ بینکنگ پروڈکٹس کھڑی کرتا ہے، ہر ایک واضح طور پر اپنی، کوئی بھی فورک نہیں۔ مکمل چیر پھاڑ — پانچ سمتیں، ریفرنس ایپ اور ان کے پیچھے آپریٹر کنسول — /products/pay پر ہے، اور نیچے کا ڈیزائن سسٹم /products/pds پر۔

کوئی سسٹم بنوانا ہے؟

ہمیں مسئلہ بتائیں۔ ہم آرکیٹیکچر اور منصوبے کے ساتھ واپس آئیں گے۔