# بینکنگ ایپ بنائیں حصہ 2: لاگ ان اور رجسٹریشن فارم بنائیں ## پری لیکچر کوئز [پری لیکچر کوئز](https://ff-quizzes.netlify.app/web/quiz/43) کیا آپ نے کبھی آن لائن فارم بھرا ہے اور آپ کا ای میل فارمیٹ مسترد ہو گیا؟ یا سب کچھ ختم ہو گیا جب آپ نے سبمٹ پر کلک کیا؟ ہم سب نے ان پریشان کن تجربات کا سامنا کیا ہے۔ فارمز آپ کے صارفین اور آپ کی ایپلیکیشن کی فعالیت کے درمیان پل ہیں۔ جیسے ہوائی جہاز کے کنٹرولرز کے محتاط پروٹوکول جو جہازوں کو محفوظ طریقے سے ان کی منزل تک پہنچاتے ہیں، اچھے ڈیزائن کردہ فارمز واضح فیڈبیک فراہم کرتے ہیں اور مہنگی غلطیوں کو روکتے ہیں۔ دوسری طرف، خراب فارمز صارفین کو اتنی جلدی دور کر سکتے ہیں جیسے مصروف ہوائی اڈے میں غلط فہمی۔ اس سبق میں، ہم آپ کی جامد بینکنگ ایپ کو ایک انٹرایکٹو ایپلیکیشن میں تبدیل کریں گے۔ آپ سیکھیں گے کہ ایسے فارمز کیسے بنائیں جو صارف کے ان پٹ کی تصدیق کریں، سرورز کے ساتھ بات چیت کریں، اور مددگار فیڈبیک فراہم کریں۔ اسے اس کنٹرول انٹرفیس کی تعمیر کے طور پر سوچیں جو صارفین کو آپ کی ایپلیکیشن کی خصوصیات کو نیویگیٹ کرنے دیتا ہے۔ آخر میں، آپ کے پاس ایک مکمل لاگ ان اور رجسٹریشن سسٹم ہوگا جس میں تصدیق شامل ہوگی جو صارفین کو مایوسی کے بجائے کامیابی کی طرف رہنمائی کرے گا۔ ## پیشگی شرائط فارمز بنانا شروع کرنے سے پہلے، آئیے یقینی بنائیں کہ آپ نے سب کچھ صحیح طریقے سے سیٹ اپ کیا ہے۔ یہ سبق وہیں سے شروع ہوتا ہے جہاں ہم نے پچھلے سبق میں چھوڑا تھا، لہذا اگر آپ نے آگے بڑھ کر سبق چھوڑ دیا ہے، تو آپ پہلے بنیادی باتیں کام کرنے کے لیے واپس جا سکتے ہیں۔ ### مطلوبہ سیٹ اپ | جزو | حیثیت | تفصیل | |-----------|--------|-------------| | [HTML ٹیمپلیٹس](../1-template-route/README.md) | ✅ ضروری | آپ کی بنیادی بینکنگ ایپ کی ساخت | | [Node.js](https://nodejs.org) | ✅ ضروری | سرور کے لیے جاوا اسکرپٹ رن ٹائم | | [بینک API سرور](../api/README.md) | ✅ ضروری | ڈیٹا اسٹوریج کے لیے بیک اینڈ سروس | > 💡 **ترقیاتی مشورہ**: آپ دو الگ الگ سرورز کو ایک ساتھ چلائیں گے – ایک آپ کی فرنٹ اینڈ بینکنگ ایپ کے لیے اور دوسرا بیک اینڈ API کے لیے۔ یہ سیٹ اپ حقیقی دنیا کی ترقی کی عکاسی کرتا ہے جہاں فرنٹ اینڈ اور بیک اینڈ سروسز آزادانہ طور پر کام کرتی ہیں۔ ### سرور کنفیگریشن **آپ کے ترقیاتی ماحول میں شامل ہوگا:** - **فرنٹ اینڈ سرور**: آپ کی بینکنگ ایپ فراہم کرتا ہے (عام طور پر پورٹ `3000`) - **بیک اینڈ API سرور**: ڈیٹا اسٹوریج اور بازیافت کو ہینڈل کرتا ہے (پورٹ `5000`) - **دونوں سرورز** بغیر کسی تنازع کے ایک ساتھ چل سکتے ہیں **اپنے API کنکشن کی جانچ کریں:** ```bash curl http://localhost:5000/api # Expected response: "Bank API v1.0.0" ``` **اگر آپ API ورژن کا جواب دیکھتے ہیں، تو آپ آگے بڑھنے کے لیے تیار ہیں!** --- ## HTML فارمز اور کنٹرولز کو سمجھنا HTML فارمز وہ طریقہ ہیں جس کے ذریعے صارفین آپ کی ویب ایپلیکیشن کے ساتھ بات چیت کرتے ہیں۔ انہیں 19ویں صدی میں دور دراز جگہوں کو جوڑنے والے ٹیلی گراف سسٹم کے طور پر سوچیں – یہ صارف کے ارادے اور ایپلیکیشن کے ردعمل کے درمیان مواصلاتی پروٹوکول ہیں۔ جب سوچ سمجھ کر ڈیزائن کیا جائے تو وہ غلطیوں کو پکڑتے ہیں، ان پٹ فارمیٹنگ کی رہنمائی کرتے ہیں، اور مددگار تجاویز فراہم کرتے ہیں۔ جدید فارمز بنیادی ٹیکسٹ ان پٹ سے نمایاں طور پر زیادہ نفیس ہیں۔ HTML5 نے خصوصی ان پٹ اقسام متعارف کروائیں جو خود بخود ای میل کی تصدیق، نمبر فارمیٹنگ، اور تاریخ کا انتخاب کرتی ہیں۔ یہ بہتریاں رسائی اور موبائل صارف کے تجربات دونوں کے لیے فائدہ مند ہیں۔ ### ضروری فارم عناصر **ہر فارم کو جن تعمیراتی بلاکس کی ضرورت ہوتی ہے:** ```html
``` **یہ کوڈ کیا کرتا ہے:** - **ایک فارم کنٹینر بناتا ہے** جس میں منفرد شناخت کنندہ ہوتا ہے - **ڈیٹا جمع کرانے کے لیے HTTP طریقہ کار کی وضاحت کرتا ہے** - **لیبلز کو ان پٹس کے ساتھ منسلک کرتا ہے تاکہ رسائی کو بہتر بنایا جا سکے** - **فارم کو پروسیس کرنے کے لیے ایک سبمٹ بٹن کی وضاحت کرتا ہے** ### جدید ان پٹ اقسام اور خصوصیات | ان پٹ قسم | مقصد | مثال استعمال | |------------|---------|---------------| | `text` | عمومی ٹیکسٹ ان پٹ | `` | | `email` | ای میل کی تصدیق | `` | | `password` | چھپے ہوئے ٹیکسٹ انٹری | `` | | `number` | عددی ان پٹ | `` | | `tel` | فون نمبر | `` | > 💡 **جدید HTML5 فائدہ**: مخصوص ان پٹ اقسام کا استعمال خودکار تصدیق، مناسب موبائل کی بورڈز، اور اضافی جاوا اسکرپٹ کے بغیر بہتر رسائی کی حمایت فراہم کرتا ہے! ### بٹن کی اقسام اور رویہ ```html ``` **ہر بٹن کی قسم کیا کرتی ہے:** - **سبمٹ بٹن**: فارم جمع کرانے کو متحرک کرتا ہے اور ڈیٹا کو مخصوص اینڈ پوائنٹ پر بھیجتا ہے - **ری سیٹ بٹن**: تمام فارم فیلڈز کو ان کی ابتدائی حالت میں بحال کرتا ہے - **عام بٹن**: کوئی ڈیفالٹ رویہ فراہم نہیں کرتا، فعالیت کے لیے کسٹم جاوا اسکرپٹ کی ضرورت ہوتی ہے > ⚠️ **اہم نوٹ**: `` عنصر خود بند ہونے والا ہے اور بند کرنے والے ٹیگ کی ضرورت نہیں ہے۔ جدید بہترین عمل `` کو بغیر سلیش کے لکھنا ہے۔ ### اپنا لاگ ان فارم بنانا اب آئیے ایک عملی لاگ ان فارم بنائیں جو جدید HTML فارم کے طریقوں کو ظاہر کرتا ہے۔ ہم بنیادی ڈھانچے سے شروع کریں گے اور اسے رسائی کی خصوصیات اور تصدیق کے ساتھ بتدریج بہتر بنائیں گے۔ ```html