परिचय
यह वीडियो बैक एंड डेवलपमेंट सीखने वालों के लिए है। इसमें जावास्क्रिप्ट से शुरू करके डेटाबेस, रेस्ट एपीआई और क्लाउड स्टोरेज जैसे टॉपिक्स को एक लाइन में समझाया गया है।
बैक एंड क्या है?
- सर्वर: एक मशीन जिसका अपना OS, प्रोसेसर और रैम होता है। इसे प्रोग्राम किया जा सकता है कि वह यूजर की रिक्वेस्ट का प्रॉपर रिस्पांस दे।
- उदाहरण: Amazon वेबसाइट में सर्च करने पर प्रोडक्ट दिखना, या Instagram में पोस्ट क्रिएट करना।
टूल्स और सेटअप
- Node js: जावास्क्रिप्ट को रन करने के लिए। इसे npm की मदद से इंस्टॉल करें और
node -vकमांड से वेरिफाई करें। इसकी पूरी जानकारी के लिए देखें Node.js हिंदी Tutorial: इंस्टॉलेशन से MongoDB तक पूरा कोर्स। - पैकेजेस (Packages): कोई और डेवलपर लिखा हुआ कोड जिसे हम यूज़ कर सकते हैं। ये कोड एनपीएम जेएस (npmjs.com) पर स्टोर होता है।
- इंस्टॉलेशन प्रोसेस: कमांड
npm i <पैकेज-नाम>रन करने से कोड आपके सिस्टम मेंnode_modulesफोल्डर में आ जाता है।
फोल्डर स्ट्रक्चर
- node_modules: यहां सभी इंस्टॉल किए गए पैकेजेस का कोड स्टोर होता है।
- package.json: यह फाइल बताती है कि आपका कोड किन पैकेजेस पर डिपेंड करता है।
- package-lock.json: यह फाइल हर पैकेज के डिपेंडेंसी चेन को ट्रैक करती है।
सर्वर क्रिएट करना
एक्सप्रेस पैकेज
- क्यों: सर्वर को जल्दी और अच्छे से क्रिएट करने के लिए।
- इंस्टॉलेशन:
npm i expressफिरserver.jsफाइल बनाएं। एक्सप्रेस के बारे में और अधिक जानने के लिए देखें बैकएंड सीरीज: एक्सप्रेस सर्वर बनाएं और प्रोडक्शन पर डिप्लॉय करें (प्रैक्टिकल)।
सर्वर कोड
const express = require('express');
const app = express(); // सर्वर क्रिएट हो गया
// सर्वर को प्रोग्राम करें
app.get('/', (req, res) => {
res.send('Hello World');
});
app.get('/about', (req, res) => {
res.send('About Page');
});
// सर्वर स्टार्ट करें
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
पोर्ट क्या है?
- पोर्ट एक नंबर है जो यह बताता है कि सर्वर किस 'रूम' (एप्लिकेशन) से कम्युनिकेट करेगा।
- उदाहरण: मेल सर्वर पोर्ट 25, फाइल सिस्टम पोर्ट 20 पर चलते हैं। हमारा सर्वर पोर्ट 3000 पर चलेगा।
req और res
- req (request): फ्रंट एंड से आने वाले सभी डेटा को एक्सेस करने के लिए।
- res (response): बैक एंड से फ्रंट एंड को डेटा भेजने के लिए।
REST API
- API (Application Programming Interface): दो अलग-अलग एप्लिकेशन (जैसे फ्रंट एंड और बैक एंड) को कम्युनिकेट करने के लिए रूल्स और प्रोटोकॉल का सेट। अधिक जानकारी के लिए देखें बैकएंड सीरीज शुरू: उत्पादन में पहला ऐप बनाना और तैनात करना।
- REST API का प्रकार: यह एक आर्किटेक्चरल स्टाइल है जो HTTP प्रोटोकॉल और मेथड्स (GET, POST, PUT, DELETE) का उपयोग करता है।
निष्कर्ष
इस वीडियो में बैक एंड डेवलपमेंट के बेसिक्स, टूल्स (Node js, npm, Express), और एक प्रोडक्शन-लेवल प्रोजेक्ट बनाने की प्रक्रिया को विस्तार से समझाया गया है। यदि आप अधिक एडवांस फ्रेमवर्क सीखना चाहते हैं, तो देखें NestJS बैकएंड फ्रेमवर्क कोर्स: बिगिनर से एडवांस तक पूरी गाइड।
भैया, हमें फ्रंट एंड ही पढ़ाना चाहिए। बच्चे डरते हैं बैक एंड से। दे [संगीत] फील इट सो कॉम्प्लिकेटेड। आई कैन गारंटी
यू दिस। अगर कोई स्टूडेंट इस वीडियो को एंड तक देखता है, तो उसका डर हट जाएगा। [संगीत] लेकिन कैसे? टू वर्ड्स
स्ट्रक्चरर्ड लर्निंग। आपको फ्लो समझने में प्रॉब्लम आती है। रिक्वेस्ट कहां से आई? सर्वर ने क्या किया? कॉनसेप्ट
डिस्कनेक्टेड फील होते हैं। इस वीडियो में मैंने जावास्क्रिप्ट से स्टार्ट करते हुए डेटाबेस डिजाइनिंग, रेस्ट एपीआई, क्लाउड
स्टोरेज जैसे और भी बहुत सारे टॉपिक लाइन से स्ट्रक्चरर्ड वे में पढ़ाए हैं। हम हर 25 मिनट में एक नया टॉपिक स्टार्ट करेंगे
एंड सारे टॉपिक्स को मिलाकर फाइनली [संगीत] एक फुल फ्लेजेड प्रोजेक्ट क्रिएट करेंगे।
सच दैट आप एंड तक क्लियरली समझ पाओगे कि एक रियल बैक एंड सिस्टम स्टार्ट [संगीत] से रिस्पांस तक काम कैसे करता है। दिस इज
कंप्लीट बैक एंड विद प्रोजेक्ट्स बाय शेर [संगीत] कोडिंग स्कूल। लेट्स बिगिन। बैक
[नाक से की जाने वाली आवाज़] एंड स्टार्ट करने से पहले एक सर्वर क्या होता है वो समझें। सर्वर एक मशीन होती है जिसके पास
खुद का एक ऑपरेटिंग सिस्टम है। खुद का एक प्रोसेसर है और खुद की वहां पे रैम प्रेजेंट रहती है। तो ये जो मशीन है ये
हमारी मशीन से किस तरीके से अलग है? हमारी लैपटॉप से कैसे अलग है? इस मशीन को हम प्रोग्राम करते हैं कि यूजर जो भी
रिक्वेस्ट करेगा उसका एक प्रॉपर रिस्पांस हम उसे दे सकते हैं। अब ये प्रोग्राम कैसे करते हैं और ये रिक्वेस्ट रिस्पांस क्या
है? तो ये सारी चीजें हमने वीडियो के अंदर बहुत अच्छे से देखी है। लेकिन इसका एक एग्जांपल सुनो क्या कि Amazon की जो
वेबसाइट है तो उस वेबसाइट में एक सर्च बार है। उस सर्च बार पे अगर आप कुछ भी सर्च करते हो तो उससे रिलेटेड प्रोडक्ट आपको
वहां पे सारे लिस्ट हो जाते हैं। तो Amazon का जो सर्वर है ऑफ कोर्स उसका भी एक सर्वर है। तो Amazon के सर्वर को इस
तरीके से प्रोग्राम किया गया है कि भाई यूजर जो भी सर्च करना चाह रहा है उससे रिलेटेड सारे प्रोडक्ट यूजर को रिस्पांस
में शो करने हैं। अब इसका और एक एग्जांपल लेता हूं मैं। तो एक और एग्जांपल क्या है? Instagram की जो आपकी एप्लीकेशन है उसमें
अगर आपको एक पोस्ट क्रिएट करनी है तो पोस्ट क्रिएट करने के लिए आप इमेज सेलेक्ट करोगे, कैप्शन सेलेक्ट करोगे और फिर जो
आपका Instagram का सर्वर है उसे प्रोग्राम इस तरीके से किया गया कि आपके अकाउंट में वो आपके अकाउंट में वो पर्टिकुलर पोस्ट
लिस्ट हो जाए और साथ ही साथ जो भी आपके फॉलोवर्स रहेंगे उन फॉलोवर्स को वो पोस्ट दिख सके ताकि उसको वो लाइक कर पाएं। तो इस
चीज के लिए Instagram के सर्वर को प्रोग्राम किया गया था। सर्वर को कैसे प्रोग्राम करते हैं? सर्वर को कैसे क्रिएट
करते हैं। साथ ही साथ जो आपने सर्वर क्रिएट किया है उसको उसको हम किस तरीके से डिप्लॉय करते हैं ये भी हमें यहां पे
समझना रहेगा। तो अब नेक्स्ट पार्ट में आगे बढ़ते हैं जिसमें हमें देखना है कि भाई हम कैसे एक सर्वर को क्रिएट कर सकते हैं। और
सर्वर कैसे क्रिएट करते हैं भाई? मशीन तो हमारे पास ऑलरेडी है। मशीन के बाद हमें उस मशीन को प्रोग्राम करना है और प्रोग्राम
करने के लिए हमें एक प्रोग्रामिंग लैंग्वेज की जरूरत पड़ती है। तो कौन सी प्रोग्रामिंग लैंग्वेज का हम यूज़ करेंगे
हमारे सर्वर को प्रोग्राम करने के लिए? तो प्रोग्रामिंग लैंग्वेज बहुत सारी है। हमारे पास जावा है, Python है, डॉट नेट,
रूबी फिर गो है। तो बहुत सारी प्रोग्रामिंग लैंग्वेज हमारे पास प्रेजेंट है। लेकिन हम कौन सी यूज़ करेंगे इस वीडियो
के अंदर? जावास्क्रिप्ट का यूज़ कर रहे होंगे। तो जावास्क्रिप्ट का यूज़ क्यों कर रहे हैं? क्योंकि भाई जावास्क्रिप्ट की
हेल्प से आप काफी अच्छे ज्यादा अच्छे सर्वर क्रिएट कर सकते हो। जावास्क्रिप्ट को रन करने के लिए एक चीज चाहिए रहती है
जिसका नाम क्या है? नोट js। तो नोट JS पहले हम हमारे सिस्टम पे इंस्टॉल करना रहेगा और नोट JS इंस्टॉल करने के बाद हम
जावास्क्रिप्ट को रन कर पाएंगे। देन हम यहां पे सर्वर को प्रोग्राम करेंगे। तो देखो अब यहां पे स्क्रीन शेयर करूंगा।
देखो सबसे पहले नोट js हमें यहां पे डाउनलोड करना रहेगा। तो नोट js डाउनलोड करने के लिए नोट js डाउनलोड आप सर्च करो।
सर्च करने के बाद नोट js.org ये आपकी वेबसाइट आएगी। इस वेबसाइट पे आना। इस वेबसाइट पे आने के बाद अगर आप Windows यूज़
कर रहे हो तो मेरा सजेशन रहेगा कि ये इन कमांड्स को अभी आप फॉलो मत करना। इधर पे जो प्रीबिल्ट नोट जेएस है फॉर Windows और
जो भी आपका आर्किटेक्चर है X X64 X86 या आर्म 64 जो भी आपका आर्किटेक्चर है उस आर्किटेक्चर के अकॉर्डिंग आप यहां पे
डाउनलोड करो डाउनलोड करने के बाद ये जो MSI फाइल रहेगी डाउनलोड करो इंस्टॉल करना और इंस्टॉल करने के बाद आपको एक कमांड और
रन करनी है। मैं बता रहा हूं कौन सी। तो Windows के लिए ये वाला सेटअप रहेगा। और मैं इसके लिए मेरा सजेशन रहेगा कि आप यहां
पे ब्रू की हेल्प से ये जो आपकी ब्रू वाली कमांड है इन कमांड्स को आप रन करो और अपने सिस्टम पे नोट js को डाउनलोड करना। तो मैक
को इसके लिए आप सीएलआई के थ्रू कर लो और Windows के लिए आप MSI फाइल के थ्रू कर सकते हो। ये सबसे इजी तरीके यहां पे पढ़ने
वाले हैं। तो अब देखो जब तुम नोट js इंस्टॉल कर लोगे तो इंस्टॉल करने के बाद टर्मिनल ओपन करना या सीएमडी पावर शेल
विंडs के अकॉर्डिंग तो वहां पे जैसे ही तुम पावरशेल ओपन करोगे या टर्मिनल ओपन करोगे तो इधर पे एक कमांड डालना नोड स्पेस
हफन वी एंटर तो इधर पे एक नंबर आएगा। अब ये जो नंबर आ रहा है मेरे सिस्टम पे और जो तुम्हारे सिस्टम पे नंबर आ रहा होगा वो
अलग हो सकता है तो बहुत बड़ी प्रॉब्लम नहीं है वो क्योंकि तुम हो सकता है बहुत देर के बाद इस वीडियो को देख रहे हो 6
महीने के बाद देख रहे हो तो ये नंबर में चेंजेस आ सकते हैं बिल्कुल आ सकते हैं तो कोई भी उसमें इशू नहीं है कोई प्रॉब्लम
नहीं है वहां पे ठीक तो इससे हुआ क्या है कि भाई अगर यहां पे नंबर आ रहा है मतलब ये नोट js आपके सिस्टम पे इंस्टॉल हो चुका है
और यहां पे नंबर नहीं आ रहा है तो इसका मतलब ये है कि भाई नोट js अभी आपके सिस्टम पे इंस्टॉल नहीं हुआ है आप फिर से इस
प्रोसेस को रिपीट करो और फिगर आउट करो कि भाई कहां पे प्रॉब्लम हो रही है और नोट js आप अपने सिस्टम पे इंस्टॉल करो। अब देखो
नस आपने अपने सिस्टम पे इंस्टॉल कर लिया। अब मैं जावास्क्रिप्ट को रन कर सकता हूं मेरे सिस्टम पे। इतना मैं बिल्कुल कर सकता
हूं। अब सुनो अब हमें यहां पे एक कांसेप्ट समझना है क्या? कि भाई पैकेजेस क्या होते हैं? तो पैकेजेस क्या है? एक ऐसा कोड
जिसको कोई और डेवलपर ने लिखा है लेकिन स्टिल हम उस कोड को यूज़ कर सकते हैं। तो होता क्या है? सुनो। ऐसे बहुत सारी चीजें
होती हैं कि भाई जिसमें आपको बहुत सारी चीजें रिपीट करनी पड़ती है। मतलब क्या? मतलब देखो हो सकता है ना कि भाई किसी और
ने भी सर्वर क्रिएट किया। हां बिल्कुल भाई आप ऐसे तो नहीं हो पहले तो हो नहीं जो अपना खुद का सर्वर क्रिएट कर रहे हो और
देन उसको आप रन करने वाले हो किसी और ने पहले भी सर्वर क्रिएट करके रखे हैं। तो अब हुआ क्या हो गया कि भई सर्वर क्रिएट करने
के लिए बहुत सारा कोड लिखना पड़ता है। तो अब उसने किया क्या कि भाई किसी और को यह बहुत सारा बेसिक कोड ना लिखना पड़े। वो
डायरेक्ट सर् सर्वर क्रिएट करना स्टार्ट कर दे। तो उसने क्या किया? जो एक बेसिक कोड होता है जिसके बिना सर्वर स्टार्ट
किया ही नहीं जा सकता। उस कोड को उसने कन्वर्ट किया पैकेज में और पैकेज पैकेज को फिर कहां पे पब्लिश कर दिया? एनपीएम की
वेबसाइट पे। यहां पे उसने डाल दिया। तो पैकेजेस क्या होते हैं? पैकेजेस एक ऐसा कोड होता है जिसको कोई और डेवलपर लिख रहे
होते हैं। लेकिन स्टिल हम उसको यूज़ कर सकते हैं। अच्छा। तो ये पैकेजेस का कोड स्टोर कहां पे होता है? ये पैकेजेस का कोड
स्टोर होता है एनपीएम जेएस की वेबसाइट पे। मतलब क्या? देखो अगर मैं स्क्रीन शेयर वापस करता हूं तो देखो यहां पे अगर तुम
आओगे इधर पे सर्च करना npmjs.com npmjs.com की ये जो वेबसाइट है तुम्हारी दिस वन तो इस वेबसाइट के अंदर तुम्हारे
पास बहुत सारे पैकेजेस स्टोर हो रहे हैं। तो पैकेजेस का जो बहुत सारा कोड है वो यहां पे स्टोर हो रहा होता है। इधर पे अब
पैकेजेस बहुत सारे हैं। हमारे पास पैकेजेस बहुत सारे हैं। पहले मैं तुम्हें यूज़ करके दिखा रहा हूं कि भ एक पैकेज को तुम किस
तरीके से यूज़ कर सकते हो। तो देखो यहां पे आते हैं जो हमारा कैटमी करके हमारे पास एक पैकेज होता है कैटमी सो जो हमारा कैटमी
पैकेज रहेगा सो इस पैकेज को मैंने किया यहां पे सर्च सर्च किया तो सर्च करने के बाद यहां पे एक पैकेज आता है कैटमी का तो
ये जो catमी पैकेज है अब ये कैटमी पैकेज कैसा है क्या ये भी एक हमारा पैकेज है जिसको किसी और डेवलपर ने लिखा था लेकिन
स्टिल मैं इसका यूज़ कर सकता हूं अच्छा ये इस पैकेज को किस डेवल डेवलपर ने लिखा था तो ये जो कॉल व्यू करके आई थिंक एक डेवलपर
है इस डेवलपर ने इस पैकेज के कोड को लिखा है और अब वो चाह रहा है कि भाई तुम भी इसको यूज़ कर लो। तो यह कॉल व्यू जो अपना
डेवलपर है इस पर्टिकुलर डेवलपर ने हमारे पैकेज का कोड लिखा है और इस पैकेज को उसने पब्लिश कर दिया एनपीएम की वेबसाइट पे ताकि
हम उसको यूज़ कर सकें। अच्छा इसका ये जो पैकेज का कोड है ये कहां पे मिलेगा? तो ये जो कोड तुम्हारा एक टैब रहेगा इस पे जब
तुम आओगे तो यहां पे देखो cmd.js index.js package.js scst.js यहां पे इतनी सारी चीजें तुम्हें यहां पे मिल रही होंगी। तो
देखो अब हुआ क्या कि यहां पे जो पैकेज मुझे यूज़ करना है वो भी कौन सा है? कैटमी तो क्या से हम सर्वर बनाने वाले हैं? नहीं
ऐसा नहीं है। कैटमी से सर्वर नहीं बनाने वाले। पैकेजेस कैसे यूज़ करते हैं बस वो मैं तुम्हें यहां पे बताने वाला हूं।
सर्वर हम दूसरे पैकेज से क्रिएट करेंगे। बस पैकेजेस कैसे यूज़ करते हैं वो मैं तुम्हें यहां पे बता रहा हूं। तो देखो
सबसे पहले अगर तुम्हें कोई भी पैकेज यूज़ करना है तो वो उसका कोड कहां पे रहता है? उसका कोड रहता है एनपीएस की वेबसाइट पे।
एनपीए जेएस की वेबसाइट पे उसका कोड प्रेजेंट रहेगा। तो तुम्हें एनपीएम जेएस की वेबसाइट से कोड को लेकर आना रहेगा
तुम्हारे सिस्टम पे और तुम्हारे सिस्टम पे लेकर आने की इस प्रोसेस को हम बोलते क्या हैं? पैकेज को इंस्टॉल करना। अच्छा ये
पैकेज इंस्टॉल करना मतलब क्या होता है? सुनो पैकेज इंस्टॉल करने का मतलब होता है कि भाई जो कोड एनपीएम जेएस की वेबसाइट पे
है उस वेबसाइट से हमारे सिस्टम पे लेकर आने कोड को हम क्या बोलेंगे? पैकेज को इंस्टॉल करना। तो पैकेज इंस्टॉल करने के
लिए एक कमांड होती है। यहां पे एनपीएम आईcडमी इसको करो कॉपी। कॉपी करने के बाद एक वीएस कोड पे आप फोल्डर क्रिएट करना। सो
ये रहा अपना एक वीएस कोड पे फोल्डर। इसे भी हटा सकते हैं। देखो एक फोल्डर मैंने यहां पे क्रिएट किया हूं कंप्लीट बैक एंड
और इस फोल्डर के अंदर मैं अपने पैकेज को इंस्टॉल करने वाला हूं। तो देखो पैकेज इंस्टॉल करने के लिए ये जो तुम्हारी कमांड
है दिस कमांड इस कमांड को तुम यहां पे करोगे रन। कैसे? टर्मिनल ओपन करना। अच्छा टर्मिनल ओपन करने की कमांड क्या है?
कंट्रोल बैक टिक या यहां पे कंट्रोल बैक टिक। बैक टिक क्या रहती वो जो स्केप के नीचे एक अपने पास बटन आती है उसको अपन बैक
टिक बोलते हैं। या दूसरा ऑप्शन क्या है? यहां पे टॉप पे तुम्हें एक टर्मिनल का दिख रहा होगा। इस पे करना क्लिक और न्यू
टर्मिनल पे क्लिक यहां पे कर सकते हो। एक नया टर्मिनल ओपन हो जाएगा। तो टर्मिनल ओपन करो। टर्मिनल ओपन करने के बाद एनपीएमआई
एकडमी को एंटर करना। एंटर करने के बाद यहां पे एक पैकेज तुम्हारा ऐड हो रहा होगा। यहां पे तीन फाइल्स आएंगे। अब ये
तीन फाइल्स एग्जैक्टली अब ये तीन चीजें हैं क्या? दो फाइल्स और एक फोल्डर। ये तीनों चीजें हैं क्या? इसके बारे में भी
बात करनी है। लेकिन इससे पहले देखो जब तुम यहां पे कमांड रन करते हो एनपीएम आई एकडमी तो ये कमांड करेगी क्या कि भाई जो भी कोड
तुम्हारा एकडमी का वो एनपीएम जेएस की वेबसाइट पे प्रेजेंट था वो कोड अब तुम्हारे सिस्टम पे आ चुका है। वो कोड
एग्जैक्टली कहां पे आया तुम्हारे सिस्टम पे? उस पे हम बात करेंगे। बिल्कुल उस पे बात हम करने वाले हैं। लेकिन अभी पहले हम
यहां पे एक फाइल क्रिएट करेंगे। फाइल का नाम क्या होने वाला है? इंडेक्स डॉट js। अच्छा तो इसका फाइल का नाम क्या सिर्फ
इंडेक्स ही रखा जा सकता है? ऐसा नहीं है। इफ यू वांट तुम इसका नाम mamma.js रख लो। कोई प्रॉब्लम नहीं है। एक्सटेंशनs होना
चाहिए बस। तो यहां पे तुम मामा जेs रख सकते हो। अगर तुम यहां पे चाहो तो चाचाs रख दो जो तुम्हारा मन हो। लेकिन चाचा और
मामा जेs फाइल अच्छी लगती नहीं है सुनने में। तो हम यहां पे फाइल का नाम रखेंगे क्या? सर्वर डॉट जेs या फाइल का नाम रखा
जा सकता है इंडेक्स डॉट js। बढ़िया। तो फाइल का नाम इंडेक्स रखा। अब देखो करना क्या है? अब हमें यहां पे करना कुछ ये है
कि जो पैकेज मैंने इंस्टॉल किया हूं कैटमी इस पैकेज को मुझे यूज़ करना है। तो पैकेज इंस्टॉल करने के लिए इंस्टॉल तो कर चुके
हैं। पैकेज यूज़ करने के लिए अब हम यहां पे रिक्वायर करेंगे कैटमी और कैटमी को हमें यहां पे रिक्वायर करना रहता है। देखो
अच्छा ये मुझे कैसे पता चला कि भाई यहां पे कैटमी पैकेज को यूज़ करने के लिए उसको रिक्वायर करना रहता है। तो वो बताया कहां
पे बताया? देखो ये जो कैटमी है इधर पे ही तुम्हें अगर इसका एग्जांपल देखोगे तो एग्जांपल में देखो सबसे पहली लाइन क्या है
कि अगर तुम्हें कैटमी यूज़ करना है तो उसको रिक्वायर करना पड़ेगा तो यहीं पे कि भाई किस तरीके से तुम कैटमी को यूज़ कर सकते हो
वो यहां पे बताया गया है तो कैटमी को पहले मैं यहां पे रिक्वायर करूंगा और कैटमी रिक्वायर करने के बाद जो भी रिक्वायर किया
होगा उसे यहां पे कॉल करना है तो ये कैसे पता चल रहा है भाई मुझे यहां पे जो कैटमी के पास लिखा गया है कि भाई कैसे यूज़ करना
है उसी को पढ़ के मैं तुम्हें बता पा रहा हूं कि भाई यहां पे इस तरीके से इसको यूज़ करना है तो कैटमी को हमने यहां पे
रिक्वायर किया कैटमी रिक्वायर करने के बाद अब अगर मैं यहां पे कॉल करूंगा और इसे कंसोल करवाना पड़ता है। उनकी
डॉक्यूमेंटेशन में पूरा नहीं बताया। तो कंसोल डॉट log और कंसोल डॉट log के बाद अब देखना ये जो मेरी फाइल है इंडेक्स डॉट जेs
ये जो मेरी फाइल है इंडेक्स डॉट जेs इस फाइल को रन कैसे करूंगा? सुनो मैंने तुम्हें बताया था कि जावास्क्रिप्ट का हम
यूज़ करेंगे और जावास्क्रिप्ट को रन करवाने के लिए हमें नोट js की जरूरत पड़ेगी। हां बिल्कुल हमने नोट js इंस्टॉल
भी किए थे। तो अब ये जो जावास्क्रिप्ट का मैंने कोड लिखा हूं इसको रन करने के लिए मैं नोट जेएस की हेल्प से इसे रन करने
वाला हूं। तो अब वो कैसे करते हैं? तो नोट जेएस की हेल्प से अगर तुम्हें कोई सी भी जावास्क्रिप्ट फाइल को रन करना है तो यहां
पे तुम लिखो नोड स्पेस जिस फाइल को तुम रन करना चाह रहे हो उस फाइल का नाम। तो इंडेक्स डॉट जेएस यहां पे लिख सकते हो।
नोड इंडेक्स डॉट जेs यहां पे लिखा लिखने के बाद अब अगर तुम यहां पे एंटर करोगे तो देखो एक रैंडम सी बिल्ली प्रिंट हुई। हां
तो ये इस पैकेज का यही रहता है कि ये कुछ काम का ऐसा है नहीं। बट एक रैंडम बिल्ली तुम्हारे टर्मिनल पे प्रिंट करके दे देगा।
अब अगर तुम यहां पे अगेन नोड इंडेक्स डॉट जेएस फाइल को रन करोगे तो देखो एक और रैंडम बिल्ली। तो जितनी बार रन करोगे उतनी
बार एक रैंडम इमेज आती रहेगी हमारी कैट की। बस ये इतना रहता है। तो बस इस पैकेज का इतना ही यूज़ है कि यहां पे तुम किस
तरीके से पैकेज यूज़ कर सकते हो वो मैंने यहां पे बताया था। अच्छा यहां पे कुछ चीजें और छूट रही हैं। क्या तीन चीजें
क्या-क्या? एक हमारा नड मॉड्यूल्स फोल्डर, एक हमारा पैकेज डॉट jsn और पैकेज log डॉट जेसn ये फाइल्स हमारी छूट रही हैं। तो अब
इन पे हम बात करते हैं। तो देखो होता क्या है? अब देखो होगा क्या कि भाई होगा होता ये है कि सबसे पहले हम यहां पे बात करते
हैं नोड मॉड्यूल्स फोल्डर पे। नोड मॉड्यूल्स फोल्डर हम यहां पे क्यों यूज़ करते हैं? इस पे हम यहां पे बात करते हैं।
तो सुनो होता क्या है कि भाई मैंने तुम्हें बताया था कि भाई पैकेजेस क्या रहते हैं? पैकेजेस एक ऐसा कोड रहता है
जिसको हमने नहीं लिखा। किसी और डेवलपर ने लिखा। लेकिन स्टिल हम उसका यूज़ कर सकते हैं। और ये पैकेजेस का कोड स्टोर कहां पे
रहता है? एनपीएम जेएस की वेबसाइट पे स्टोर रहता है। ठीक है? अब अगर मुझे इस कोड को यूज़ करना है तो एनपीएम जेएस की वेबसाइट से
मुझे अपने सिस्टम पे लेकर आना रहेगा। और बिल्कुल लेकर हम उसको आए थे और उस प्रोसेस को हमने क्या बोला था? पैकेज को इंस्टॉल
करना है। ये हमने बोला था। अब सुनो। पैकेज अगर इंस्टॉल हुआ है। एनपीएम जेएस की वेबसाइट से कोड अगर मेरे सिस्टम पे आया
है। तो वो कोड कहां पे स्टोर होता है? तो वो कोड स्टोर होता है न मॉड्यूल्स फोल्डर के अंदर। अब न मॉड्यूल्स फोल्डर को जब आप
यहां पे ओपन करोगे तो इधर पे एक और फोल्डर मिलेगा इसका नाम क्या है? कैटमी और कैटमी फोल्डर के अंदर अब अगर तुम यहां पे कैट्स
डॉट json फाइल को ओपन करोगे तो यहां देखो ये इमेजज़ थोड़ी सी याद आ रही हैं। अभी कुछ टाइम पहले ही हमने बस इनको देखा था हमारे
टर्मिनल पे। तो जो कैटमी फोल्डर या बोल सकते हो कैटमी पैकेज का जो हमारा कोड है वो किस फोल्डर के अंदर जा रहा है? एकडमी
जो हमारा पैकेज है इसका कोड जाता है नड मॉड्यूल्स फोल्डर के अंदर। तो जो हमारा न मॉड्यूल्स फोल्डर रहता है इसके अंदर रहता
है क्या कि भई जो भी पैकेज हम यूज़ कर रहे हैं उन सभी पैकेजेस का कोड न मॉड्यूल्स फोल्डर के अंदर जा रहा होता है। फिर इसके
बाद अगर हम आगे बढ़ते हैं पैकेज LG JSN पे वापस आएंगे। लेकिन पैकेज डॉट JSN फाइल हम देखते हैं। सुनो अब सुनो। यहां पे मैंने
एक कोड लिखा। सुनो सुनो। ये जो स्क्रीन पे अभी तुम्हें एक कोड दिख रहा है ये कोड मैंने एक लिखा। और ये जो मेरा कोड है ये
एक पर्टिकुलर पैकेज का यूज़ कर रहा है। पैकेज कौन सा है? गेट मी। हां। तो देखो ना यहां यूज़ तो कर रहा है ना। तुमने यहां पे
रिक्वायर किया इसको। हां बिल्कुल रिक्वायर किया। और फिर तुमने इसको कॉल किया। मतलब इसको यूज़ कर रहे हो ना? हां यूज़ कर रहे
हो। तो मतलब कि जो मैंने एक कोड लिखा हूं ये कोड एक पर्टिकुलर पैकेज को यूज़ कर रहा है। पैकेज का नाम क्या है? गेट में।
बिल्कुल। हां बिल्कुल है। तो पैकेज डॉट जेसन फाइल क्या करती है इसमें? पैकेज डॉट जेसन फाइल मेंटेन करती है कि भाई जो तुमने
कोड लिखा है वो कोड कौन-कौन से पैकेजेस का यूज़ कर रहा है? वो कोड कौन-कौन से पैकेज पे डिपेंड करता है? तो ये सारी चीजें कौन
मेंटेन करता है? पैकेज डॉट json। तो पैकेज डॉट jsn का एक बहुत इंपॉर्टेंट काम क्या रहता है कि आपका कोड कौन-कौन से पैकेज पे
डिपेंड है? इसको मेंटेन करना पैकेज डॉट js का एक बहुत इंपॉर्टेंट काम रहता है। और भी काम रहते हैं क्या? हां, और भी कुछ काम
रहते हैं। लेकिन बहुत इंपॉर्टेंट काम क्या रहता है कि तुम्हारा कोड कौन-कौन से पैकेज पे डिपेंड कर रहा है उसको मेंटेन यहां पे
किया जाए। बढ़िया है। अच्छा अब एक चीज़ और दिखाता हूं। सुनना। नोट मॉडल्स फोल्डर ओपन किया। कैटमी पैकेज पे आते हैं। कैटमी जो
अपना कोड है इसके अंदर हमारे पास एक और पैकेज jsn फाइल है। हां तो ये भी क्या करेगी? ये भी यहां पे मेंटेन करेगी कि जो
कैटमी पैकेज है ये पैकेज कौन-कौन से अदर पैकेज पे डिपेंड करता है। हां ऐसा भी होता है कि भ जो आपने पैकेज इंस्टॉल किया है वो
हो सकता है किसी और पैकेज पे डिपेंड करता हो। तो वो कौन मेंटेन करता है? उस पर्टिकुलर पैकेज की पैकेज डॉट jsn फाइल
मेंटेन कर रही होती है। तो अगर तुम यहां पे डिपेंडेंसीज़ के अंदर आते हो तो यहां पे देखो जो अपने पैकेज डॉट jsn की
डिपेंडेंसीज़ है यहां पे तुम अगर देख रहे होगे तो यहां पे तुम्हें पता चलेगा कि हां भाई ये जो अपना एकडमी पैकेज है ये याग्स
नाम का एक पैकेज है इस पे डिपेंड करता है। अच्छा तो ये यास का कोड कहां पे है? नड मॉड्यूल्स फोल्डर के अंदर आओ। नड
मॉड्यूल्स फोल्डर के अंदर आने के बाद यहां पे तुम्हें मिलेगा या का फोल्डर। या के फोल्डर में अगर तुम ओपन करोगे तो इधर पे
भी एक पैकेज jsn फाइल मिलेगी। पैकेज डॉट जसन फाइल को अगर तुम ओपन करोगे तो यहां पे और भी फोल्डर्स मिलेंगे और इस फोल्डर के
अंदर तुम्हें कैमल केस ये एक पर्टिकुलर पैकेज मिलेगा। तो अब अगर मैं यहां पे कैमल केस फोल्डर के अंदर आता हूं पैकेज डॉट js
में तो अब अगर तुम यहां पे देखोगे तो ये जो अपना कैमल केस फोल्डर है आई थिंक ये किसी और पे डिपेंड नहीं करता है। तो हां
ऐसा भी होता है कि भाई कोई सा पैकेज किसी और फोल्डर पे डिपेंड नहीं करता। वो अपने आप में सफिशिएंट होता है। उसको किसी और
पैकेज की जरूरत नहीं हो रही होती है। तो अब अगर तुम देखोगे मेरा कोड कौन सा पैकेज यूज़ करता है? मेरा कोड यहां पे एक सिंगल
पैकेज यूज़ करता है। उसका नाम क्या है? कैटमी। लेकिन कैटमी जो पैकेज है ये किस पैकेज का यूज़ करता है? या पैकेज का यूज़
करता है। बढ़िया है। ठीक? फिर याक्स पैकेज एक पर्टिकुलर पैकेज पे डिपेंड करता है। उसका नाम क्या है? कैमल केस। और कैमल केस
कौन से पैकेज पे डिपेंड करता है? ये किसी पैकेज पे डिपेंड नहीं कर रहा होता है। तो ये एक चीज रहती है। अच्छा तो सुनो सुनो
सुनो। अब ये वालाेंट मुझे पता है थोड़ा सा कंफ्यूजन हो रहा होगा लेकिन ऐसे ही काम करा जाता है भाई काम ऐसे ही किया जाता है
बैक एंड में जब तुम थोड़ी डिटेल में चीजें पढ़ोगे तो इसी तरीके से काम किया जाता है तो मुझे पता है थोड़ा सा कॉम्प्लेक्स लग
रहा होगा बस 5 मिनट मेरे साथ रुक जाओ इतना क्लियर बैक एंड तुम्हें कभी नहीं हुआ होगा इतनी तो मेरी भी गारंटी है यार सुनो बस 5
मिनट मेरे साथ और रुको तुम्हें इतनी चीजें क्लियर करवा दूंगा कि तुम्हें कभी पहले नहीं हुई होंगी सुनो तो जो अपना कैमल केस
फोल्डर था कैमल केस नहीं कैटमी पैकेज किस पे डिपेंड करता है कैटमी पैकेज हमारा डिपेंड करता है या पे या जो अपना पैकेज ये
डिपेंड करता है कैमल केस पे और कैमल केस कौन से पैकेज पे डिपेंड करता है? तो ये किसी और किसी पैकेज पे डिपेंड नहीं करता।
ये अपने आप में इंडिपेंडेंट है। तो अब अगर तुम यहां पे देखोगे एक काइंड ऑफ चैन चलती जा रही है कि भाई हमने तो सिर्फ कैटमी
पैकेज को यूज़ किया था। लेकिन कैटमी पैकेज किसी और पैकेज पे डिपेंड करता है। वो पैकेज किसी और पैकेज पे डिपेंड करता है।
तो ये सारी चीजें कौन मेंटेन करता है? ये सारी चीजें मेंटेन करती है आपकी पैकेज log डॉट js फाइल। ये सारी चीजें ये मेंटेन कर
रही होती है। तो देखो जो आपकी पैकेज लॉक log डॉट jsn फाइल है ये क्या मेंटेन करती है? तो ये आपकी खुद की एप्लीकेशन किस
पैकेज पे डिपेंड करती है? साथ ही साथ ये जो आपका पैकेज है ये जो आपका पैकेज है ये जैसे कि देखो जो हमारा एकडमी पैकेज है ये
डिपेंड करता था या पे हां फिर जो अपना या है ये डिपेंड करता था कैमल केस पे। तो जो आपकी पैकेज लॉक JSON फाइल रहती है ये सारी
चीजें मेंटेन कर रही होती है कि भाई जो आपकी जो आपका एप्लीकेशन है जो आपका कोड है वो किस पैकेज पे डिपेंड करते हैं वो जो
पैकेजेस हैं वो किस पैकेजेस पे डिपेंड करते हैं ये सारी चीजें कौन मेंटेन कर रहा होता है पैकेज log डॉट json लेकिन एक बात
बताऊं पैकेज log डॉट json का आपका उतना काम नहीं रहता क्यों क्योंकि ये फाइल अपने आप को खुद मेंटेन करती रहती है हमें इसको
छूने की हमें इसको ओपन करने की जरूरत नहीं पड़ती है बस ये फाइल क्रिएट हुई थी थोड़ी सी इसके बारे में आपको पता होना चाहिए तो
इस बारे में मैं आपको बता बता रहा हूं। अब सुनो अभी तक हमने यहां पे कुछ चीजें समझे। क्या कि भाई पैकेजेस क्या होते हैं? तो
अगर एक बार रिवीजन ले कि भाई पैकेजेस क्या होते हैं? पैकेजेस एक ऐसा कोड होता है जिसको हमने नहीं लिखा। किसी और डेवलपर ने
लिखा था। लेकिन स्टिल हम उसका यूज़ कर सकते थे। इसको हम क्या बोलते हैं? पैकेजेस। अच्छा। अच्छा। तो एक बात बताओ ये कोड कहां
पे स्टोर होता है? ये कोड स्टोर होता है आपके एनपीएम जेएस की वेबसाइट पे। ये कोड स्टोर किया जाता है। हां बिल्कुल स्टोर
किया जाता है। और अगर मुझे इस कोड को यूज़ करना है तो मुझे क्या करना पड़ेगा? एनपीएम जेएस की वेबसाइट पे ये जो कोड स्टोर है उस
कोड को मुझे लेकर आना पड़ेगा मेरे सिस्टम पे और इस प्रोसेस को हम क्या बोलते हैं? पैकेज को इंस्टॉल करना। हां बढ़िया
इंस्टॉल करना इस प्रोसेस को बोलते हैं। अच्छा तो जो एनपीएम जेएस की वेबसाइट से मेरे सिस्टम पे कोड आ रहा था ये कोड
एग्जैक्टली जा कहां रहा था? तो ये कोड जा रहा था न मॉड्यूल्स फोल्डर के अंदर। हां बिल्कुल नड मॉड्यूल फोल्डर के अंदर जा रहा
था। अच्छा ठीक है। और एक फाइल हमारे पास और थी पैकेज डॉट json। हां ये फाइल क्या कर रही थी? ये फाइल आपके लिए जो कोड आपने
लिखा है वो कोड किस पैकेज पे डिपेंड करता है या कौन-कौन से पैकेज पे डिपेंड करता है ये सारी चीजें मेंटेन करती है आपकी पैकेज
डॉट jsn फाइल बढ़िया है तो आई होप आपको पैकेज क्या होता है ये क्लियर होगा एक पैकेज को क्यों इंस्टॉल करते हैं कैसे
इंस्टॉल करते हैं ये आपको क्लियर हुआ होगा पैकेज का कोड नोटबॉडी फोल्डर के अंदर कैसे जाता है वो आपको पता चला होगा पैकेज डॉट
jsn फाइल का इंपॉर्टेंट काम क्या रहता है वो आपको पता चला होगा और अब हम फाइनली हम आगे बढ़ सकते हैं हमारे सर्वर को क्रिएट
करने के लिए जहां किस पैकेज का यूज़ करेंगे? एक्सप्रेस पैकेज का हम यहां पे यूज़ करने वाले हैं। तो देखो अब यहां पे
आते हैं। स्क्रीन हम यहां पे शेयर करेंगे। तो देखो इन सारी चीजों को मैं यहां पे हटा रहा हूं। बढ़िया। तो अब जो हमारे पास बैक
एंड कंप्लीट बैक एंड नाम का एक फोल्डर है। इसमें अब ये एकदम एम्प्टी फोल्डर है। अब सो यहां से हम बात करेंगे थोड़ी सीरियस।
अगर तुम सो रहे थे तब उठ जाओ। अगर तुम सो रहे थे अब सो उठ जाओ। क्यों? क्योंकि अब यहां पे प्रोडक्शन लेवल की बातें स्टार्ट
होने वाली हैं कि भाई देखो बैक एंड सिखाऊंगा लेकिन अच्छे से सिखाऊंगा। तो मुझे प्रोडक्शन लेवल पसंद है और प्रोडक्शन
लेवल भी मैं तुम्हें चीजें सिखाने वाला हूं। चीजें करता हूं, ढंग से करता हूं। तो उसी लेवल पे मैं तुम्हें वहां पे सिखाने
भी वाला हूं। सो जब तुम एक बैक एंड एप्लीकेशन की बात करते हो और थोड़ा ढंग से उस एप्लीकेशन को क्रिएट करना रहता है।
प्रोडक्शन लेवल पे एप्लीकेशन को क्रिएट करना रहता है। तो उस एप्लीकेशन की स्टार्ट ही आप बहुत अच्छे तरीके से कर रहे होते।
ऐसा नहीं रहता कि भाई आपने दो-तीन फाइल क्रिएट की और आपका सर्वर बन गया। ऐसा नहीं रहता। आप उसकी स्टार्ट भी बहुत अच्छे
तरीके से कर रहे होते हैं। तो देखो होता क्या है कि जब आप एक सर्वर को क्रिएट करते हो सर्वर होता क्या है? एक्चुअल में अगर
हम एक्सप्रेस का यूज़ कर रहे हैं या बोल सकते हो जावास्क्रिप्ट का यूज़ कर रहे हैं तो सर्वर वहां पे एक नोट js एप्लीकेशन
होती है। हां जब आप जावास्क्रिप्ट का यूज़ करते हो तो जब आप सर्वर क्रिएट कर रहे होते वो एक नोट js एप्लीकेशन आप उसको बोल
सकते हो। अब नोट js एप्लीकेशन होती क्या है? उसको उतना ध्यान मत दो अभी के लिए। लेकिन जब आप जावास्क्रिप्ट का यूज़ करते हो
सर्वर क्रिएट करने के लिए वो एक नोट js एप्लीकेशन होती है और नोट js एप्लीकेशन को सही से स्टार्ट करने का एक तरीका होता है
जो आपका टर्मिनल है जो आपका टर्मिनल है उस टर्मिनल पे आप एक कमांड रन करोगे कमांड का नाम क्या रहेगा एनपीएम इनit hfy तो जब आप
ये एक पर्टिकुलर कमांड रन करोगे तो आपको एक फाइल मिलती है फाइल का नाम क्या रहेगा पैकेज डॉट json तो पैकेज डॉट json ये आपको
एक फाइल मिल रही होगी अब ये इससे हुआ क्या कि भाई आपने एक बहुत अच्छे तरीके से नोट js एप्लीकेशन को इनिशिएट किया है। अभी ये
एप्लीकेशन क्या करने वाली है? उसका कोड आपने कुछ नहीं लिखा लेकिन उसको स्टार्ट कर चुके हो बहुत अच्छे तरीके से। अब सुनो
करना क्या है? सर्वर क्रिएट करना। हां बिल्कुल सर्वर क्रिएट करना है। अब सर्वर क्रिएट करने का एक जो बहुत अच्छा तरीका है
वो रहता है कि भ एक्सप्रेस एक पैकेज है। एक्सप्रेस क्या है? अपना एक पैकेज है। उस पैकेज की हेल्प से हम सर्वर को बहुत जल्दी
और बहुत अच्छा क्रिएट कर सकते हैं लिटरली। बहुत अच्छा सर्वर हम क्रिएट कर सकते हैं विद द हेल्प ऑफ एक्सप्रेस। तो एक्सप्रेस
पैकेज को हम यहां पे इंस्टॉल करेंगे। तो एक्सप्रेस पैकेज को इंस्टॉल करने के लिए एनपीएमआई एक्सप्रेस ये क्या करेगा कि
एक्सप्रेस का कोड जो हमारी एनपीएम जेएस की वेबसाइट पे है उस कोड को हमारे सिस्टम पे लेकर आएगा और कहां पे लेकर आएगा न
मॉड्यूल्स फोल्डर के अंदर तो देखो यहां पे अगर मैं एनपीएमआई एक्सप्रेस करूंगा तो नड मॉड्यूल्स फोल्डर का जो अपना अपने पास है
इस फोल्डर के अंदर एक्सप्रेस का कोड यहां पे आ चुका होगा ये रहा अपना पूरा एक्सप्रेस का कोड यहां पे आप उसे देख सकते
हो तो ये रहा अपना एक्सप्रेस का कोड अब इतना करने के बाद मैं यहां पे एक फाइल और क्रिएट करूंगा। फाइल का नाम क्या रख रहे
हैं? server डॉट js। बढ़िया। अब अब मुझे अगर एक्सप्रेस यूज़ करना है। अगर मुझे यहां पे एक्सप्रेस यूज़ करना है तो सबसे पहले
यहां पे मैं बोलूंगा एक्सप्रेस को करूंगा रिक्वायर और रिक्वायर करने के बाद रिक्वायर करने के बाद एक्सप्रेस को
रिक्वायर किया। अब देखो करना क्या है मुझे? मुझे यहां पे सर्वर को क्रिएट करना है। यही तो अपना मेन गोल था कि भाई मैं
यहां पे सर्वर क्रिएट करना है। मुझे हां बिल्कुल क्रिएट करना है। तो इसके लिए मैं यूज़ क्या कर रहा हूं? एक्सप्रेस पैकेज का
यूज़ कर रहा हूं। बिल्कुल कर रहे हैं। अब देखो अब एक्सप्रेस पैकेज के हेल्प से अगर तुम्हें एक सर्वर क्रिएट करना है तो वो
बहुत इजी होता है। क्या? बस एक्सप्रेस को कॉल कर दो। बस इतना तुम कर दो। तो इससे होगा क्या?
इससे होता ये है कि जब तुम एक्सप्रेस को कॉल करते हो जो तुमने यहां पे रिक्वायर किया है तो इससे तुम्हारा सर्वर क्रिएट हो
जाता है। लिटरली क्रिएट हो जाता है। लेकिन दोनों में फर्क रहता है। मतलब क्या? मतलब देखो एक चीज़ बताता हूं। अगर तुमने
जावास्क्रिप्ट पढ़ी है तो अगर तुम यहां पे एक फंक्शन क्रिएट कर रहे हो। फंक्शन का नाम है सम। फंक्शन का नाम अगर यहां पे सम
है। सम के अंदर हमारे पास दो पर्टिकुलर आर्गुमेंट्स हैं। a एंड b और रिटर्न तुम यहां पे करवाते हो a + b। बढ़िया। तो ये जो
आपने फंक्शन क्रिएट किया ये फंक्शन तब तक एग्जीक्यूट नहीं होगा जब तक आपने सम फंक्शन को कॉल नहीं कर लेते। मतलब क्या?
ये फंक्शन आपने डिफाइन तो कर दिया है लेकिन ये फंक्शन कॉल या एग्जीक्यूट तब तक नहीं होगा जब तक आप यहां पे सम टू एंड
थ्री या कोई दूसरे नंबर के साथ आप इसको कॉल नहीं कर रहे होते। तो सेम चीज अभी भी यहां पे हुई कि आपने सर्वर क्रिएट तो कर
दिया है। आपका सर्वर क्रिएट हो चुका है। बिल्कुल क्रिएट हो चुका है। लेकिन ये सर्वर अभी स्टार्ट नहीं होने वाला। तो आप
कैसे स्टार्ट करते हैं? तो देखो सर्वर क्रिएट करना एक अलग बात होती है लेकिन सर्वर स्टार्ट करना ये अलग बात होती है।
तो देखो अब अगर मैं यहां पे बात करता हूं कॉस्ट एप जो भी हम यहां पे सर्वर क्रिएट कर रहे हैं एक्सप्रेस को कॉल करने के बाद
इस सर्वर को मैं यहां पे स्टोर करूंगा ऐप वेरिएबल के अंदर और देन अब मैं सर्वर को स्टार्ट करूंगा और सर्वर स्टार्ट करने के
बाद ऐप डॉट लिसन ऐप डॉट लिसन मैं यहां पे बोल रहा होगा तो अब इतना क्या एक कॉल बैक हम
यहां पे देंगे और कॉलबक के अंदर मैं यहां पे लिखूंगा सर्वर इज़ रनिंग ऑन पोर्ट 3000 अब ये कॉल बैक क्या है इसके बारे में हम
यहां बात कर सकते हैं या अभी के लिए इसको हटाया जा सकता है। इस पे हम बात करेंगे। ठीक है? और यह पोर्ट नंबर क्या है? इस पे
भी हमें बात करनी है। अभी रुक जाओ। तो देखो अब हमने किया क्या? हमने यहां पे जो हमारा एक्सप्रेस पैकेज था इसे रिक्वायर
किया। रिक्वायर करने के बाद एक सर्वर क्रिएट किया। लेकिन सर्वर क्रिएट करना और स्टार्ट करना अलग होता है। तो हमने यहां
पे सर्वर क्रिएट किया और जो सर्वर हमने क्रिएट किया था उसे सेव किया हमारे ऐप वेरिएबल के अंदर। और देन हमने हमारे सर्वर
को स्टार्ट किया विथ अ कमांड ऐप डॉट लिसन। क्योंकि जो हमारी एक मेथड होती है लिसन। इस मेथड के साथ हमने सर्वर को स्टार्ट कर
दिया। कौन सा पोर्ट यूज़ कर रहे हैं? 3000। अब पोर्ट क्या होता है? उस पे भी डिस्कशन करना है। लेकिन रुक जाओ। अब इतना कोड अगर
मैं बताऊं तो हम सर्वर को क्रिएट कर रहे हैं और सर्वर को स्टार्ट कर रहे हैं। ये दोनों काम हमारे मेन हैं। तो अब देखो अब
इतना कोड रन करने के लिए। ये कोड मैंने कहां पे लिखा हूं? सर्वर डॉट जेएjs फाइल में। तो नोड की हेल्प से अगर मैं यहां पे
लिखता हूं नोड सर्वर डॉट जेs तो अब होगा क्या कि जो पर्टिकुलर सर्वर मैंने यहां पे क्रिएट करके स्टार्ट किया हूं। वो सर्वर
यहां पे स्टार्ट हो चुका है। हो चुका है। लिटरली हो चुका है। कैसे मानूं मैं? देखो अभी यहां पे जो तुम कैरेट देख रहे हो ये
कैरेट यहीं पे अटका हुआ है। तो अगर ये यहीं पे अटका हुआ मतलब कि कोई प्रोसेस चल रही है। और कौन सी प्रोसेस चल रही है?
हमारा सर्वर रन हो रहा है। जो हमारा सर्वर है वो अभी यहां पे रन हो रहा है। रन ऐसा नहीं है कि भाई वो खत्म हो गया। नहीं वो
अभी रन हो रहा है। मतलब क्या? सुनो मैं तुम्हें एक्सप्लेन करता हूं। ये भी अगर मैं यहां पे एक फाइल क्रिएट करता हूं।
फाइल का नाम है लेट्स से इंडेक्स डॉट जेs और इंडेक्स डॉटs के बाद अगर मैं यहां पे कंसोल करवाता हूं। कंसोल डॉट log 2 + 3 और
अब अगर मैं यहां पे इंडेक्स जेस फाइल को रन कर दूं देखो अगर मैं यहां पे लिखता हूं नोड इंडेक्स डॉट जेएस तो देखना एंटर किया
यहां पे मेरे पास आउटपुट क्या आ गया फाइव आ गया तो यहां पे हुआ क्या कि भ कंसोल डॉट log 2 + 3 जब मैंने करवाया तो ये दोनों को
ऐड किया और यहां पे कंसोल किया मतलब कि जो हमारी प्रोसेस थी इस प्रोसेस ने ये पूरा एग्जीक्यूट किया और जो भी रिजल्ट आया उसको
आउटपुट में प्रिंट करवा के खत्म हो गई सिंपल सी कहानी लेकिन जब मैं यहां पे सर सर्वर डॉट जेs की बात करता हूं तो नोड
सर्वर डॉट जेएस तो यहां पे अगली लाइन पे नहीं हम जा रहे हैं। उसी लाइन पे स्टक हो चुके हैं। स्टक नहीं हुए हैं। हो क्या रहा
है कि जो हमारा सर्वर है वो अब यहां पे बैकग्राउंड में स्टार्ट हो चुका है। अच्छा तो बैकग्राउंड में सर्वर स्टार्ट हो चुका
है। हां बिल्कुल स्टार्ट हो चुका है। तो क्या अब मैं उस पे कोई रिक्वेस्ट भेज सकता हूं? हां भेज सकते हो। काइंड आप भेज सकते
हो। तो देखो अब अगर मैं यहां पे आता हूं सर्वर पे। हां सर्वर पे नहीं ब्राउज़र पे। देखो अभी जो तुम्हारा सर्वर रन हो कहां पे
हो रहा है? तुम्हारी लोकल मशीन पे। ठीक है? जो भी तुम्हारी मशीन है उस पर्टिकुलर मशीन पे तुम्हारा सर्वर स्टार्ट हो रहा
है। ओके मतलब कि जो तुम्हारा सर्वर का होस्ट कौन है? लोकल तुम्हारी लोकल मशीन। अभी लोकल मशीन पे ही स्टार्ट कर रहे हो ना
तुम अपना सर्वर? हां। तो जो तुम्हारा होस्ट है सर्वर का वो तुम्हारी लोकल मशीन है। तो इस वजह से यहां पे क्या लिखोगे?
लोकल होस्ट पोर्ट कॉलन मतलब कॉलन के बाद पोर्ट तुम दोगे। पोर्ट क्या दोगे? 3000 जो हमने f डॉट लिसन के अंदर एक नंबर दिया था
वही सेम नंबर तुम यहां पे दे रहेगे। तो लोकल होस्ट लोकल होस्ट मतलब कि क्योंकि भाई लोकल मशीन है और किस पोर्ट पे रन हो
रहा है 3000 में तो ये यहां पे दे रहे हो एंटर किया एंटर करने के बाद अभी यहां पे एरर आएगा क्यों क्योंकि देखो इधर पे एक
आउटपुट में हमें क्या मिल रहा है कैन नॉट गेट स्लैश ऐसा क्यों ऐसा इसलिए अब मैं तुम्हें बताता हूं सुन होता क्या है अगर
सर्वर की डेफिनेशन तुम याद करो मैंने उसमें बोला था कि सर्वर एक मशीन होती है जिसे प्रोग्राम किया जाता है कि भाई यूजर
जो भी रिक्वेस्ट करेगा उसका प्रॉपर रिस्पांस हम इसे दे सके ये था अपना हां बिल्कुल था तो अब सुनो यहां पे किया क्या
था तुमने यहां पे सर्वर क्रिएट किया बिल्कुल किया। इस लाइन में तुमने सर्वर क्रिएट ही किया है और इस लाइन में तुमने
सर्वर को स्टार्ट किया। बिल्कुल किया है। लेकिन क्या तुमने सर्वर को प्रोग्राम किया कि भाई यूजर जो रिक्वेस्ट करेगा उसका एक
प्रॉपर रिस्पांस हम उसे दे सकें। इन तीनों लाइन में तुमने कुछ नहीं किया उसके रिलेटेड। अब सुनो करना क्या है तुम्हें?
अब तुम यहां पे एक कोड और लिखोगे app डॉट गेट। इधर पे मैं क्या कर रहा हूं? सर्वर को प्रोग्राम कर रहा हूं। किस चीज के लिए?
कि अगर यूजर कोई रिक्वेस्ट करता है तो उसका रिस्पांस क्या जाने वाला है? तो app डॉट गेट स्लैश और स्लैश के बाद रिक्वेस्ट
और रिस्पांस मैं यहां पे लिखूंगा और रिक्वेस्ट रिस्पांस के बाद अब अगर मैं यहां पे कॉल बैक के अंदर लिखता हूं
रिस्पांस डॉट सेंड हेलो वर्ल्ड तो यहां पे अब मैंने किया क्या इसको थोड़ा समझते हैं कोड को बहुत अच्छी तरीके से समझेंगे हम
लेकिन पहले मोटा-मोटा यहां पे समझते हैं कि भाई हम यहां पे एग्जैक्टली कर क्या रहे हैं तो देखो हम यहां पे कर क्या रहे हैं
कि भाई f डॉट गेट ये तो एक अलग चीज है लेकिन मैंने यहां पे सर्वर को प्रोग्राम कर रहा हूं कि अगर स्लश एपीआई पे कोई भी
रिक्वेस्ट आती है तो आप यहां पे उसका रिस्पांस क्या भेजोगे? हेलो वर्ल्ड। मतलब क्या? कि अगर कोई रिक्वेस्ट आएगी तो उसका
रिस्पांस क्या जाएगा? हेलो वर्ल्ड यहां पे जा रहा होगा। हां बिल्कुल जा रहा होगा। अब देखो कैसे? तो सुनो मैं बता रहा हूं। यहां
पे अच्छा एक चीज और अभी अपडेट नहीं हुआ है। क्यों? क्योंकि देखो जब तुमने यहां पे नोट सर्वर डॉट जेस ये कमांड रन किए थे तब
ये वाला कोड नहीं था इस फाइल के अंदर। तो अभी जो तुम्हारा सर्वर रन हो रहा होगा बैकग्राउंड में वो इस वाले कोड के बारे
में नहीं जानता। तो अब क्या करें? तो सुनो एक बार इसको कट करना वापस से कमांड रन करोगे नोड सर्वर डॉट जेS और इस बार जो
सर्वर स्टार्ट होगा उसके पास ये वाला कोड भी प्रेजेंट रहेगा तो अब अगर मैं यहां पे एंटर करता हूं एंटर करने के बाद सर्वर
हमारा स्टार्ट हुआ और अब अगर मैं ब्राउज़र पे वापस आके रिक्वेस्ट करूंगा ऑन लोकल होस्ट कॉलन
3000 एंटर किया और एंटर करने के बाद अब देखो यहां पे मेरे पास रिस्पांस क्या आ रहा है? हेलो वर्ल्ड मेरे पास रिस्पांस आ
रहा है। तो अभी पता है तुमने यहां पे किया क्या? अभी तुमने यहां पे सर्वर को प्रोग्राम किया कि यूजर अगर कोई रिक्वेस्ट
करेगा तो उसमें क्या रिस्पांस हमारे पास आने वाला है। अच्छा अब एक चीज और समझते हैं। बस एक चीज और एक चीज और सुनो इससे
तुम्हें और चीजें क्लियर होंगी। अब देखो मैं यहां पे एक कोड लिख रहा हूं कि कॉलन कॉलनी नेम स्लश अबाउट और स्लैश अबाउट पे
जो रिस्पांस या बोल सकते हो जो हम यहां पे रिटर्न करेंगे वो हमारा रहेगा रिस्पांस अबाउट पेज। ठीक है? तो अब देखो
यहां पे मैंने क्या किया कि अब मैंने यहां पे सर्वर को प्रोग्राम कर दिया। किस चीज के लिए? कि अगर स्लैश अबाउट पे कोई
रिक्वेस्ट करे। अगर यहां पे स्लैश अबाउट पे कोई रिक्वेस्ट करेगा तो आप रिस्पांस वहां पे क्या सेंड करोगे? रिस्पांस आप
वहां पे सेंड कर रहेगे अबाउट पेज ये आप यहां पे सेंड करोगे। ठीक है? तो अब देखो अगर मैं यहां पे आता हूं ये कोड अभी भी
सर्वर के पास नहीं होगा जो रन हो रहा है। तो वापस से हम इसे बंद करेंगे। रन करेंगे नोट server. जेs और नोट server. जेs के
बाद वापस से ब्राउज़र पे आता हूं। और इधर पे अगर मैं लिखता हूं। सो
ठीक है। सो अब अगर मैं यहां पे लिखता हूं। देखो देखना यहां पे जो कोड मैं यहां पे लिख रहा
हूं वो अपना रहेगा। लोकल होस्ट कॉलन 3000 स्लश अबाउट एंटर किया तो इधर पे मेरे पास क्या आ रहा है? अबाउट पेज क्योंकि भाई इसी
चीज के लिए मैंने सर्वर को प्रोग्राम किया हूं या स्लैश अबाउट पे अगर कोई रिक्वेस्ट आएगी तो रिस्पांस क्या जाएगा वहां पे?
अबाउट पेज जा रहा होगा। अच्छा एक स्लैश के लिए भी बताया था। हां बताया था। तो स्लैश पे अगर रिक्वेस्ट जाएगी तो क्या जाएगा?
हेलो वर्ल्ड। तो ये स्लैश कहां गया? स्लैश हट जाता है। अगर एड्रेस बार में आखिरी में सिर्फ स्लैश आ रहा है तो स्लैश वहां पे हट
जाएगा और लेकिन रिक्वेस्ट स्लैश भी जाती है। बस यही चीज़ यहां पे रहेगी। तो अभी मैंने सर्वर क्रिएट किया। सर्वर क्रिएट
करने के बाद मैंने उसको स्टार्ट किया और साथ ही साथ सर्वर को मैंने यहां पे प्रोग्राम किया है कि अगर स्लश एपीआई पे
कोई रिक्वेस्ट आएगी तो रिस्पांस किया जाएगा। हेलो वर्ल्ड और स्लैश अबाउट पे अगर कोई रिक्वेस्ट आएगी तो रिस्पांस किया
जाएगा। अबाउट पेज यहां पे जा रहा होगा। तो अभी तक आपने यहां पे देखा कि भाई आप कैसे किस तरीके से सर्वर को क्रिएट कर सकते हो
और बेसिकली किस तरीके से आप सर्वर को प्रोग्राम करोगे कि क्या रिस्पांस वहां पे जाना चाहिए। अब हमें यहां पे बहुत सारी
चीजें समझनी है कि भाई रिक्वेस्ट और रिस्पांस ये दोनों चीजें क्या होती हैं? पोर्ट क्या होता है? पोर्ट के बाद और भी
चीजें समझनी है। एक प्रॉपर फोल्डर स्ट्रक्चर भी अब हमें यहां पे देखना है। तो चलो अब उनकी तरफ आगे। हां भाइयों। सो
अभी तक अगर आप इस वीडियो पे टिके हुए हो तो लिटरली आप काफी अच्छा कर रहे हो। मुझे पता है कि भाई ये सारे कांसेप्ट मैं बहुत
बार पढ़ा चुका हूं। ऑफलाइन सेंटर जो शेरियंस का है तो वहां पे मैं बहुत सारे स्टूडेंट को ऑलरेडी पढ़ा चुका हूं। तो
मुझे पता है कि अगर आप यहां तक टिके हुए हो और अगर आपको सारी चीजें समझ में आ रही हैं तो आप बहुत अच्छा कर रहे हो लिटरली।
और एक चीज मैं आपको और बोलना चाहूंगा कि अगर जो मैं आपको पढ़ा रहा हूं और वो आपको समझ में आ रहा है और उसको और बहुत अच्छे
तरीके से आप समझना चाह रहे हो तो एटलीस्ट उसको आप अपने खुद के हाथों से दो बार कोड करिएगा। एi का यूज़ अभी के लिए मत करो।
मैं बता दूंगा कि भाई कब से आप एआई का यूज़ करना चालू कर सकते हो। मैं आपको बता दूंगा वो भी। लेकिन अभी एटलीस्ट खुद से
आपको दो बार यह जो कोड मैं स्क्रीन पे लिख रहा हूं वो आपको एटलीस्ट दो बार खुद से करना पड़ेगा और उसके बाद ही आप इसको बहुत
ज्यादा अच्छे तरीके से समझ पाओगे। अच्छा एक चीज और आप बहुत अच्छा कर रहे हो लिटरली ये मैं बिल्कुल अंदर से बोल रहा हूं। अगर
आप यहां तक हो तो आप बहुत बहुत बहुत बहुत अच्छा कर रहे हो। ऑफलाइन सेटर में मैंने बहुत सारे स्टूडेंट देखा हूं। बहुत सारे
स्टूडेंट को प्रॉब्लम होती है इस पर्टिकुलर फेज में भी। लेकिन अगर आप यहां तक कर रहे हो तो यार बहुत अच्छा कर रहे
हो। लिटरली बहुत अच्छा तुम कर रहे हो। अच्छा एक चीज और अभी तक हम कहां कहां तक कर चुके हैं? तो आई थिंक अभी तक हम यहां
पे हम एक सर्वर क्रिएट कर चुके हैं और उस सर्वर को प्रोग्राम कर चुके हैं कि भाई कैसे क्या सारी चीजें हमने यहां पे कि एक
पर्टिकुलर अगर रिक्वेस्ट आएगी तो क्या रिस्पांस वहां पे जाना चाहिए। ये अभी तक हम यहां पे कर चुके हैं। अब इसमें जो कुछ
कोड वाला पार्ट होगा उस कोड में कुछ कंपोनेंट ऐसे होंगे जो आपको क्लियर नहीं हो रहे होंगे। तो वही हमें यहां पे समझना
है। तो देखो अब अगर मैं वापस से आता हूं कोडिंग स्क्रीन पे हमारी तो ये रहा हमारा वीएस कोड। और वीएस कोड में आने के बाद अब
देखो अभी तक अगर मैं आपको बताऊं कि अभी तक हम सर्वर को किस तरीके से बनाए हैं तो उसमें सबसे पहले हमने एक कमांड रन किए थे
एनपीएम इन hन बाय ये कमांड क्या करती है ये कमांड आपके लिए एक नए वी कैन से नोट js एप्लीकेशन
इनिशिएट करती है सो इनिशिएट इनिशिएट नोट जेएस एप्लीकेशन इनिशिएट करेगी फिर हमने यहां पे एक पर्टिकुलर कमांड और रन किए थे
एनपीएमआई एक्सप्रेस ये कमांड क्या करेगी जो आपका एक्सप्रेस पैकेज है। सो वी कैन से इंस्टॉल
एक्सप्रेस पैकेज। तो ये कमांड हमने इसलिए रन यहां पे किए हुए थे। बढ़िया। सो इंस्टॉल एक्सप्रेस पैकेज। और फिर फाइनली हमने यहां
पे एक फाइल क्रिएट किए थे। फाइल का नाम क्या था? सर्वर डॉट जेएस। तो सर्वर डॉट जेएस फाइल हमने यहां पे क्रिएट किए थे। और
इस फाइल के अंदर हमने हमारे जो सर्वर का कोड होने वाला है वो पूरा कोड इसके अंदर लिखे हुए अब देखो हमने किया क्या कि सर्वर
जेs में जो पैकेज हमने एक्सप्रेस इंस्टॉल किया था इस पैकेज को हमने सबसे पहले रिक्वायर किया और रिक्वायर करने के बाद
एक्सप्रेस को यहां पे कॉल कर दिया। अच्छा ये जो लाइन है एक्सप्रेस ये लाइन किस काम में आ रही होती है तो मैं बता रहा हूं।
देखो ये जो आप जब आप एक्सप्रेस को कॉल करते हो और एक्सप्रेस को कॉल करने के बाद जो भी इसका ये जो भी रिटर्न करने वाला है
उसको आप कहां पे सेव करते हो ऐप के अंदर। तो देखो होता क्या है? जब आप एक्सप्रेस को कॉल करते हो तो एक सर्वर का इंस्टेंस
क्रिएट कर रहे होते हो। हां एक सर्वर का इंस्टेंस क्रिएट होता है। जैसे ही आप एक्सप्रेस को कॉल करते हो और जो इंस्टेंस
क्रिएट होता है उसे आप सेव कहां पे करते हो? आपके ऐप वेरिएबल के अंदर। तो ये तो मतलब ये सिर्फ वेरिएबल है। हां ये सिर्फ
वेरिएबल है। तो अगर आप चाहो तो इसका नाम कुछ भी रख सकते हो। इफ यू वांट आप इसका नाम मामा रख दो। लेकिन एक्सप्रेस का जो
सर्वर जनरली क्रिएट होता है, जो भी इंस्टेंस क्रिएट होता है, उसे हम जनरली ऐप नाम से ही स्टोर कर रहे होते हैं। मतलब कि
ऐसा कुछ फिक्स रूल नहीं है कि आपको ऐप नाम से ही स्टोर करना है। लेकिन पूरी इंडस्ट्री में एक्सप्रेस से जो सर्वर
क्रिएट होता है, उसको जनरली हम ऐप नाम से ही सेव कर रहे होते हैं। तो इस लाइन में हम क्या कर रहे हैं? इस लाइन में सर्वर
इंस्टेंस क्रिएट कर रहे हैं। इतना हम यहां पे काम कर रहे हैं। तो जब आप एक्सप्रेस को कॉल
करते हो तो एक सर्वर का इंस्टेंस क्रिएट होगा और जो सर्वर का इंस्टेंस क्रिएट हो रहा है उसे आप ऐप वेरिएबल के अंदर सेव कर
रहे हो। अच्छा ठीक है। तो ये लाइन आई होप आपको क्लियर हो चुकी होगी। अब इन दोनों लाइन पे हम वापस आएंगे। लेकिन पहले हम
समझते हैं ये जो ऐप डॉट लिसन है ये 3000 ये क्या करता है? तो सुनो इस लाइन में तो आप बस सर्वर को सर्वर का जो इंस्टेंस है
उसे क्रिएट कर रहे हो। ध्यान रखना सर्वर क्रिएट करना और सर्वर स्टार्ट करना दोनों अलग-अलग बातें होती हैं। तो हमने यहां पे
जब एक्सप्रेस को कॉल कर रहे हैं तो हमारा सर्वर क्रिएट तो हो रहा है लेकिन सर्वर अभी स्टार्ट नहीं होगा और सर्वर स्टार्ट
नहीं हो रहा तो वो कोई भी रिक्वेस्ट सुन नहीं सकता। तो सर्वर स्टार्ट करने के लिए हम यहां पे एक मेथड यूज़ करते हैं। मेथड का
नाम क्या है? ऐप डॉट लिसन। तो ये जो हमारी मेथड है डॉट लिसन ये हमारी मेथड का नाम है और इस मेथड का हम यूज़ करते हैं किसके लिए?
सर्वर को स्टार्ट करने के लिए। सर्वर को स्टार्ट करने के लिए हम ऐप डॉट लिसन मेथड का यूज़ करते हैं। ठीक है? तो ये जो ऐप डॉट
लिसन मेथड है इसके अंदर एक नंबर लिखा है पोर्ट 3000। ये 3000 एग्जैक्टली क्या है? ये 3000 एग्जैक्टली आपका है क्या? एक
पोर्ट नंबर। ये पोर्ट नंबर क्या है? 3000। अच्छा ये पोर्ट क्या होता है? तो पोर्ट पे अब थोड़ी सी हम बात करते हैं। सो देखो
एक्स कैली पे आते हैं। एक्सl ड्रा पे आने के बाद ये मैं गिट एंड गिट दूसरी कुछ क्लासेस चलती रहती है। उनमें पढ़ाता हूं।
सो इसको एक काम करते हैं। पूरा क्लियर कर रहा हूं। ठीक है? सो अब देखो अभी के लिए तुम अगर कॉलेज जाते हो या स्कूल जाते हो
तो लेट्स से अभी कॉलेज का एग्जांपल हम लेते हैं। तो कॉलेज के एग्जांपल में होता क्या है कि एक बहुत बड़ी सी बिल्डिंग रहती
है। यहां पे एक बहुत बड़ी सी बिल्डिंग रहती है और इस बिल्डिंग के अंदर अलग-अलग लोगों के बहुत सारे कैबिन रहते हैं। लेट्स
से कि यहां पे आपका जो डायरेक्टर है डायरेक्टर का एक कैबिन होगा। लेट्स से इस कैबिन का जो नंबर है वो है आपका 001। इस
पर्टिकुलर कैबिन का जो आपका नंबर है वह 01 है। फिर यहां पे एक आपका चेयरमैन का ऑफिस है और चेयरमैन के ऑफिस का आपका नाम है 02
ये इस पर्टिकुलर का है। फिर इसके बाद आपके और भी एचओडीस आते हैं। लाइक अलग-अलग डिपार्टमेंट के जो एचओडीस होते हैं उनके
कैबिन में भी यहां पे प्रेजेंट है। तो 03 03 के बाद इसे मैं थोड़ा इधर पे आई थिंक रख सकता हूं। थोड़ा अरेंज कर लेता हूं तो
थोड़ा ढंग का लगेगा। ठीक है? ठीक है? तो फिर हमारे पास यहां पे आता है फिर और भी एचओडीज हैं। तो उन सभी के कैबिन
ऐसे ही करते-करते हमारे पास यहां पे प्रेजेंट होते हैं। ये एक चीज यहां पे है। तो इधर पे बहुत सारे कैबिन रहते हैं। ये
और ये पूरी बिल्डिंग आपकी कौन सी थी? ये पूरी बिल्डिंग आपकी थी आपकी एक कॉलेज की बिल्डिंग। कॉलेज की बिल्डिंग थी जिसमें
अलग-अलग अलग-अलग जो यहां पे ब्लॉक देख रहे हो ये अलग-अलग कैबिन को रिप्रेजेंट करता है। जिसमें डायरेक्टर का रूम का कैबिन का
नंबर क्या है? 0 1 चेयरमैन का 02 जो आपका एक एचओडी है उसका आपका 03 जा रहा है। फिर एक और 04 जा रहा है। और ऐसे ही करते-करते
आपके अलग-अलग कैबिन पे यहां पे बात कर रहे होते हैं। तो सुनो अब यहां पे होता क्या है? लेट्स से कि अगर आपको यहां पे
डायरेक्टर से मिलना है या डायरेक्टर से कुछ बात करनी है तो आप कौन से कैबिन के अंदर जाओगे? 0 वन के अंदर जा रहेगे। अगर
आपको चेयरमैन से कुछ बात करनी है तो आप कौन से कैबिन के अंदर जाओगे? 02 के अंदर जाओगे। आपको अगर एचओडी से बात करनी है तो
एचओडी के लिए आप यहां पे 03 पे जा रहे होगे। ये आपका सिस्टम रहता है। सिमिलर वे में क्या रहता है कि सिमिलर वे में आपका
जो आपका सिस्टम है सिस्टम मतलब क्या? जो आपका लैपटॉप है जो भी आपका कंप्यूटर है उसके पास भी यही सेम सिस्टम रहता है। मतलब
कैसे? मतलब ये कि भाई आपका लैपटॉप एक बिल्डिंग की तरह होता है। लेट्स से ये सेम आपका जो लैपटॉप है ये भी एक बिल्डिंग की
तरह होता है और इसमें बहुत सारी एप्लीकेशनेशंस होती हैं। अब इसमें बहुत सारी एप्लीकेशन कौन-कौन सी है? यहां पे एक
एप्लीकेशन आती है जिसका नाम है मेल। अब मेल सर्वर आपके पास रहेगा। अगर आपके पास कोई सा मेल सर्वर है तो मेल एक एप्लीकेशन
होती है आपके पास मेल के आपके पास फिर यहां पे एक चीज और होती है लेट्स से फाइल्स फाइल्स की एक अलग एप्लीकेशन होगी
एक्सप्लोरर या फाइंडर micoss में तो यहां पे ये दोनों चीजें आपके पास हो सकती हैं तो मेल सर्वर से ये जो आपका मेल सर्वर है
मेल सर्वर किससे कम्युनिकेट कर पाता है मेल जो आपका रहता है ये पोर्ट नंबर 20 आई थिंक 25 आई थिंक 25 से ये कम्युनिकेट कर
पाता है और जो आपका फाइल्स रहती हैं ये पोर्ट नंबर 20 पे कम्युनिकेट कर रही होती हैं। तो यहां पे हो क्या रहा है? सुनो ये
पूरा सिस्टम क्या है आपका? ये पूरा सिस्टम है आपका कंप्यूटर या आपका लैपटॉप। ये आपका यहां पे सिस्टम है और इस सिस्टम के अंदर
आपकी अलग-अलग एप्लीकेशनेशंस रहती हैं और ये अलग-अलग एप्लीकेशनेशंस अगर आपको कम्युनिकेट करना है मतलब कि बाहर जो
इंटरनेट है इंटरनेट को अगर इन एप्लीकेशन जो आपके सिस्टम के अंदर प्रेजेंट हैं तो इन्हें पोर्ट के थ्रू कम्युनिकेट किया
जाता है। जैसे कि जो आपका मेल सर्वर है आई थिंक ये जो पोर्ट का रहता है ये पोर्ट नंबर 25 है और जो आपका फाइल सिस्टम रहता
है इससे अगर कम्यूनिकेट करना है तो पोर्ट नंबर 20 का हम यहां पे यूज कर सकते हैं। सिमिलर वे पे हम यहां पे क्या करने वाले
हैं? हम यहां पे एक सर्वर क्रिएट कर रहे हैं। हां, हम आपके सिस्टम पे एक सर्वर क्रिएट कर रहे हैं एक्सप्रेस के हेल्प से।
तो जो आपका सर्वर रहेगा वो भी काइंड ऑफ एक रूम लेके बैठेगा जो आपका सर्वर है जो आपका यहां पे सर्वर है और ये रूम कौन सा लेके
बैठेगा? पोर्ट नंबर 3000। तो अगर हमें हमारे इंटरनेट को हमारे सर्वर से कम्युनिकेट करना रहेगा तो वह किस पोर्ट को
हिट करेगा? वो हिट करेगा यहां पे पोर्ट नंबर 3000 से। और अगर किसी और पर्टिकुलर पोर्ट को हिट करना है, किसी और एप्लीकेशन
से कम्युनिकेट करना है तो अगर मेल से कम्युनिकेट करना है तो 25, फाइल से अगर कम्युनिकेट करना है तो पोर्ट नंबर 20 और
ऐसे ही करते-करते और भी बहुत सारी एप्लीकेशनेशंस होती है जिनसे अगर कम्युनिकेट करना रहता है तो हमें अलग-अलग
पोर्ट का यूज करना पड़ेगा। तो आई होप पोर्ट क्या होते हैं ये आपको क्लियर हो चुका होगा और इसके बाद अब हम यहां पे आगे
बढ़ते हैं। कुछ और चीजें हमें यहां पे समझनी है। जैसे कि क्या जैसे कि हमें यहां पे समझना है क्या? यह जो app डॉटg है यह
दोनों एपीआई हमने क्रिएट किया था। अब एपीआई क्या होती है? बस इसके थोड़े इसके मतलब कि 5 मिनट के बाद मैं तुम्हें
एक्सप्लेन कर रहा हूं कि भाई एग्जैक्टली एपीआई होती क्या है? लेकिन उससे पहले हम यहां पे आर ई क्यू जिसको हम रिक्वेस्ट
पढ़ते हैं और आर ई एस जिसे हम रिस्पांस पढ़ते हैं। इन दोनों वर्ड के बारे में इन दोनों कीवर्ड के बारे में हम थोड़ा समझते
हैं। तो देखो होता क्या है? तो ये जो अपने आर ई क्यू है इसको हम क्या पढ़ते हैं? रिक्वेस्ट। अब रिक्वेस्ट का मतलब क्या
होता है? रिक्वेस्ट। आप बोल सकते हो कि इस कोड में इस कोड में इसका मतलब क्या है? सुनो जो भी डेटा फ्रंट एंड से आ सकता है।
अब कोई सा भी डेटा हो सकता है। वो कोई से भी डेटा से मेरा मतलब क्या है? वो कोई सा भी डेटा से मेरा मतलब है कि भ यूजर का
पूरा नाम हो सकता है। यूजर का फुल नेम उसका ईमेल एड्रेस उसकी प्रोफाइल इमेज अगर यूजर कोई सी दूसरी फाइल को अपलोड कर रहा
है तो वो सारी फाइल्स मतलब क्या? कोई भी डेटा जो फ्रंट एंड से आ सकता है वो पूरा का पूरा डेटा आप सिर्फ रिक्वेस्ट की हेल्प
से ही एक्सेस कर पाओगे। मतलब क्या? मतलब कि अगर कुछ भी डेटा फ्रंट एंड से आ रहा है बैक एंड पे तो वो डेटा आप सिर्फ रिक्वेस्ट
की हेल्प से ही एक्सेस कर सकते हो। बाकी कोई दूसरा तरीका आपके पास नहीं रहता एक्सप्रेस में। अब सुनो यहां पे रिक्वेस्ट
आपको थोड़ा बहुत आईडिया लग चुका होगा। अब एग्जैक्टली कैसे होता है कि भाई कैसे डेटा आता है उस पे हमें बात करनी है। अभी के
लिए बस कुछ जो मेन बात है उन पे ध्यान दो तुम क्या कि देखो जो भी डेटा फ्रंट एंड से आ सकता है उसको तुम सिर्फ एक्सेस कर सकते
हो रिक्वेस्ट केएल से। और अब अगर हम यहां पे बात करते हैं रिस्पांस से। तो देखो अब जो भी रिक्वेस्ट आएगी उसका क्या रिस्पांस
भेजना है वो तो आप लॉजिक लिखोगे। उसके लिए आप प्रोग्राम करोगे। लेकिन जो भी रिक्वेस्ट आ रही है उसका रिस्पांस भेजने
के लिए हां भाई आपने लॉजिक लिख लिया। लॉजिक लिखने के बाद जो आपका फाइनल जो भी रिस्पांस आपको भेजना है वो रिस्पांस सेंड
करने के लिए आपको रिस्पांस ऑब्जेक्ट का यूज़ करना पड़ता है। जैसे कि रिस्पांस डॉट सेंड एक मेथड होती है। इसके अलावा और भी
हमारे पास दो-तीन मेथड हैं जिनका यूज़ हम कर सकते हैं रिस्पांस सेंड करने के लिए। तो जो रिक्वेस्ट अगर समराइज़ करता हूं एक
बार में तो रिक्वेस्ट किस लिए यूज़ करते हैं? जो भी डेटा फ्रंट एंड से आने वाला है उसे एक्सेस करने के लिए हम रिक्वेस्ट का
यूज़ करेंगे। और कुछ भी डेटा अगर हमें हमारे बैक एंड से फ्रंट एंड पे भेजना है वापस से तो हम यहां पे रिस्पांस का यूज़ कर
रहे होते हैं। तो रिक्वेस्ट एंड रिस्पांस मेनली हम इसलिए यूज़ करते हैं। और अब हमें यहां पे पढ़ना है क्या? एपीआई और एपीआई
बहुत इंपॉर्टेंट कॉनंसेप्ट है। तो अब अगले पार्ट में हमें यही देखना है कि भाई एपीआई क्या होती हैं? और रेस्ट एपीआई जो हमें
पढ़ना है उनमें क्या मेन बातें होती हैं। चलो अब हम यहां पे बहुत इंपॉर्टेंट टॉपिक पे बात करेंगे जिसका नाम है कि भाई एपीआई
क्या होती है? और रेस्ट एपीआई क्या है? तो एपीआई सबसे पहले आते हैं थोड़ा इंटरनेट पे सर्च करते हैं कि भाई एपीआई का मतलब होता
क्या है? सो स्क्रीन अब आपको दिख रही होगी और अगर मैं यहां पे सर्च करता हूं कि व्हाट
इज एपीआई? सो व्हाट इज एपीआई? अगर मैं यहां पे सर्च किया। सर्च करने के बाद जो मुझे यहां पे एक रिजल्ट देखने के लिए
मिलेगा वो ये है कि अ सेट ऑफ रूल्स और प्रोटोकॉल दैट अलाउड डिफरेंट सॉफ्टवेयर प्रोग्राम टू कम्युनिकेट एंड एक्सचेंज
डेटा एंड फंक्शनैलिटी विद ईच अदर। इतना हम यहां पे बोल सकते हैं। अगर थोड़ा और सिंपल मैं आपको बताऊं तो इसका मतलब क्या होता है
कि भ दो अलग-अलग एप्लीकेशन को कम्युनिकेट करवाने के लिए जो सेट ऑफ रूल्स एंड प्रोटोकॉल हम यूज़ करते हैं उसको हम क्या
बोलते हैं? एपीआई हम उसे बोल सकते हैं। ठीक है? मतलब कि दो अलग-अलग एप्लीकेशन को कम्युनिकेट करवाना है। हां बिल्कुल यही आप
बोल सकते हो। अब ये जो दोनों एप्लीकेशन है ये कौन-कौन सी एप्लीकेशन हो सकती है? तो ये आपकी एप्लीकेशन हो सकती है आपका बैक
एंड का सर्वर और जो आपके फ्रंट एंड पे जो आपके ब्राउज़र पे आपका फ्रंट एंड चलने वाला है ये आपकी दूसरी एप्लीकेशन हो सकती है।
ये दोनों अलग-अलग एप्लीकेशन होती है। हां अगर ओवरऑल तो आप उसको एज अ यूजर आप इनको एक सिंगल एप्लीकेशन की तरह ट्रीट करोगे
लेकिन जब आप डेप्थ में जाते हो और थोड़ा जानते हो इनके बारे में तो आपको पता चलेगा कि हां भाई ये दोनों अलग-अलग एप्लीकेशन की
तरह ट्रीट की जाती हैं। जो आपका बैक एंड का सर्वर है वो एक अलग एप्लीकेशन की तरह ट्रीट किया जाएगा और जो आपका फ्रंट एंड का
सर्वर है वो एक अलग एप्लीकेशन की तरह ट्रीट किया जाता है। फ्रंट एंड का सर्वर नहीं फ्रंट एंड जो आपके ब्राउज़र पे चल रहा
है वो एक अलग एप्लीकेशन की तरह ट्रीट किया जाता है। ठीक है? तो एपीआई क्या होती है? एपीआई अगर हम यहां पे समझे कुछ सेट ऑफ
रूल्स और प्रोटोकॉल जिनकी हेल्प से दो अलग-अलग एप्लीकेशन को कम्युनिकेट किया जा सकता है। ठीक है? तो अब ये रेस्ट एपीआई
क्या है? रेस्ट एपीआई अगर मैं बात करता हूं तो मैं यहां पे एक चीज सर्च करता हूं कि
टाइप्स ऑफ एपीआई टाइप्स ऑफ एपीआई अगर मैं यहां पर सर्च करता हूं तो देखो एपीआई कैन बी
कैटेगराइज इन सेवरल प्राइमरी बाय दिस दिस दिस तो अब हमारे पास ओपन एआई पार्टनर एपीआई इंटरनल एपीआई अ हां ठीक है टाइप्स
ऑफ एपीआई बार आर्किटेक्चरल स्टाइल प्रोटोकॉल के अगर जो हमारा प्रोटोकॉल है और स्टाइल के हिसाब से अगर मैं यहां पे
टाइप्स डिफाइन करता हूं एपीआई के तो वो कौन-कौन से सबसे पहला यहां पे कौन सी एपीआई आती है रेस्ट एपीआई रिप्रेजेंटेशनल
स्टेट ट्रांसफर एपीआई ये एक एपीआई आपके पास यहां पे आ आ रही होती है। तो फिर आपके पास यहां पे आती है सोप एपीआई। सोप एपीआई
आरपीसी ग्राफ क्यूएल वेब सॉकेट। तो बहुत सारी एपीआई हमारे पास आती हैं। हमें यहां पे जो मेनली एपीआई पढ़नी रहेगी वो कौन सी
होने वाली है? रेस्ट एपीआई यहां पे होने वाली है। अब रेस्ट एपीआई क्या रहती है? रेस्ट एपीआई भी यहां पे एक एपीआई का टाइप
है। मतलब कि एपीआई जो मेनली दो अलग-अलग एप्लीकेशन को कम्युनिकेट करवाने के लिए हम यूज़ कर रहे तो वो आपकी एपीआई है। लेकिन अब
एग्जैक्टली कैसे कम्युनिकेट करवाना है वो आपको रेस्ट एपीआई यहां पे बताएगी कि रेस्ट एपीआई के यहां पे कुछ रूल्स होते हैं और
उन रूल्स का हम यहां पे यूज़ कर रहे होते हैं। तो देखो अब जो सबसे पहला रेस्ट एपीआई का रूल है वो क्या बोलता है भाई अगर
तुम्हें दो अलग-अलग एप्लीकेशन को कम्युनिकेट करवाना है। कौन-कौन सी एप्लीकेशन? जो तुम्हारे बैक एंड का सर्वर
है और जो तुम्हारा फ्रंट एंड का एप्लीकेशन जो तुम्हारे ब्राउज़र पे चल रही है उन दोनों को अगर कम्युनिकेट करवाना है तो जो
प्रोटोकॉल तुम यहां पे यूज़ करोगे वो कौन सा रहेगा? एचटी एचटीटीp प्रोटोकॉल का यूज़ करोगे और उसके अलावा कुछ मेथड्स होती हैं
गेट पोस्ट पुट डिलीट इनका तुम यूज़ कर रहेगे एपीआई के लिए। अब सुनो यहां पे अब तुम्हें यहां पे क्या करना रहता है सुनो
तो अब मैं तुम्हें एक पर्टिकुलर पीडीएफ प्रोवाइड करूंगा जो तुम्हें इस पर्टिकुलर वीडियो के डिस्क्रिप्शन में मिल जाएगी
रेस्ट एपीआई नाम की पीडीएफ से। तो अगर मैं यहां पे तुम्हें एक पीडीएफ प्रोवाइड करता हूं। सो लेट मी ओपन दैट पीडीएफ। बस दो
मिनट मुझे यहां पे लगेंगे। ओके? सो आई क्लाउड एंड इसके अंदर अगर मैं यहां पे आता हूं नोट्स नोट्स के अंदर बैक एंड एंड
रेस्ट एपीआई दिस वन बढ़िया तो ये रही हमारी पीडीएफ तो ये सेम पीडीएफ आपको मिल जाएगी इस पर्टिकुलर वीडियो के
डिस्क्रिप्शन में रेस्ट पीडीएफ नाम से तो यहां देखो अब रेस्ट एपीआई की बहुत सारी चीजें यहां पे लिखी गई है कि भ
अंडरस्टैंडिंग रेस्ट एपीआई है क्या की कांसेप्ट इसमें क्या होते हैं रिसोर्सेज एंड रिप्रेजेंटेशन मैं चाहूंगा कि आप एक
बार इस पीडीएफ को ओपन करो और ओपन करने के बाद एटलीस्ट इन चीजों के बारे में एक बार आप पढ़ लो कि एग्जैक्टली ये चीज़ हैं क्या?
तो आपको थोड़ी और अंडरस्टैंडिंग नहीं होगी कि भाई ये एग्जैक्टली चीजें हैं क्या? अब देखो हमें यहां पे जो मेनली कुछ चीजें
यूज़ करनी है वो क्या है? एचटीटीp मेथड। रेस्ट एपीआई का जो सबसे पहला रूल है वो तो यही है कि भाई वो यूज़ कौन सा प्रोटोकॉल
करेगी कम्युनिकेट करवाने के लिए वो एचटीटीपी प्रोटोकॉल का यूज़ करने वाली। लेकिन उसके अलावा भी वो एचटीटीपी मेथड्स
का यूज़ करती है। डिपेंड करता है कि भाई हम कौन सी मेथड का यूज़ करेंगे। वो डिपेंड करता है कि भई किस टाइप की आपकी रिक्वेस्ट
है। अब किस टाइप की रिक्वेस्ट है? इससे क्या मतलब है? मैं बताऊंगा कि किस टाइप की रिक्वेस्ट रहती है। तो हमारे पास यहां पे
मेनली कुछ पांच मेथड्स रहते हैं। लेकिन अभी के लिए हम यहां पे चार मेथड पढ़ने वाले हैं। कौन-कौन सी? गेट, पोस्ट, पैच और
डिलीट। हम यहां पे ये चार मेथड पढ़ेंगे। पुट मेथड। इसको हम और अच्छे से देखेंगे बाद में। लेकिन अभी के लिए गेट, पोस्ट,
पैच और डिलीट। इन मेथड्स की हम यहां पे बात करेंगे। तो अब देखो अब ये मेथड क्यों और कहां एग्जैक्टली यूज़ करना है? इस पे भी
हमें बात करनी रहेगी। लेकिन पहले ये समझो कि ये जो हमारी चार मेथड्स हैं ये चार मेथड हम एग्जैक्टली क्यों यूज़ कर रहे होते
हैं? तो सबसे पहले अगर मैं यहां पे बात करता हूं गेट मेथड पे तो गेट मेथड की अगर मैं बात करता हूं ये मेथड हम तब यूज़ करते
हैं जब हमें डेटा सर्वर से मंगवाना रहे। अब डेटा कैसे पहुंचा सर्वर पे? उस पे बात करने वाले हैं। उस पे हम बात करेंगे। रुक
जाओ रुक जाओ रुक जाओ रुक जाओ। तो देखो गेट मेथड हम कब यूज़ करते हैं? गेट मेथड हम कब यूज़ कर रहे होते हैं? सर्वर
सेव डाटा लेना हो या फैच करना हो बोल सकते हो सर्वर से डेटा फैच करना हो करवाना हो तब यूज़
करते हैं। ठीक है? तो सर्वर से डेटा फैच करवाना हो तब हम यहां पे गेट मेथड का यूज़ करेंगे। अब
पोस्ट मेथड का यूज़ कब करते हैं? पोस्ट मेथड का यूज़ हम तब करेंगे जब सर्वर पर सर्वर सर्वर की स्पेलिंग नहीं लिख पा
रहा हूं। सर्वर पर डेटा सेंड करना हो तब हम यहां पे पोस्ट मेथड का यूज़ करते हैं। बढ़िया। फिर अगर मैं यहां पे बात
करता हूं पैच मेथड का। तो पैच मेथड हम यहां पे क्यों यूज़ करते हैं? जब डेटा सर्वर पे ऑलरेडी प्रेजेंट है। जब डेटा
सर्वर पर ऑलरेडी प्रेजेंट है। सर्वर पर डेटा ऑलरेडी है। और उस
डेटा को अपडेट करना है। सो उस डेटा को अगर अपडेट करना हो तब हम यहां पे पैच मेथड का
यूज़ करेंगे। और फाइनली हमारे पास आती है एक मेथड जिसका नाम क्या है? डिलीट। अब डिलीट मेथड का काम क्या रहेगा भाई? डेटा
सर्वर पे सर्वर पर डेटा है और उसे डिलीट करना है। तब हम यहां पे डिलीट मेथड का यूज़ करते हैं।
बढ़िया। तो ये हमारी कुछ मेथड्स रहती हैं। अब हमारे पास यहां पे चार मेथड हैं। गेट, पोस्ट, पैच, डिलीट। गेट मेथड का यूज़ हम कब
करते हैं? जब सर्वर पे डेटा है और उस डेटा को मंगवाना हो हमारे फ्रंट एंड पे। तब हम यहां पे गेट मेथड का यूज़ करेंगे। पोस्ट
मेथड का यूज़ तब करते हैं जब हमारे हमें डेटा फ्रंट एंड से सर्वर पे भेजना रहे। तब हम यहां पे पोस्ट मेथड का यूज़ करेंगे। पैच
मेथड का हम यूज़ तब करते हैं जब हमारे पास डेटा ऑलरेडी है। हमारे पास डेटा ऑलरेडी है हमारे सर्वर पे। और उस डेटा को अपडेट करना
है। तब हम यहां पे पैच मेथड का यूज़ करेंगे। और फिर डिलीट मेथड का यूज़ हम तब करते हैं जब डेटा सर्वर पे है और उस डेटा
को डिलीट करना है तब हम यहां पे डिलीट मेथड का यूज़ करते हैं। अब ये चीज़ आपको समझ में आ रही होगी भाई चार मेथड होती है। अभी
एग्जैक्टली कैसे यूज़ करना है उस पे भी हमें यहां पे बात करनी रहेगी। अब देखो इतना समझाने के लिए हमें एक बहुत सिंपल सी
एप्लीकेशन एप्लीकेशन नहीं कहूंगा मैं उस चीज को एक टास्क करना है। एक टास्क क्या करना है कि सिंपल एक नोट्स एप्लीकेशन
क्रिएट करनी है। नोट्स एप्लीकेशन हमें यहां पे क्रिएट करनी है। जहां पे यूजर आएगा नोट्स क्रिएट कर सकता है। जो भी नोट
वो क्रिएट करेगा वो देख सकता है। एक पर्टिकुलर नोट को अपडेट कर सकता है और एक पर्टिकुलर नोट को वो डिलीट कर सकता है।
सिंपल टास्क है। एप्लीकेशन नहीं कहूंगा। एप्लीकेशन इतनी छोटी नहीं होती है। इस चीज का ध्यान रखना। एप्लीकेशन बड़ी होती है।
ये टास्क है अपना। बस एक। तो सुनो यहां पे करना क्या है कि एक फ्रेश स्टार्ट मैं कर रहा हूं तो जो हमारा एक बेसिक सर्वर रहता
है वहां से हम इसको स्टार्ट करेंगे तो देखो होने क्या वाला है कि इधर पे हमें हमारी एक एप्लीकेशन स्टार्ट करनी है सो
एप्लीकेशन स्टार्ट करने के लिए सर्वर अभी भी चल रहा था ओके सो क्लियर किया अब यहां पे आते हैं एनपीएम इनit hfन y जो हमारा एक
नोट js की एप्लीकेशन रहेगी वो इनिशिएट हुई एक पैकेज हमें यहां पे इंस्टॉल करना रहेगा एनपीएमआई एक्सप्रेस ओके तो एक्सप्रेस हमने
यहां पे इंस्टॉल कर ली अब एक चीज सुनो था। अभी बहुत बेसिक था। इस वजह से पूरा कोड एक सिंगल फाइल के अंदर जा रहा था। लेकिन ऐसा
नहीं होता। जब आप प्रोडक्शन पे बात करते हो तो बहुत सारी फाइल्स होती हैं और हर एक फाइल का अपना-अपना रोल होता है कि कौन सी
फाइल के अंदर कैसा कोड जाने वाला है। हर एक फाइल का अपना-अपना को रोल वहां पे रहता है। तो देखो जो पहले क्रिएट किया था वो बस
एक इंट्रोडक्शन काइंड ऑफ था। अब मैं तुम्हें यहां से चीजें और लेवल अप करूंगा। इकट्ठा तो अभी भी नहीं पढ़ाने वाला मैं
तुम्हें। जैसे-जैसे वीडियो आगे बढ़ता जाएगा वैसे-वैसे हम एक प्रोडक्शन लेवल का फोल्डर स्ट्रक्चर क्या होता है उसकी तरफ
आगे बढ़ेंगे और हमें वो समझना रहेगा। तो अब देखो एक कदम और आगे बढ़ा रहे हैं फोल्डर स्ट्रक्चर की तरफ कि भाई प्रोडक्शन
लेवल का फोल्डर स्ट्रक्चर कैसा रहता है? तो सुनो जब हम एक प्रोडक्शन लेवल की बात करते हैं तो जो आपका सर्वर रहता है सर्वर
जहां पे आप क्रिएट करते हो सर्वर को वो आप क्रिएट करते हो एक फोल्डर के अंदर फोल्डर का नाम क्या रहता है? एसआरसी और एसआरसी
फोल्डर के अंदर एक फाइल रहती है। फाइल का नाम क्या रखोगे? f डॉट जेs ये आपकी फाइल रहती है और इस फाइल का मेन काम क्या
रहेगा? इस फाइल का मेन काम रहता है सर्वर को क्रिएट करना। इस फाइल का मेन काम रहता है सर्वर को क्रिएट करना। अच्छा सर्वर को
क्रिएट करने के लिए क्या करना पड़ता है? सब सर्वर को क्रिएट करने के लिए हमें यहां पे एक्सप्रेस को रिक्वायर करना पड़ेगा।
एक्सप्रेस रिक्वायर किए। सो हम यहां पे बोल सकते हैं एक्सप्रेस को रिक्वायर किया। और एक्सप्रेस रिक्वायर करने के बाद जैसे
ही मैं यहां पे एक्सप्रेस को कॉल करता हूं तो तब यहां पे मेरा एक सर्वर का इंस्टेंस क्रिएट होता है। अब जो भी सर्वर का
इंस्टेंस क्रिएट होने वाला है इसे मैं सेव करूंगा एक वेरिएबल के अंदर। वेरिएबल का नाम क्या है? ऐप। बढ़िया। तो वेरिएबल का
नाम ऐप है। और जो भी सर्वर का इंस्टेंस क्रिएट हुआ होगा उसे मैंने यहां पे सेव कर लिया ऐप वेरिएबल के अंदर। ठीक है? तो
app.js फाइल का एक ही इंपॉर्टेंट काम रहता है क्या? सर्वर को क्रिएट करना। हां, यही इसका काम रहता है। ओके? तो सर्वर को
क्रिएट तो कर लिया। हां, क्रिएट कर लिया। सर्वर स्टार्ट कहां पे होता है? सो सर्वर एक अलग फाइल में स्टार्ट होता है। कहां
पे? तो सर्वर स्टार्ट होता है तुम रूट में। रूट में मतलब ये जो तुम्हारा रूट फोल्डर है यहां पे एक फाइल क्रिएट करते हो
सर्वर डॉट जेएस। ये जो तुम्हारी फाइल है सर्वरjs ये किसी फोल्डर के अंदर नहीं रहती। तुम्हारे रूट फोल्डर के अंदर रहेगी।
तो देखो अब देखो जो तुम्हारी सर्वर डॉट जेएस फाइल है इस फाइल का काम रहता है सर्वर को स्टार्ट करना। दोनों में डिफरेंस
होता है। सर्वर को क्रिएट करना ये किस फाइल का काम है? ये फाइल का काम रहता है app.js। app.js फाइल का काम रहता है सर्वर
को क्रिएट करना और सर्वरjs फाइल का काम रहता है सर्वर को स्टार्ट करना। दोनों अलग-अलग काम है। तो सुनो अभी तुमने किया
क्या? अब ध्यान से सुनना मेरी बात। app.js में तुमने सर्वर को क्रिएट कर चुके हो और इसको स्टार्ट कहां पे करना है? सर्वर.
जेएस में ये तुम्हारा मेन काम है। हां यही काम रहता है। तो क्या प्रोडक्शन पे ऐसे ही काम करते हैं? हां, ऐसे ही काम करते हैं।
तुम अगर नहीं करना चाह रहे हो तो रास्ता नहीं है तुम्हारे पास। करना ही पड़ेगा। कोई रास्ता नहीं है। करना ही पड़ेगा। इसी
तरीके से करना पड़ेगा। नहीं है रास्ता। तो सुनो। fjs का मेन काम क्या है? सर्वर को क्रिएट करना और सर्वरjs में सर्वरjs का
मेन काम क्या है? सर्वर को स्टार्ट करना। ये दोनों फाइल के मेन काम रहते हैं। तो सुनो अब क्या? सर्वर क्रिएट हो चुका है।
स्टार्ट कहां करना है? सर्वरjs में। ठीक है? तो अब जो सर्वर तुमने app.js फाइल के अंदर क्रिएट किए हो उसे लेकर आना है
server. डॉटjs फाइल में। तो इसके लिए क्या करोगे? जो सर्वर तुमने app.js फाइल के अंदर क्रिएट किए हो इसे यहां से करोगे
एक्सपोर्ट। कैसे? कि यहां पे लिख दो मॉड्यूल डॉट एक्सपोर्ट्स = ऐप। अब सुनना कि हुआ क्या यहां पे क्या जो तुमने सर्वर
यहां पे क्रिएट किए थे उस सर्वर को इस फाइल से एक्सपोर्ट कर दिए। कौन सी फाइल से एक्सपोर्ट कर दिए? app.js फाइल से। तो
app.js फाइल से तुमने यहां पे सर्वर को एक्सपोर्ट किया और एक्सपोर्ट करने के बाद अब तुम्हारा एक काम और रहेगा क्या? कि
सर्वरjs फाइल में जाओ और रिक्वायर करो f = रिक्वायर। और रिक्वायर के अंदर तुम लिखोगे कि एसआरसी फोल्डर के अंदर जो तुम्हारी ऐप
डॉट जेस फाइल है इसे कर रहे हो तुम यहां पे रिक्वायर। अब इसका मतलब क्या हुआ? सुनो इस लाइन में तुम रिक्वायर क्या कर रहे हो?
इस लाइन में तुम यहां पे रिक्वायर कर रहे हो क्या? तुम यहां पे रिक्वायर कर रहे हो एसआरसी फोल्डर के अंदर apps जो हमारी फाइल
है इस फाइल को रिक्वायर कर रहे हो। हां यही कर रहे हो। अच्छा ये फाइल एक्सपोर्ट क्या कर रही है? ये फाइल एक्सपोर्ट कर रही
है ऐप। हां यही एक्सपोर्ट कर रही है। तो यहां पे रिक्वायर जब तुम करोगे तो जो भी जिस फाइल को तुम रिक्वायर करोगे और वो
फाइल जो एक्सपोर्ट कर रही होगी वो यहां पे आ जाएगा। अब जो भी यहां पे आने वाला है क्या आएगा यहां पे? देखो app.js फाइल क्या
एक्सपोर्ट कर रही है? ऐप को एक्सपोर्ट कर रही है। ऐप क्या है? सर्वर का इंस्टेंस है। हां। तो जब तुम यहां पे रिक्वायर
एसआरसी फोल्डर के अंदर ऐप को कर रहे हो तो इधर पे सर्वर का इंस्टेंस रिक्वायर होगा और जो सर्वर का इंस्टेंस रहेगा उसे हम सेव
कर लेंगे ऐप वेरिएबल के अंदर। और अब मैं server डॉट जेs फाइल में लिख सकता हूं ऐप डॉट लिसन पोर्ट नंबर जो हम यहां पे यूज़
करेंगे वो अपना रहेगा 3000 और सुनो जो तुम्हारी ऐप डॉट लिसन मेथड रहती है ये तुमसे पोर्ट नंबर तो मांगती ही मांगती है
साथ ही साथ तुमसे एक कॉल बैकक भी मांगती है। अच्छा ये कॉल बैक किस क्यों रहता है? तो ये कॉलबक रहता है कि जब भी तुम्हारा
सर्वर स्टार्ट हो जाएगा तब ये कॉलबक सक्सेसफुली एग्जीक्यूट होता है। कैसा मतलब सुनो जब ये मेथड किस लिए है? f डॉट लिसन
ये मेथड रहती है सर्वर को स्टार्ट करने के लिए। तो जब भी सर्वर स्टार्ट हो चुका होता है तो ये कॉल बैकक अपने पास अपने आप
एग्जीक्यूट होता है कि भाई जैसे ही सर्वर स्टार्ट होगा ये कॉलबक अपने आप एग्जीक्यूट हो जाएगा तो अब देखो अगर मैं यहां पे आता
हूं लिखता हूं नोड सर्वर डॉट जेएस सर्वरjs तुम यहां पे लिखोगे तो अगर मैं server डॉट जेs को यहां पे लिखता हूं तो सर्वर डॉट जे
के अंदर कोड क्या लिखा तुमने कि भाई sआरजी फोल्डर के अंदर apps फाइल है उसको रिक्वायर करो apps फाइल वहां से एक्सपोर्ट
करती है सर्वर का इंस्टेंस वो यहां पे रिक्वायर किया जाएगा सेव किया जाएगा ऐप वेरिएबल के अंदर और देन सर्वर को यहां पे
स्टार्ट स्टार्ट कर दिया जाएगा। तो अब अगर यहां पे नोट server डॉट जेs मैं लिखता हूं तो सर्वर हमारा स्टार्ट होगा। देखो f डॉट
लिसन में एक कॉल बबैक दिया था ना तुमने। कॉल बैक के अंदर क्या बोला था? कंसोल डॉट लॉक सर्वर इज़ रनिंग ऑन पोर्ट नंबर 3000।
तो ये कॉलबक यहां पे चला और कंसोल क्या हुआ? सर्वर इज़ रनिंग ऑन पोर्ट नंबर 3000 यहां पे कंसोल हो रहा है। तो ये एक चीज़
यहां पे रहती है। तो अभी ये थोड़ा सा प्रोडक्शन लेवल पे हम जा रहे हैं। बहुत थोड़ा सा है। बहुत थोड़ा कितना है? 5%
समवेयर अराउंड 5% ये होगा। अभी 95% अभी बचा हुआ है। तो प्रोडक्शन लेवल का फोल्डर स्ट्रक्चर अभी बहुत बचा हुआ है। ये बस एक
स्टार्टिंग वाला पॉइंट है। स्टार्टिंग वाला पॉइंट है। अभी बहुत बचा हुआ है। सुनो अब तो जो हमारा एक बेसिक सर्वर रहता है वो
हम क्रिएट कर चुके हैं। अब देखो करना क्या है? जो हमारा टास्क है वो टास्क क्या है? एक टास्क क्रिएट करना है जहां पे यूजर
नोट्स क्रिएट कर पाएगा। नोट्स को देख पाएगा। कौन-कौन से नोट्स क्रिएट किए हैं। एक पर्टिकुलर नड को वो डिलीट कर सकता है
और एक पर्टिकुलर नड को वो अपडेट कर सकता है। ये हमें यहां पे परफॉर्म करना है। और इसके लिए हम यहां पे रेस्ट एपीआई के जो
प्रिंसिपल्स रहेंगे वो हमें यहां पे फॉलो करने हैं। हां। तब देखो रेस्ट एपीआई क्या बोलती है कि भाई आप http प्रोटोकॉल का यूज़
करोगे तो बाय डिफ़ॉल्ट एक्सप्रेस वही प्रोटोकॉल का यूज़ कर रहा होता है। तो हमें उसकी टेंशन नहीं है कि HTTP प्रोटोकॉल यूज़
किया जाएगा नहीं किया जाएगा। एक्सप्रेस बाय डिफ़ॉल्ट वही फॉलो कर रहा है। हमें जो परफॉर्म करना है, जो हमें इंप्लीमेंट करना
है वो कौन सी हैं? मेथड्स। सो देखो अब सबसे पहला जो टास्क हमें परफॉर्म करना है वो ये है कि यूजर अपने आप अपने आप तो नहीं
यूजर को हमें एक फंक्शनैलिटी देनी है कि वो एक पोस्ट को क्रिएट ए पोस्ट नहीं एक नोट को क्रिएट वहां पे कर सके तो सुनो अब
नोट को क्रिएट करना है हां बिल्कुल क्रिएट करना है तो नोट क्रिएट करने के लिए वो क्या करेगा या किस तरीके से उसको क्रिएट
किया जाएगा तो सुनो जो हमारा एक नोट रहेगा पहले ये समझो कि भाई एक नोट जो होने वाला है वो कैसा दिखेगा तो सुनो एक जो हमारा
हमारा नोट रहेगा जो हमारा यहां पे एक नोट होने वाला है वह एक ऑब्जेक्ट की तरह दिखेगा वो एक ऑब्जेक्ट की तरह दिखेगा और
इस ऑब्जेक्ट के अंदर हमारे पास दो चीजें होंगी एक अपने पास टाइटल रहेगा टाइटल की कुछ वैल्यू हो सकती है और एक हमारे पास
यहां पे रहेगा डिस्क्रिप्शन और ये अपना हो सकता है डिस्क्रिप्शन देखो तो जो एक नोट अपना होने वाला है वो नोट एक ऑब्जेक्ट की
तरह होने वाला है ऑब्जेक्ट के अंदर दो प्रॉपर्टी रहेंगी कि भई इस नोट का टाइटल क्या है और इस नोट का डिस्क्रिप्शन क्या
है ये दोनों चीजें हम यहां पे स्टोर करेंगे अब सुनो होगा क्या कि भाई यूजर सिर्फ एक नोट क्रिएट नहीं करेगा। वो
मल्टीपल नोट्स क्रिएट कर सकता है। तो मल्टीपल नोट्स स्टोर करने के लिए हम यहां पे क्या करेंगे? एक वेरिएबल क्रिएट
करेंगे। वेरिएबल का नाम रहेगा नोट्स और ये रहेगा अपना एक एरे और इस एरे के अंदर हम मल्टीपल नोट को स्टोर कर रहे होंगे। तो
यहां पे मल्टीपल नोट स्टोर करने वाले कि एक नोट हम यहां पे स्टोर कर सकते हैं। सो हम यहां पे मल्टीपल नोट्स स्टोर कर सकते
हैं। तो लेट्स से एक नोट हमारा इस तरीके से होगा। टाइटल फर्स्ट नोट डिस्क्रिप्शन। फिर हमारे पास एक नोट और होगा। कुछ इस
तरीके से। तो जितने भी नोट हमारा यूजर क्रिएट करेगा वो सारे नोट हम अपने अरे के अंदर स्टोर कर रहे होंगे। तो ये अरे क्या
रहेगा? अरे ऑफ़ ऑब्जेक्ट होने वाला है। तो सुनो होगा क्या? जो नोट यूजर क्रिएट करने वाला है वो नोट अपना एक ऑब्जेक्ट के
फॉर्मेट में रहेगा और बहुत सारे नोट्स क्रिएट कर सकता है। तो हम एक अरे क्रिएट करेंगे और अरे के अंदर बहुत सारे ऑब्जेक्ट
यहां पे रखेंगे। तो ये हम यहां पे करने वाले हैं मेनली। तो अब इसको मैं हटा रहा हूं। एंड
इसको हमने यहां पे हटाया। जो हमें एक अरे क्रिएट करना है कॉन्स्ट नोट्स नाम का। इसको हमने एक अरे स्टोर कर लिया। शुरुआत
में एक एम्प्टी रहेगा। और एम्प्टी अरे रहने के बाद एम्प्टी अरे रहने के बाद अब देखो मुझे यहां पर एक एपीआई क्रिएट करनी
है। और सुनो कौन सी एपीआई क्रिएट करनी है? एपीआई क्या करेगी? ये एपीआई करेगी कुछ ऐसा कि यूजर जो नोट क्रिएट करने वाला है वो
नोट क्रिएट कर पाएगी। ये इस वो नोट वो क्रिएट कर सकता है। ये इस एपीआई की मेन फंक्शनैलिटी यहां पे होने वाली है। तो
सुनो अब होगा क्या? यूजर को अगर एक नोट क्रिएट करना है। सुनना सुनना सुनना। यूजर को अगर एक नोट क्रिएट करना है तो उसको दो
चीजें देनी पड़ेंगी। क्या-क्या? यूजर को यहां पे उसका टाइटल देना पड़ेगा। साथ ही साथ उसका डिस्क्रिप्शन देना रहेगा। ये
दोनों चीजें यहां पे देनी रहेंगी। टाइटल और डिस्क्रिप्शन। अब अच्छा ये टाइटल और डिस्क्रिप्शन दोनों चीजें देनी रहेंग। हां
बिल्कुल देना रहेगा। ये टाइटल और डिस्क्रिप्शन कौन देगा? यूजर देने वाला है। हां यूजर देगा। क्योंकि भाई वही तो
नोट क्रिएट कर रहा था। अच्छा यूजर कहां पे रहता है? फ्रंट एंड पे रहता है। हां फ्रंट एंड पे रहता है यूजर। ओके? तो यूजर टाइटल
और डिस्क्रिप्शन ये दोनों चीजें देगा। कहां से देगा? फ्रंट एंड से देगा। मतलब क्या? फ्रंट एंड से कोई डेटा सर्वर पे आने
वाला है। हां। फ्रंट एंड से कोई डेटा सर्वर पे आने वाला है? हां बिल्कुल आने वाला है। ठीक है। तो एक बात बताओ रेस्ट
एपीआई पे हमारा क्या था कि जब भी डेटा अ सर्वरर्स पे आता है, सर्वर पे हमें सेंड करना रहता है। कहां से सेंड कर रहे हैं इस
बार? हम फ्रंट एंड से सेंड कर रहे हैं डेटा सर्वर पे। हां। तो जब डेटा सर्वर पे सेंड कर रहे होते हैं तो मेथड कौन सी यूज़
होती है? पोस्ट मेथड यूज़ होती है। ठीक है? तो पोस्ट मेथड का यूज़ करेंगे। कैसे यूज़ करेंगे? अब उस पे बात करते हैं। तो देखो
हम यहां पे एक एपीआई क्रिएट करेंगे जिसकी मेथड क्या रहेगी? पोस्ट रहेगी। तो इधर पे एक एपीआई क्रिएट करने के लिए यहां पे
बोलूंगा ऐप डॉट पोस्ट। इतना हम यहां पे बोल रहे होंगे। तो ऐप डॉट पोस्ट हम यहां पे बोलेंगे और पोस्ट बोलने के बाद पोस्ट
का जो हम यहां पे नाम रखने वाले हैं वो रहेगा अपना स्लैश नोट। तो बस इतना ही रहता है क्या? हां इतना ही रहता है। बता रहा
हूं इस इतनी लाइन में तुमने क्या कर दिया? सुनो। तुमने यहां पे एक एपीआई क्रिएट की है। एपीआई का नाम क्या है? स्लैश नोट्स।
ये एपीआई का नाम है। ये एपीआई का नाम है स्लैश नोट्स। और इस एपीआई के मेथड क्या है? पोस्ट। तो मेथड क्रिएट करना इतना ईजी
रहता है। मेथड बताना इतना ईजी रहता है। हां, इतना ईजी रहता है। अगर तुम्हें यहां पे गेट मेथड क्रिएट करनी है तो डॉट गेट
लिख दो। अगर तुम्हें यहां पे डिलीट मेथड यूज़ करनी है तो डिलीट लिख दो। अगर तुम्हें यहां पे पैच मेथड यूज़ करनी है तो पैच लिख
दो। जो जिस मेथड की एपीआई तुम क्रिएट करना चाह रहे हो उस मेथड का तुम यहां पे यूज़ कर सकते हो। अभी के लिए जो हम मेथड यूज़ करना
चाह रहे हैं उसका नाम पोस्ट है। तो यहां पे हम पोस्ट एपीआई क्रिएट पोस्ट मेथड की एपीआई क्रिएट करेंगे। स्लैश नोट्स। अब
सुनो यहां पे होगा क्या? यहां पे होगा कुछ ऐसा कि जब भी स्लैश नोट्स पे रिक्वेस्ट आएगी तो होने क्या वाला है कि भाई क्योंकि
मेथड पोस्ट है। हां मेथड पोस्ट है तो इस पे होगा क्या भाई सर्वर पे डेटा सेंड किया जाएगा। हां सेंड किया जाएगा। बच्चा एक चीज
बताओ कि भाई जो भी डेटा फ्रंट एंड से आने वाला है उसको एक्सेस करने के लिए मैंने तुम्हें पहले एक बात बताया था तुम्हें याद
होगा। तुम्हें याद होगा कि मैंने तुम्हें एक चीज बताया था क्या? कि अगर तुम्हें फ्रंट एंड से जो भी डेटा आने वाला है अगर
तुम्हें उसको एक्सेस करना है तो तुम्हें किस चीज की जरूरत पड़ती है? तुम्हें एक चीज की जरूरत पड़ेगी। उसका नाम क्या है?
आर ई क्यू जिसे हम रिक्वेस्ट भी यहां पे पढ़ते हैं। तो इस आर ईक्यू के अंदर तुम्हारे पास पूरा डेटा यहां पे आने वाला
है। अब सुनो अब सुनो बहुत डिटेल में बात करने वाले हैं। अगर सो रहे हो तो उठ जाओ। उठ जाओ क्योंकि अब बहुत डिटेल में बात
करेंगे। सुनो हल्की-फुल्की चीजें नहीं पढ़ाने वाला। इस चीज का ध्यान रखना। हल्की-फुल्की चीजें नहीं पढ़ाऊंगा जो एक
बहुत बेसिक सर्वर तुम्हें क्रिएट करके बता दूं। ऐसा नहीं पढ़ाने वाला मैं तुम्हें। बहुत अच्छी चीजें पढ़ाने वाला हूं। सोना
मत। बहुत गंदा नुकसान होगा तुम्हारा। तुम्हारा होने वाला है। तुम अगर इस पर्टिकुलर पॉइंट पर खो भी रहे हो या तुम
इस पॉइंट पे इस वीडियो को शायद सोच रहे हो। मुझे लग नहीं रहा पड़ा इतना अच्छा रहा हूं कि हो नहीं सकता कि तुम इस पर्टिकुलर
पार्ट से वीडियो को छोड़ना चाह रहे हो। लेकिन अगर तुम्हारे मन में जरा सा भी डाउट है कि यार मैं इस वीडियो को छोड़ दूं।
[अचानक ज़ोर से सांस लेने की आवाज़][गहरी सांस लेने की आवाज़] तो याद रखना तुम अगर इस वीडियो को अभी छोड़ भी दोगे तो
कोई ना कोई बंदा बैठा होगा दिल्ली में, बेंगलुरु में, पुणे में, मुंबई में, कोलकाता में शायद तो जो इस वीडियो को
देखेगा और वो सीख जाएगा। मैं गारंटी दे रहा हूं कि भाई जो इस बंद जो इस वीडियो को देख लेगा उसको बैक एंड बहुत अच्छे से आने
वाला है। यह मैं अपनी गारंटी दे रहा हूं कि जो इस वीडियो को देख लेगा उसको बैक एंड बहुत अच्छे से आने वाला है। तो अगर तुम इस
वीडियो को अभी थोड़ा हल्के-फुल्के में ले भी रहे हो तो मत लो। मत लो। यह वीडियो तुम्हें काफी है। एक बहुत अच्छा बैक एंड
सिखाने के लिए। काफी है। इस चीज का ध्यान रखना। अब सुनो क्या होने वाला है? जो क्योंकि हम यहां पे पोस्ट मेथड का यूज़ कर
रहे हैं। पोस्ट मेथड का हम यहां पे यूज़ कर रहे हैं। तो यूज़ क्यों कर रहे थे? ताकि सर्वर पे डेट सेंड कर सकें। हां बिल्कुल
सेंड कर सकें। अब सर्वर पे डेट अगर हम यहां पे सेंड करना चाह रहे हैं तो अगर सर्वर पे डेटा आएगा तो उस डेटा को एक्सेस
करने के लिए हम क्या यूज़ करते हैं? रिक्वेस्ट का। रिक्वेस्ट को मैंने तुम्हें यही तो बताया था। क्या कह अगर फ्रंट एंड
से कोई भी डाटा आ रहा है उस डेटा को एक्सेस करने के लिए तुम क्या यूज़ कर रहे होगे? रिक्वेस्ट का यहां पे यूज़ कर रहेगे।
हां बिल्कुल यूज़ कर रहेगे। हां। तो अब रिक्वेस्ट यूज़ करोगे? हां बिल्कुल यूज़ करेंगे। तो डेटा आएगा किसके अंदर? तो पहले
कंसोल करके बता रहा हूं कि डेटा किसके अंदर आने वाला है। तो देखो रिक्वेस्ट डॉट बॉडी के अंदर डेटा तुम्हारे पास आएगा।
रिक्वेस्ट डॉट बॉडी के अंदर डेटा आता है। हां, रिक्वेस्ट डॉट बॉडी के अंदर डेटा आता है। बढ़िया। हां। तो रिक्वेस्ट डॉट बॉडी के
अंदर डेट आएगा? बिल्कुल आएगा। हां। तो अभी एक्सेस करके बता रहा हूं ना। रुको। देखो ये एपीआई तुमने क्रिएट कर ली। एपीआई क्या
क्रिएट किए हो? एपीआई तुमने क्रिएट किए हो। एपीआई का नाम एपीआई की मेथड क्या है? पोस्ट है और एपीआई का नाम क्या है? स्लैश
नोट्स। ये एक एपीआई तुमने क्रिएट किए हो। ठीक है? अब सर्वर यहां पे स्टार्ट करते हैं। सर्वर ऑलरेडी स्टार्ट है। लेकिन अभी
ये कोड नया लिखा है तो ये कोड उसके पास पहुंचा नहीं होगा। पुराना वर्जन अभी भी चल रहा है। तो नोड server. जेs यहां पे एंटर
करेंगे। नोड server. जेs लिखने के बाद हमारा सर्वर यहां पे स्टार्ट हुआ और सर्वर स्टार्ट होने के बाद अब मुझे क्या करना
है? फ्रंट एंड से डेटा भेजना है मेरे सर्वर पे। तो अब यह ब्राउज़र से कैसे बेचेंगे? ब्राउज़र से नहीं भेज पाओगे। अभी
के लिए भेजा जा सकता है बाद में जब फ्रंट एंड बहुत अच्छा क्रिएट कर लोगे। लेकिन अभी के लिए अभी फ्रंट एंड पे बात नहीं कर रहा
हूं। तो जो हम बैक एंड पे बात कर रहे हैं और बैक एंड पे जब तुम्हें एपीआई पे कोई डाटा भेजना रहता है बैक एंड बनाते टाइम तो
तुम वहां पे यूज़ करते हो एक अलग एप्लीकेशन। उसका नाम क्या रहता है? पोस्टमैन। तो पोस्टमैन
यहां पे पोस्टमैन.com यह जो अब तुम्हारा postman.com होने वाला है इस पे क्लिक करना। क्लिक करने के बाद साइन अप फॉर फ्री
या जो भी तुम्हारी यहां पे मशीन है Windows, Apple या Linux जो भी तुम्हारी मशीन है उसके अकॉर्डिंग तुम्हें यहां पे
डाउनलोड करना रहेगा पोस्टमैन। तो पोस्टमैन यहां पे तुम डाउनलोड करो। पोस्टमैन डाउनलोड करने के बाद इंस्टॉल करो और
इंस्टॉल करने के बाद साइन अप करने के लिए बोलेगा तो कंटिन्यू विद Google करके साइन अप सिंपल सा कर लेना। अब देखो पोस्टमैन जब
तुम यहां पे डाउनलोड करोगे तो मैं बहुत ज्यादा पोस्टमैन यूज़ करता हूं। तो यहां पे एक वर्कस्पेस ऑलरेडी ओपन होगी जहां पे
बहुत सारी एपीआई बनी है। लेकिन मैं यहां पे एक नई वर्क स्पेस क्रिएट कर रहा हूं। सो क्रिएट वर्कस्पेस और क्रिएट वर्कस्पेस
के अंदर ब्लैंक वर्कस्पेस रहेगी। ध्यान रखना तुम भी एक वर्कस्पेस क्रिएट कर सकते हो। ब्लैंक तो ब्लैंक वर्कस्पेस क्रिएट
करो। नेक्स्ट पे आएंगे। नेक्स्ट पे आने के बाद वर्कस्पेस का जो नाम रहेगा वाईटी कंप्लीट
बैक एंड वाईटी कंप्लीट बैक एंड एंड हम यहां पे कर सकते हैं इसको क्रिएट। ठीक है? ठीक है? ऐसे किया हमने क्रिएट और
क्रिएट करने के बाद जो हमारी वर्कस्पेस है वो क्रिएट हो चुकी है। अब वर्कस्पेस क्रिएट करने के बाद अब देखो करना क्या है?
पोस्टमैन क्या है? पोस्टमैन है क्या? पहले ये थोड़ा समझ लो कि भाई एग्जैक्टली पोस्टमैन है क्या? इंस्टॉल तो कर लिया
तुमने। अब सुनो पोस्टमैन क्या है? पोस्टमैन जब भी हम बैक एंड डेवलप कर रहे होते हैं। सिर्फ डेवलपमेंट टाइम की बात कर
रहा हूं। जब भी हम बैक एंड को डेवलप कर रहे होते हैं हर ना हर चीज हम डेवलप करते हैं शुरुआत वाले फज़ में बाद में उसको
प्रोडक्शन पे डालते हैं जहां पे वो एक कंप्लीट एप्लीकेशन बन जाता है। लेकिन जब तक बैक एंड का डेवलपमेंट फज़ चल रहा होता
है। डेवलपमेंट फज़ के टाइम पे हम पोस्टमैन का यूज़ करते हैं और पोस्टमैन एज अ फ्रंट एंड की तरह एक्ट करता है ताकि वो जो हम
एपीआई यहां पे डेवलप कर रहे हैं इन एपीआई को डेवलप करने में हमारी मदद कर सके। अभी मुझे यहां पे पोस्टमैन का यूज़ क्यों कर
रहा हूं? तो अभी एक सिंपल सा रीजन है क्या कि भाई ये एक एपीआई मैं बना तो रहा हूं स्लैश पोस्ट स्लैश नोट्स नाम की एक एपीआई
मैं क्रिएट कर रहा हूं और इस एपीआई पे डेटा आएगा नहीं आएगा कैसे आ रहा है ये मुझे यहां पे चेक करना है तो इतना करने के
लिए पोस्टमैन का यूज़ मैं यहां पे कर रहा हूं तो सुनो इधर पे एक प्लस का साइन होगा क्रिएट न्यू रिक्वेस्ट इस पे करना क्लिक
क्लिक करने के बाद अब देखो इधर पे तुम्हारे पास एचडीटीp प्रोटोकॉल का यूज़ किया जा रहा है और भी प्रोटोकॉल का तुम
यहां पे यूज़ कर सकते हो लेकिन अभी HDP प्रोटोकॉल है वही रहने दो अब मेथड कौन कौन सी यूज़ करोगे? तो मेथड यहां पे बहुत सारी
हैं। हम कौन सी यूज़ करेंगे? यहां पे पोस्ट मेथड का यूज़ यहां पे करने वाले हैं। और अब सुनो तुम कौन सी पर्टिकुलर हिट करने वाले
हो? तो लोकल होस्ट लोकल होस्ट कॉलन 3000 यहां पे तुम्हारा सर्वर चल रहा है। तो इसे तुम टारगेट करोगे। टारगेट करने के बाद
एपीआई कौन सी होने वाली है? एपीआई का नाम क्या है? स्लैश नोट्स। तो स्लैश नोट्स एपीआई को हिट करोगे। हां बिल्कुल करोगे।
तो अब सुनो। अब तुम्हें स्लैश नोट्स एपीआई को हिट तो करना है लेकिन इस एपीआई पे क्योंकि मेथड तुम पोस्ट यूज़ कर रहे हो तो
कुछ डेटा भी सेंड करना रहेगा। अब डेटा सेंड करने के लिए तुम्हारे पास यहां पे एक टैब आ रहा होगा इसका नाम क्या रहेगा? बॉडी
तो बॉडी टैब पे आओ। ये जो तुम्हारा रॉ फॉर्मेट होने वाला है। रॉ फॉर्मेट सेलेक्ट करना। रॉ फॉर्मेट सेलेक्ट करने के बाद इधर
पे तुम ऑप्शन सेलेक्ट करोगे। अब एक चीज का ध्यान रखना। हो सकता है बिल्कुल कि इधर पे टेक्स्ट सेलेक्ट हो। लेकिन यहां पे तो जो
जो तुम सेलेक्ट करोगे उसका नाम क्या रहेगा? जसन। तो jसन तुम्हें यहां पे सेलेक्ट करना रहेगा। अगर jसन सेलेक्ट नहीं
करोगे तो लॉक ट्राई कर लेना डाटा वहां पे नहीं पहुंच पाएगा। अब सुनो होगा क्या कि यहां पे तुम्हें करना क्या है कि भ हमें
यहां पे दो चीजें भेजनी है। क्या एक मुझे यहां पे भेजना है टाइटल और टाइटल की अभी यहां पे भी वैल्यू दे रहा हूं मैं क्या?
टेस्ट अंडरस्कोर टाइटल मैं यहां पे वैल्यू दे रहा हूं। अब सुनो टाइटल तुमने दे दिया। टाइटल देने के बाद तुम यहां पे एक चीज और
दो डिस्क्रिप्शन और डिस्क्रिप्शन क्या होने वाली है? डिस्क्रिप्शन तुम्हारी रहेगी टेस्ट डिस्क्रिप्शन। टेस्ट
डिस्क्रिप्शन यहां पे रखने वाले हो। तो टेस्ट टाइटल और टेस्ट डिस्क्रिप्शन ये दोनों चीजें तुम्हें यहां पे रखनी रहेंगी।
अब ये हो क्या रहा है? सुनो। और ये पहला फॉर्मेट क्या है? देखो ये जो फॉर्मेट तुम यहां पे देख रहे हो ये जावास्क्रिप्ट के
एक ऑब्जेक्ट की तरह तुम्हें देखने के लिए मिल रहा होगा। लेकिन ये है क्या? ये एक जेसन फॉर्मेट है। जसन फॉर्मेट में जो भी
तुम की देते हो ये भी स्ट्रिंग फॉर्मेट में रहेगी। जो तुम वैल्यू दोगे ये भी स्ट्रिंग फॉर्मेट में रहेगी। अगर वो नंबर
नहीं है तो नंबर अगर देना रहता है नंबर को तुम एज अ नॉर्मल नंबर की तरह दे दो। लेकिन अगर वह नंबर नहीं है तो उस जो भी वैल्यू
होने वाली है वो स्ट्रिंग फॉर्मेट में जाएगी। जेएस फॉर्मेट में की भी स्ट्रिंग फॉर्मेट में रहती है और वैल्यू भी यहां पे
स्ट्रिंग फॉर्मेट में हो रही होती है और बाकी नॉर्मल ऑब्जेक्ट की तरह ये काम करता है। तो अब सुनो ये तुमने वैल्यू दे दी। अब
सुनो होगा क्या? तुम पोस्टमैन से एक रिक्वेस्ट भेजोगे तुम्हारे बैक एंड के सर्वर पे जो पोर्ट नंबर 3000 पे तुम्हारी
मशीन के अंदर चल रहा है। और वो तुमने कहां पे बताया? यहां पे बताया। क्या कि देखो पोस्टमैन के अंदर तुमने लिखा कि लोकल
होस्ट कॉलन 3000 इसका मतलब क्या है कि भाई जो लोकल मशीन पे पोर्ट नंबर 3000 पे जो भी सर्वर चल रहा है उसके पास जो स्लैश नोट्स
एपीआई जिसकी मेथड क्या है पोस्ट उस पे हम रिक्वेस्ट कर रहे हैं और रिक्वेस्ट करने के साथ-साथ रिक्वेस्ट के अंदर कुछ डेटा
भेज रहे हैं और डेटा में हमारे पास क्या है? टाइटल और डिस्क्रिप्शन। ये दोनों डेटा मैं यहां पे भेज रहा हूं। तब देखो अब अगर
मैं इसको सेंड करूंगा तभी कोई रिस्पांस नहीं आने वाला। रिस्पांस कुछ क्यों नहीं आएगा? क्योंकि अभी आपने यहां पे इस एपीआई
से कोई रिस्पांस भेजा नहीं है। इस वजह से कोई रिस्पांस नहीं आएगा। लेकिन इस एपीआई पे रिक्वेस्ट आई है। बिल्कुल आई है।
क्यों? क्योंकि देखो ये जो तुम्हारा सर्वर है ये सर्वर कौन से पोर्ट पे चल रहा है? 3000 पे। और पोस्टमैन पे तुमने लोकल होस्ट
पे जो पोर्ट नंबर 3000 में चल रहा है उस पे रिक्वेस्ट भेजी है। एपीआई कौन सी थी? स्लैश नोट्स थी। हां यही तुम्हारी एपीआई
थी। मेथड क्या थी? पोस्ट थी। तो देखो तुमने यहां पे पोस्ट मेथड के साथ स्लैश नोट्स एपीआई ये क्रिएट की तो रिक्वेस्ट इस
पे आई होगी और अगर रिक्वेस्ट इस पे आई है तो ये कॉल बैकक चला होगा और इस कॉल बैकक के अंदर हमने कंसोल करवाया क्या रिक्वेस्ट
डॉट बॉडी हां बिल्कुल कंसोल करवाया अच्छा तो कंसोल अगर करवाया है तो हुआ क्या यहां पे आया है अनडिफाइंड अनडिफाइंड ठीक है एक
बार फिर से करके देखते हैं कैंसिल किया रिक्वेस्ट फिर से भेजेंगे सेंड किया सेंड करने के बाद फिर से क्या आया अनडिफाइंड
आया फिर फिर से कर लेते हैं। ठीक है? एक बार फिर से सेंड किया। फिर से यहां पे क्या आ रहा है? अनडिफाइंड आ रहा है। तो
क्या हम कुछ गलती कर रहे हैं? नहीं। पोस्टमैन साइड से तो एटलीस्ट कोई गलती नहीं कर रहे हैं। पोस्टमैन के साइड से कोई
गलती नहीं है। पोस्टमैन बराबर यहां पे डेटा भेज रहा है। पोस्टमैन के साइड से कोई गलती नहीं है। तो गलती कहां पे? गलती हम
अभी यहां पे कर रहे हैं सर्वर को प्रोग्राम करते टाइम। कैसे? कि देखो जब भी तुम्हें डेटा रिक्वेस्ट डॉट बॉडी में
चाहिए रहता है तब तुम्हें यहां पे एक मिडिल वेयर यूज़ करना पड़ेगा। मिडिल वेयर क्या होता है? तो मिडिल वेयर कुछ होता है।
इसके जो इसके बाद का जो दूसरा तीसरा पार्ट होने वाला है वहां पे मैं बहुत अच्छे से एक्सप्लेन करूंगा। लेकिन अभी के लिए एक
मिडिल वेयर यूज़ करना रहेगा। तो मिडिल वेयर कौन सा होने वाला है? मिडिलवेयर का नाम रहेगा एक्सप्रेस डॉट json। तो एक्सप्रेस
डॉट json एक मिडिल वेयर होता है। हां ये एक मिडिल वेयर होता है। तो इसको यूज़ कैसे करना है? इसको यूज़ करने के लिए तुम्हें
इसको लिखना पड़ता है। कैसे? यहां पे तुम्हें लिखना पड़ेगा app डॉट यूज़ और फिर उसके अंदर पैरेंथेसिस के अंदर एक्सप्रेस
डॉट जेसन तुम यहां पे लिखोगे। तो ये मिडिल वेयर करता क्या है? ये डिलीवर करेगा ये कि जो भी डेटा पोस्टमैन से तुम बॉडी के अंदर
भेज रहे हो रॉ फॉर्मेट के अंदर यहां पे इस डेटा को एक्सप्रेस के लिए रीडेबल बना देता हो। मतलब कि बाय डिफ़ॉल्ट एक्सप्रेस जो भी
डेटा बॉडी के अंदर आने वाला है उसको रीड नहीं कर सकता। नहीं कर सकता वो। उसके बाद इतनी कैपेसिटी नहीं होती है कि भाई
एक्सप्रेस से जो आपने सर्वर क्रिएट किया वो सर्वर बॉडी के अंदर जो डेटा आने वाला है उस डेटा को वो पढ़ सके। इतनी कैपेसिटी
उसके अंदर नहीं रहती है। ये जो तुम्हारा एक्सप्रेस डॉट json मिडिल वेयर है ये मिडिल वेयर ये कैपेसिटी एक्सप्रेस फोल्ड
एक्सप्रेस सर्वर के अंदर ऐड करता है कि जो भी डेटा बॉडी के अंदर आएगा उस डेटा को वो हम रीड कर सकके तो अब देखो वापस से सर्वर
एक बार बंद करेंगे और हम यहां पे इसको स्टार्ट करते हैं विद नोड server डॉटjs तो serverjs हमने यहां पे स्टार्ट किया वापस
से अगर पोस्टमैन पे आते हैं इधर पे कुछ चेंज नहीं कर रहा है डायरेक्ट मैं यहां पे करूंगा सेंड सेंड करने के बाद अब देखो
यहां पर देखो देखो देखो देखो यहां पर हो क्या रहा है यहां पर एक ऑब्जेक्ट आ रहा है। ऑब्जेक्ट के अंदर एक टाइटल प्रॉपर्टी
है। एक कौन सी प्रॉपर्टी? डिस्क्रिप्शन। टाइटल की वैल्यू क्या है? टेस्ट टाइटल। और डिस्क्रिप्शन की वैल्यू क्या है? टेस्ट
डिस्क्रिप्शन। तो अब रिक्वेस्ट डॉट बॉडी में हमारे पास क्या आ रहा है? रिक्वेस्ट डॉट बॉडी में हमारे पास एक ऑब्जेक्ट आ रहा
है। ऑब्जेक्ट के अंदर दो प्रॉपर्टीज हैं। टाइटल और डिस्क्रिप्शन। और यही तो हमें चाहिए था। तो अब देखो ये जो रिक्वेस्ट डॉट
बॉडी के अंदर एक ऑब्जेक्ट आ रहा है। इसे मैं पुश करवाऊंगा नोट्स अरे के अंदर। तो नोट्स डॉट पुश और पुश के अंदर रिक्वेस्ट
डॉट बॉडी के अंदर जो भी डेटा रहेगा उसे मैं यहां पे पुश करवाऊंगा और रिस्पांस डॉट स्टेटस हम यहां पे यूज़ करेंगे 2001 अब
2001 क्या है इसको जो अभी तुमने एक पीडीएफ दिया होगा मैंने एक पीडीएफ उस पीडीएफ को तुम थोड़ा पढ़ो देखो मैं तुम्हें बता दे रहा
हूं ये पीडीएफ डिस्क्रिप्शन में तुम्हें मिलेगी तो ये जो पीडीएफ है इसमें जो स्टेटस कोड वाला एक पार्ट होने वाला है
दिस वन स्टेटस कोड स्टेट एचटीटीपी स्टेटस कोड्स तो यहां पे जो कॉमन स्टेटस कोड होने वाला है इसमें 2001 ये वाला एक स्टेटस कोड
होगा। इसकी कैटेगरी क्या रहती है कि भाई जो तुम्हारा काम है वो सक्सेसफुली हो चुका है। इसके लिए यह किया जाता है। और
डिस्क्रिप्शन क्या है? डिस्क्रिप्शन रहता है कि भ जब भी एक नया रिसोर्सेज बैक एंड में क्रिएट किया जाता है तब यहां पे
स्टेटस कोड 2001 का यूज़ करते हैं। और इसके जैसे और भी स्टेटस कोड होते हैं जो आपको यहां पे पीडीएफ मिलने वाली है। इस
पीडीएफ में आप पढ़ सकते हो। ये सेम पीडीएफ रहेगी। पीडीएफ थोड़ी सी अलग दिख सकती है लेकिन कंटेंट उसका सेम यहां पे होने वाला
है। तो यहां पे और भी बहुत सारे स्टेटस कोड हैं। लेकिन मेनली जो अभी हम यहां पे देख रहे हैं वो स्टेटस कोड कौन सा है?
2001 और 2001 स्टेटस कोड हम तब यूज़ करते हैं जब हम बैक एंड में एक नया रिसोर्स क्रिएट कर रहे होते हैं। तो नया रिसोर्स
कहां क्रिएट कर रहे हैं? क्रिएट कर रहे हैं। सुनो सुनो क्या कर रहे हैं। हम यहां पे जब हमने सर्वर स्टार्ट किया था तो उस
टाइम पे जो हमारा नोट्स अरे था ये नोट्स अरे एम्प्टी था। ये नोट्स अरे एम्प्टी था। लेकिन जब हमारे पास फ्रंट एंड से एक
रिक्वेस्ट आई, रिक्वेस्ट आने के बाद रिक्वेस्ट डॉट बॉडी में जो डेटा आया, उस डेटा को हमने पुश कहां पे कर दिया? नोट्स
एरे के अंदर। मतलब क्या? कि भाई पहले नोट्स एरे एम्प्टी था और अब इसके अंदर एक नया एलिमेंट आ चुका है। मतलब कि एक नया
एलिमेंट इसके अंदर क्रिएट हुआ है। एक नया नोड क्रिएट हुआ है। तो मतलब कुछ आया ना? कुछ नया तो यहां पे आया। कुछ नई चीज यहां
पे क्रिएट हुई है नोट्स एरे के अंदर। तो उसी को हम यहां पे बोलते हैं रिसोर्स। तो रिसोर्स यहां पे क्रिएट हुआ है। इस वजह से
स्टेटस कोड हम यहां पे क्या यूज़ करेंगे? 2001। और जनरली जो हम मैसेज वापस से रिस्पांस में सेंड करते हैं वो जसन
फॉर्मेट में रहता है। तो जेएस फॉर्मेट में मैसेज सेंड करने के लिए यहां पे मैं बोलूंगा मैसेज और मैसेज सर्वर पे आपको कोई
यहां पे स्ट्रिंग फॉर्मेट में नहीं देना रहेगा। नोट क्रिएटेड सक्सेसफुली। इतना आप यहां पे इजीली पेस्ट कर सकते हो। तो
स्टेटस कोड क्या आ जाएगा अपना? 2001 जसन फॉर्मेट में मैसेज हम यहां पे भेजेंगे। नोट क्रिएटेड सक्सेसफुली। तो अब देखो वापस
से सर्वर को एक बार हम रिस्टार्ट करेंगे। रिस्टार्ट करने के बाद नोड सर्वर जेs यह हमने स्टार्ट किया। स्टार्ट करने के बाद
अब अगर मैं पोस्टमैन पे आता हूं। इसे करता हूं सेंड। तो सेंड करने के बाद देखो मेरे पास रिस्पांस में इस बार क्या आ रहा है?
मैसेज नोट क्रिएटेड सक्सेसफुली। और नोट क्रिएट करने के बाद अब मेरे पास यहां पे हुआ क्या? सुनो। सुनो। तुम फ्रंट एंड से
रिक्वेस्ट कर रहे थे। रॉ फॉर्मेट में रिक्वेस्ट डॉट बॉडी में टाइटल और डिस्क्रिप्शन दो चीजें तुमने भेजे।
रिक्वेस्ट डॉट बॉडी में जो डेटा आया वो ऑब्जेक्ट फॉर्मेट में आया होगा। और जो भी ऑब्जेक्ट आया होगा उसको पुश कहां पे कर
दिया? नोट्स एरे के अंदर। तो मतलब कि नोट्स एरे के अंदर एक ऑब्जेक्ट होगा जिसके अंदर दो प्रॉपर्टीज होंगी। प्रॉपर्टीज कौन
सी? टाइटल और डिस्क्रिप्शन। ये दोनों चीजें तुमने एरे के अंदर पुश कर दी। पुश करने के बाद कि भाई तुमने एक नोट क्रिएट
कर लिया तुम्हारे बैक एंड के सर्वर पे। फिर तुम यहां पे स्टेटस कोड में बोलोगे 2001 कि एक नया रिसोर्स क्रिएट हुआ है। और
JSN फॉर्मेट में एक मैसेज भेजोगे क्या? कि नोट क्रिएटेड सक्सेसफुली। इतना तुम यहां पे करने वाले हो। अब सुनो। तो जो हमारी एक
एपीआई थी जहां पे यूजर एक नोट को क्रिएट कर सकता है। हमारे सर्वर पे स्टोर कर सकता है। ये हमने क्रिएट कर ली। अब हम यहां पे
एक एपीआई और क्रिएट करेंगे। ये एपीआई क्या रहेगी कि भ यूजर ने जितने भी नोट क्रिएट किए होंगे वो सारे के सारे नोट वहां पे
देख सकता होगा। तो अब इतना करने के लिए हम यहां पे मेथड कौन सी यूज़ करेंगे? देखो अब करना क्या है? सुनो सुनो सुनो सुनो। अब
करना क्या है? एपीआई कौन सी सुननी है? ध्यान से सुनना। सुनो। देखो हमें यहां पे एक एपीआई क्रिएट करनी है।
जिस एपीआई को अगर यूजर यूज़ करेगा तो जितने भी नोट उसने क्रिएट किए होंगे सर्वर पे जितने भी नोट उसने क्रिएट किए होंगे वो
सारे के सारे नड का डेटा वो फ्रंट एंड पे देख सकता होगा। अगर मुझे सुनो अब अगर मुझे जितने भी नोट क्रिएट हुए हैं बैक एंड पे
वो डेटा मुझे अगर फ्रंट एंड पे दिखाना है तो वो डेटा मुझे फ्रंट सर्वर से सेंड करना रहेगा फ्रंट एंड पे। इतना तो मानते हो कि
कोई भी डेटा अगर मुझे फ्रंट एंड पे दिखाना है तो पहले वो डेटा फ्रंट एंड पे जाना चाहिए। और वो डेटा अभी कहां पे है? सर्वर
पे। तो सर्वर से डेटा मुझे सेंड करना रहेगा फ्रंट एंड पे। और सुनो जब मुझे डेटा सर्वर से फ्रंट एंड पे भेजना रहता है। कौन
सी मेथड यूज़ होती है? गेट का। तो सर्वर से डेटा फैच करवाना हो तब हम यूज़ करते हैं किसका? गेट मैटर का यहां पे यूज़ कर रहे
होते हैं। तो अब देखो यहां अब हम एक एपीआई क्रिएट करेंगे। एपीआई की मेथड क्या होने वाली है? एपीआई
की मेथड रहेगी गेट। और एपीआई का नाम स्लैश नोट्स ही रहेगा। अरे यार ये कैसे हो रहा है? मतलब ये समझे नहीं। देखो तो यहां पे
भी एपीआई का नाम स्लैश नोट्स है। यहां पे भी एपीआई का नाम स्लैश नोट्स है। हां मैं कहां बोल रहा हूं कि अलग है। दोनों सेम ही
हैं। तो अलग क्या है? अलग है ना? मेथड मेथड अलग है। देखो यहां पे जो तुमने एपीआई क्रिएट किए थे ये पोस्ट मेथड थी। क्यों?
क्योंकि डेटा फ्रंट एंड से सर्वर पे आ रहा था। लेकिन यहां पे जो तुम मेथड यूज़ कर रहे हो गेट मेथड है। क्यों? क्योंकि यहां पे
इस एपीआई से डेटा सर्वर से फ्रंट एंड पे जा रहा होगा। तो यहां पे एपीआई का नाम बिल्कुल सेम है लेकिन मेथड अलग-अलग है। इस
वजह से दोनों एपीआई यहां पे अलग-अलग है। तो मेथड क्या है इसकी? गेट है और एपीआई का नाम क्या है? स्लैश नोट्स है। बढ़िया। तो
अब देखो जब भी इस एपीआई पे रिक्वेस्ट आएगी तो हम यहां पे करेंगे क्या? इधर पे हम रिस्पांस स्टेटस 200 भेजेंगे। और 200 के
अंदर अब 200 क्या करती है? एग्जैक्टली थोड़ा पढ़ना कि भाई जो पीडीएफ दी है उसको पढ़ो
थोड़ा बहुत। यहां पे हम बोलेंगे कि भाई इधर पे अगर मैं आता हूं तो नोट्स नोट्स जो भी हमारा है तो नोट्स में हम क्या भेज रहे
हैं? नोट्स में जो हमारे पास ये अरे इस ये अरे अपना क्या है? इस एरे के अंदर जितने भी नोट्स हमारे रहते हैं उन सारे नोट्स को
हम इसी एरे के अंदर स्टोर कर रहे होते हैं। तो जब भी गेट एपीआई पे मेरे पास रिक्वेस्ट आएगी तो जितने भी नोट्स मेरे
नोट्स अरे के अंदर सेव होंगे वो सारे के सारे नोट्स मैं एक ही बार में रिस्पांस में सेंड कर दूंगा। साथ ही साथ मैं यहां
पे एक मैसेज भेज रहा हूं कि नोट्स फैज सक्सेसफुली इतना मैसेज भी हम यहां पे भेजने वाले हैं। तो अब देखो क्योंकि ये
कोड भी हमने अभी-अभी नया ऐड किया तो वापस सर्वर को हम स्टार्ट करेंगे। स्टार्ट करने के बाद नड
सर्वर डॉट जेएस एंटर करा। एंटर करने के बाद सर्वर रिस्टार्ट हुआ। पोस्टमैन पे वापस आएंगे। सो दिस इज़ आवर पोस्टमैन। एक
हम नड क्रिएट करेंगे। नोड क्रिएट हुआ। एक एपीआई क्रिएट करेंगे। मेथड इसकी गेट ही होने वाली है। लोकल पोस्ट कॉलन 3000 स्लश
नोट्स। तो देखो एपीआई तो अभी भी सेम है लेकिन मेथड यहां पे अलग है। तो अब देखो जब मैं इस एपीआई पे रिक्वेस्ट भेजूंगा मेरे
सर्वर पे तो ये रिक्वेस्ट कहां पे जाएगी? ये एपीआई जाएगी। मेथड कौन सी सेलेक्ट किए थे? गेट मेथड सेलेक्ट किए थे। तो स्लैश
नोट्स की जो गेट मेथड वाली एपीआई होगी। दिस वन स्लैश नोट्स की जो गेट मेथड वाली एपीआई है इस एपीआई पे रिक्वेस्ट जाएगी। तो
इस एपीआई पे अगर रिक्वेस्ट जाएगी तो रिस्पांस मेरे पास क्या आएगा? स्टेटस कोड 200 और जेसन फॉर्मेट में एक मेरे पास
मैसेज आएगा नोट्स फैच सक्सेसफुली और जितने नोट्स मैंने क्रिएट किए होंगे वो अरे मेरे पास यहां पे आ रहा होगा तो देखो अभी मैंने
यहां पे एक नोट क्रिएट किया था ना तो वही नोट यहां पे मेरे पास आ जाएगा देखो एक मैसेज आ रहा है मैसेज नोट फैज सक्सेसफुली
और नोट्स क्या है नोट्स एक अरे है और ये अरे के अंदर एक ऑब्जेक्ट है टाइटल टेस्ट टाइटल डिस्क्रिप्शन टेस्ट डिस्क्रिप्शन
अच्छा एक नोट और क्रिएट करते हैं चलो तो यहां पे एक नोट हम यहां पे और क्रिएट करेंगे और इधर पे हम बोलेंगे अंडरस्को
स्कोर टू अंडरस्कोर टू हम यहां पे बोल रहे होंगे। इसे किया सेंड। सेंड करने के बाद तो नोट क्रिएटेड सक्सेसफुली यहां पे हो
जाएगा। और देखो अब दो नोट क्रिएट हो चुके होंगे। अब दोनों नोट को अगर मैं यहां पे फैच करता हूं तो देखो अब एक एक मेरे पास
अरे तो आ रहा है लेकिन अरे के अंदर अब यहां पे दो ऑब्जेक्ट हैं। और दोनों ऑब्जेक्ट के अंदर एक टाइटल आ रहा है,
डिस्क्रिप्शन आ रहा है। तो यहां पे अगर तुम देखोगे अब एक मेरे पास दो एपीआई है। अब मेरे पास यहां पे दो एपीआई हैं। एक
जिसकी मेथड पोस्ट है। इस पर्टिकुलर एपीआई पोस्ट मेथड की एपीआई के साथ मैं नोट को क्रिएट कर सकता हूं। और गेट मेथड की एपीआई
के साथ जितने भी नोट मैंने सर्वर पे क्रिएट किए होंगे वो सारे के सारे नोट मैं वापस से फैच कर सकता हूं। यह मैं यहां पे
परफॉर्म कर सकता हूं। तो सुनो अब यहां पे दो एपीआई हमारी कंप्लीट हो चुकी है। अब हमें यहां पे एक एपीआई और क्रिएट करनी है।
ये एपीआई कौन सी होने वाली है? के जिस भी पर्टिकुलर नोट को आप डिलीट करना चाहोगे वो नोट यहां पे डिलीट हो जाना चाहिए। और इसके
लिए हम यूज़ क्या करेंगे? पैरम्स का इंडेक्स का। अब ये दोनों से फर्क क्या है? सुनो। हो क्या रहा है? सुनो। जो अभी तुम
नोट्स स्टोर कर रहे हो जो तुम अभी नोट्स स्टोर कर रहे हो वो कुछ ऐसे कर रहे हो कि भाई तुम्हारे पास एक अरे है और इस अरे के
अंदर तुम्हारे पास नोट वन नोट टू कुछ ऐसे करते हुए तुम्हारे पास डेटा है लेट्स से कि यहां पे तुम्हारे पास नोट वन है ये अरे
अरे के अंदर ठीक है ये अपना अरे तो अरे में अपने पास फिर ये नोट टू है। फिर ऐसे ही करते-करते जितने भी नोट तुम्हारे पास
होंगे वो सारे के सारे अरे के फॉर्मेट में स्टोर यहां पे होते रहेंगे। अब सुनो अब अरे के अंदर जो भी तुम चीज स्टोर करते हो
उन सभी एलिमेंट्स का एक-एक नंबर प्रेजेंट रहता है। तो यहां पे एक मैं और स्टोर कर रहा हूं बस
बस एक एलिमेंट मुझे और लगेगा न फोर। ठीक है? तो हमारे पास यहां पे एक एलिमेंट और आ गया। ठीक है? तो देखो हमारे
पास नोट वन, नोट 2 टू, नोट थ्री और नोट फोर ये एलिमेंट हैं। अब अरे के अंदर जितने भी आप यहां पर एलिमेंट रखते हो उन सभी
एलिमेंट का एक रहता है इंडेक्स। जैसे कि नोट वन का जो इंडेक्स होगा वो आपका ज़ीरो होगा। फिर नोट टू का जो आपका इंडेक्स होगा
ये आपका वन रहेगा। नोट थ्री का जो आपका इंडेक्स होने वाला है ये आपका रहेगा टू और नोट फोर का जो इंडेक्स रहेगा ये क्या
रहेगा आपका? थ्री होने वाला है। तो यहां पर तीन एलिमेंट है और ये तीनों एलिमेंट के
अलग-अलग इंडेक्स हमारे पास होने वाले हैं। नोट वन का जीरो इंडेक्स, नोट टू का वन इंडेक्स, नोट थ्री का टू इंडेक्स और नोट
फोर का थ्री इंडेक्स यहां पे होने वाला है। अब सुनो बहुत सारे नोट हो सकते हैं, 100 नोट हो सकते हैं। उनके उतने इंडेक्स
भी यहां पे जा रहे होंगे एग्जांपल के लिए। अब इतना लेते हैं। तो सुनो हो क्या रहा है कि अब देखो मान लो कि भाई अगर मुझे एक नोट
को डिलीट करना है। अगर मुझे यहां पे मान लो नोट थ्री को डिलीट करना है तो फ्रंट एंड से मैं बस इतना बोलूंगा कि भाई जो
इंडेक्स टू पे जो नोट भेजा होगा उस नोट को डिलीट कर दो। अगर मैं इंडेक्स टू पे जो नोट बैठा है उसको देखता हूं वो कौन सा है?
नोट थ्री है। तो मैं नोट थ्री को डिलीट यहां पे कर दूंगा। इतनी कहानी यहां पे होने वाली है। अगर मुझे नोट फोर को डिलीट
करना है तो इंडेक्स थ्री मैं बोलूंगा भाई इंडेक्स थ्री को आप डिलीट कर दो और नोट 4 यहां पे डिलीट हो जाएगा। इतना मैं यहां पे
करने वाला हूं। आई होप आपको आईडिया लग गया होगा कि मैं कैसे क्या करने वाला हूं। मैं फ्रंट एंड से सिर्फ ये बोलूंगा कि भाई इस
पर्टिकुलर इंडेक्स पे जो भी नोट होगा उस नोट को आप डिलीट कर दो और वो नोट वहां से डिलीट हो जाएगा। ये हमें यहां पे करना है।
अब इतना करने के लिए देखो हमें करना क्या है? हमें अब नोट को डिलीट करना है। और सुनो जब हमें एक नोड को डिलीट करना रहता
है या किसी भी चीज को डिलीट करना रहता है सर्वर पे तो हम मेथड कौन सी यूज़ करते डिलीट मेथड का यहां पे यूज़ कर रहे होते
हैं। तो सर्वर पर डेटा है और उसे डिलीट करना है तो हम यहां पे डिलीट मेथड का यूज़ करेंगे। तो इधर पे आते हैं एक एपीआई
क्रिएट करेंगे। एपीआई की मेथड क्या रहेगी? एपीआई की मेथड यहां पे होने वाली है डिलीट और नाम उसका क्या रहेगा? स्लैश नोट्स और
इधर पे एक जाएगी इंडेक्स। अब ये जो कॉलन इंडेक्स है ये किस ये क्या है? तो इस पे हम यहां पे बात करने वाले हैं। सुनो। तो
देखो हम यहां पे एक एपीआई क्रिएट करेंगे। ऐप डॉट डिलीट ये हमारी एपीआई की मेथड रहेगी। और एपीआई का जो नाम रहेगा वो रहेगा
स्लैश नोट्स और स्लैश इंडेक्स यहां पे होने वाला है। और इसके बाद एक कॉल बैक जाएगा। मैं बता रहा हूं। बता रहा हूं ये
इंडेक्स क्या है? बस दो मिनट रुक जाओ। 2 मिनट रुक जाओ। मैं बता रहा हूं कि भाई क्या ये इंडेक्स होने वाला है। तो सुन अब
मान लो कि मुझे यहां पे ये जो नोट टू है ये मुझे डिलीट करना है। तो इसका इंडेक्स क्या है? वन है। तो अब यहां पे जो एपीआई
मैं कॉल करूंगा इधर पे अब जो एपीआई मैं कॉल करूंगा वो एपीआई क्या रहेगी? वो एपीआई मेरी होने वाली है राइट डिलीट मेथड के साथ
जो स्लैश नोट स्लैश वन में कॉल करूंगा। तो अब यहां पे इंडेक्स क्या आ रहा है? वन आ रहा है। तो वन इंडेक्स पे जो भी नोट बैठा
होगा उसे मैं डिलीट कर दूंगा। सिमिलर वे पे अगर मुझे नोट फोर को डिलीट करना है तो इसका इंडेक्स क्या है? थ्री है। तो इधर पे
मैं क्या बोलूंगा? थ्री बोलूंगा। ये मैं यहां पे बोल रहा और सिमिलर वे पे अगर मुझे नोट थ्री को डिलीट करना है तो इसका
इंडेक्स क्या है? टू है। तो इधर पे मैं बोल दूंगा टू। अब इसके अलावा अगर मुझे नोट जो एकदम 100 वाला होगा नोट अगर मुझे वो
डिलीट करना है तो इधर पे मैं क्या डालूंगा? 99 डालूंगा। तो ये अपना यहां पे होने वाला है। और अगर 15th जो मेरा नोट
रहेगा उसको डिलीट करना है तो 14 इंडेक्स मैं यहां पे डाल रहा। तो ये एक चीज रहती है। अब इस चीज से तुम्हें बस एक चीज समझनी
है। मतलब इस पूरे सिनेरियो से बस तुम्हें एक अ लेना है क्या कि भाई स्लैश न स्लैश ये वाला जो तुम्हारा पार्ट है स्लैश न
स्लैश ये स्टैटिक है। ये स्टैटिक है। ये तो चेंज हो नहीं रहा था। चेंज क्या हो रहा था? ये वाला पार्ट कभी यहां पे वन आ रहा
था। कभी यहां पे थ्री आ रहा था। कभी यहां पे 14 आ रहा था। कभी यहां पे 99 आ रहा था। तो ये जो स्लैश के बाद वाला पार्ट है ये
क्या है? तुम्हारा डायनेमिक स्लैश न स्लैश ये तुम्हारा स्टैटिक है लेकिन स्लैश के बाद जो आ रहा है ये वाला पार्ट क्या है
तुम्हारा डायनेमिक और तो जो डायनेमिक पार्ट रहता है राउट्स के अंदर उसे हम कंसीडर करते हैं क्या पैरेंट्स पैरेंट्स
उसे कंसीडर करते हैं तो और तुम्हें अगर बताना है तुम्हारे एक्सप्रेस के एपिलेशन को बताना है कि भाई स्लैश नोट स्लैश ये तो
स्टैटिक है वो तो बाय डिफ़ॉल्ट रहेगा लेकिन इस स्लैश के बाद जो पार्ट आ रहा है ये डायनेमिक है तो इतना तुम यहां पे बता दो
बस कॉलन लिख दो तो कॉलन लिखने से होगा क्या कॉलन लिखने से बस फायदा ये रहता है एक्सप्रेस एप्लीकेशन को पता चल जाता है कि
हां भाई कॉलन के बाद जो भी आने वाला है यह डायनेमिक रहेगा। अच्छा तो डायनेमिक तो रहेगा। इसको एक्सेस कैसे करेंगे? तो सुनो
अब देखो यहां पे ये जो स्लैश के बाद कॉलन तुमने लिख दिया और यहां पे कॉलन के बाद तुमने क्या लिख दिया? इंडेक्स। तो अब इधर
पे होगा क्या? कि अब स्लैश के बाद जो भी वैल्यू आएगी लेट्स से यहां पे वैल्यू आ रही है वन। और मुझे पता करना है कि भाई
यहां पे एग्जैक्टली वैल्यू क्या थी? तो उसके लिए तुम यहां पे लिखोगे मतलब ऐसा नहीं लिखना है बस अगर तुम्हें
पता करना है तो सिंपल उसका तरीका रहता है रिक्वेस्ट डॉट पैरेंस डॉट इंडेक्स इस रिक्वेस्ट डॉट parents डॉट इंडेक्स से तुम
पता कर सकते हो कि भाई इस इंडेक्स की जगह क्या वैल्यू आई थी और जो भी यहां पे वैल्यू आने वाली है इसे तुम सेव कर लेना
इंडेक्स वेरिएबल के अंदर तो क्या इस इंडेक्स वेरिएबल का नाम इंडेक्स होना चाहिए नहीं मामा चाचा जो तुम्हें रखना है
वो रख सकते हो लेकिन कुछ भी नाम रख सकते हो एंड ये है तो अब सुनो अब होगा क्या कि देखो अगर यहां यहां पे न स्लश वन है।
स्लैश न स्लैश वन है। तो यहां पे इंडेक्स की वैल्यू क्या रहेगी? इंडेक्स की वैल्यू यहां पे हो रही होगी वन। और अगर यहां पे
स्लैश न स्लैश 34 है तो यहां पे जो इंडेक्स की वैल्यू होगी वो क्या होगी? 34 होगी। सिमिलर वे पे अगर यहां पे 15 है तो
यहां पे स्लैश इंडेक्स की यहां पे इंडेक्स की वैल्यू क्या होगी? यहां पे इंडेक्स की वैल्यू हो रही होगी 15। अगर मतलब समझो तो
वो कुछ ऐसा है कि अब यहां पे जो भी डायनेमिक पार्ट आने वाला है डायनेमिक कुछ भी आ सकता है। यहां पे डायनेमिक कुछ भी आ
सकता है। जो भी यहां पर आएगा उसकी वैल्यू आप रिक्वेस्ट डॉट पैरेंस डॉट इंडेक्स के थ्रू एक्सेस कर सकते हो। और जो भी वैल्यू
यहां पे आएगी उसे आप सेव कहां पे कर दोगे? इंडेक्स वेरिएबल के अंदर। अब देखो जो भी इंडेक्स लेट्स से कि हमारे पास यहां पे
अभी जो इंडेक्स की वैल्यू है वन है। तो इधर पे जो स्टोर होगा इंडेक्स में वो क्या होगा? वन होगा। तो अब मुझे करना क्या है
कि ये जो मेरा अरे है जो मेरा यहां पे अरे है इस अरे के जो इंडेक्स वन है इसे मुझे डिलीट करना है। ये मेरा पूरा नोट्स का अरे
है। इस नोट्स के अरे में जो इंडेक्स वन आ रहा है ये मुझे डिलीट करना है। तो इतना करने के लिए मुझे क्या करना पड़ेगा? एक
सिंपल सी लाइन लिखनी है। कौन सी? यहां पे तुम लिख देना डिलीट। और डिलीट में तुम यहां पर बोलोगे हां डिसट नहीं नोट्स
का जो इंडेक्स है जो भी नोट्स के इस पर्टिकुलर इंडेक्स पे बैठा है उस पर्टिकुलर नोट को तुम डिलीट कर दो बस इतना
तुम्हें यहां पे लिखना रहेगा और फिर यहां पे तुम रिस्पांस डॉट स्टेटस भेज सकते हो 200 और 200 के बाद तुम यहां पे jसन भेजोगे
jेसन और jसन में तुम यहां पे मैसेज भेज सकते हो नो डिलीटेड सक्सेसफुली इतना तुम यहां वहां पे मैसेज रिस्पांस में भेज सकते
हो। तो देखो अब होगा क्या? अब ये वाला पार्ट तुम्हें थोड़ा कॉम्प्लेक्स लगेगा। लेकिन ट्रस्ट मी एक बार जब तुम करके
देखोगे थोड़ा कोड ये जब एपीआई तुम खुद से ट्राई करोगे कंसोल करवा के देखोगे इंडेक्स की वैल्यू तो वो सारी चीजें कंसोल हो रही
होंगी। ये यहां पे होने वाला है। तो बस एक बार ट्राई करो। ये भी तुम्हें क्लियर हो जाएगा। बस प्रैक्टिस करो। तुम्हें ये भी
चीजें क्लियर हो जाएंगी। हल्का सा कॉम्प्लेक्स लगेगा। बहुत ज्यादा कॉम्प्लेक्स नहीं लग रहा होगा मुझे पता
है। तो अब देखो इस एपीआई को वापस से हम हिट करते हैं। पहले हिट करने के लिए हमें वापस सर्वर को स्टार्ट करना है। नर्जेस तो
servjs हमने यहां पे लिखे हैं। server डॉट जेs लिखने के बाद अब अच्छा एक चीज़ सुन लो। एक चीज़ सुन लो। तुम्हें एक बहुत चीज़
इरिटेटिंग लग रही होगी। भाई तुम्हें कुछ भी कोड यहां पे लिख रहे हो उस कोड को वापस अपडेट करने के लिए वापस से अपडेट करने के
लिए तुम्हें यहां पे नोट server डॉट जेS लिखना पड़ रहा होगा। तो इसका एक सॉल्यूशन होता है। क्या? एक कमांड होती है। कमांड
का नाम क्या है? npx nmon sवर डॉट जेs तो ये कमांड क्या करती है कि ये तुम्हारे सर्वर को नॉर्मली स्टार्ट कर
देगी लेकिन इसके साथ एक खास बात होती है कि अगर ये तुम्हारी जो भी जावास्क्रिप्ट की फाइल्स हैं जो भी तुम्हारी
जावास्क्रिप्ट की फाइल्स हैं अगर इसमें जरा सा भी चेंज होता है अगर लिटरली अगर मैं यहां पे एक एंटर भी कर देता हूं तो ये
फिर से वापस से इसको पता चल गया कि हां भाई जावास्क्रिप्ट की फाइल में कुछ चेंजेस हुए हैं। तो जैसे ही इसको पता चलता है कि
भाई जावास्क्रिप्ट फाइल के अंदर कुछ चेंजेस हुए हैं। ये वापस से सर्वर को रिस्टार्ट कर देती है और जो भी तुम्हारे
पास फ्रेश कोड वहां पे रहता है उसके साथ तुम्हारे सर्वर को रिस्टार्ट किया जाता है। ये एक चीज यहां पे रहती है। तो अगर
तुम बहुत ज्यादा इरिटेट हो गए हो फ्रस्ट्रेट हो गए तो इस कमांड का यूज़ कर लेना तुम्हारा काम हो जाएगा। अब सुनो
पोस्टमैन पे वापस आते हैं। सबसे पहले एक पर्टिकुलर हम यहां पे दो नोट क्रिएट करेंगे।
तो एक नोट हमने क्रिएट किया। एक नोट अभी हमारे पास आ रहा होगा। एक सिंगल नोट है। एक नोट हम यहां पे और क्रिएट करते हैं।
अंडरस्कोर टू और अंडरस्कोर टू। इसे किया हमने सेंड। तो दो नोट अब हमारे पास यहां पे क्रिएट हो चुके होंगे। दो नोट क्रिएट
हो चुके हैं। अब यहां एक एपीआई मैं क्रिएट कर रहा हूं। मेथड इसकी डिलीट रखेंगे। डिलीट के बाद लोकल पोस्ट कॉलन 3000 स्लैश
नोट्स। और अभी जो मुझे डिलीट करना है। देखो अभी मेरे पास यहां पे दो नोट हैं। तो ये इस नोट का इंडेक्स ज़ीरो होगा और इस नोट
का इंडेक्स वन होगा। तो अभी लेट्स से मुझे ये जो ज़ीरोथ इंडेक्स पे बैठा है ये नोट मुझे डिलीट करना है। तो इधर पे मैं स्लैश
नोट स्लैश ज़ीरो इतना लिख सकता हूं। देखो क्या लिख रहा हूं? इधर पे मैं लिख रहा हूं ज़ीरो स्लैश नोट स्लैश ज़ीरो इतना मैं यहां
पे लिख रहा हूं। अब अगर मैं इसे सेंड करूंगा तो देखो सेंड किया। सेंड करने के बाद मेरे पास रिस्पांस में क्या आ रहा है?
नोट डिलीटेड सक्सेसफुली। और अब अगर मैं गेट एपीआई की हेल्प से वापस से रिस्पांस सेंड करता हूं। देखो फर्स्ट नोट की जगह पे
अब यहां पे क्या आ रहा है? नल आ रहा है और देन इधर पे हमारे पास सेकंड नोड प्रॉपर्ली अभी भी आ रहा है क्योंकि सेकंड नोड तुम तो
डिलीट किया था तो हमने यहां पे डिलीट करते टाइम इंडेक्स कौन सा दिया था ज़ीरो तो ज़ीरोथ इंडेक्स पे जो भी नोट बैठा होगा वो
डिलीट हो गया और उसकी जगह यहां पे क्या आ गया नल आ गया और अब देखो मैं यहां पे जो दूसरा नोट है इसे मुझे डिलीट करना है तो
इंडेक्स क्या देना पड़ेगा वन देना पड़ेगा इसे किया सेंड तो अब जो मेरा नोट है वो जो दूसरा नोट होने वाला है यहां पे ये भी
डिलीट हो जाएगा तो अभी तक अगर तुम देखो काफी अच्छा कर चुके हो क्या-क्या क्योंकि अभी तक तुम यहां पे पर्टिकुलर जो रेस्ट
एपीआई की चार इंपॉर्टेंट मेथड्स होती हैं। उनमें से तुमने तीन मेथड पढ़ चुके हो। कौन-कौन सी? तुमने यहां पे पोस्ट मेथड पढ़
चुके हो कि भाई अगर तुम्हें कुछ भी डेटा सर्वर पे भेजना रहे तो तुम पोस्ट मेथड का यूज़ करोगे। गेट मेथड जब तुम्हें कोई भी
डेटा सर्वर से मंगाना हो तब तुम गेट मेथड का यूज़ करोगे। और डिलीट मेथड जब तुम्हें सर्वर पे डेटा ऑलरेडी प्रेजेंट है और उस
डेटा को अगर डिलीट करना है तब तुम यहां पे डिलीट मेथड का यूज़ कर रहे होगे। इतना तुम अभी तक यहां पे कर चुके हो। ये काफी अच्छी
प्रोग्रेस है और ये काफी अच्छी प्रोग्रेस है भाइयों। बहुत अच्छी प्रोग्रेस है ये। इसी की तरह आगे बढ़ो। थोड़ा सा कठिन लग सकता
है लेकिन पता है उतना नहीं लग रहा होगा। अगर लग रहा है तो नहीं लगना चाहिए। बस प्रैक्टिस करो। अभी के लिए प्रैक्टिस करो।
अभी के लिए बस प्रैक्टिस करो। मैंने तुम्हें बोल के रखा हूं। जो भी मैं इस वीडियो में बताऊंगा वो तुम्हें एटलीस्ट दो
बार करना ही है। तुम्हें एटलीस्ट वो दो बार करना रहेगा। तभी वो तुम्हें बहुत अच्छे से आने वाला है। तो बस दो बार करो
इन सारी चीजों को और तुम्हें मैं गारंटी दे रहा हूं हो जाएंगी चीजें बहुत बहुत आसानी से हो जाएगा बैक एंड बहुत कठिन नहीं
है बैक एंड पता नहीं क्यों इमेज बन के रखी है भाई मीडिया पे सोशल मीडिया पे कि बैक एंड कठिन होता है कॉम्प्लेक्स होता है
नहीं कठिन नहीं होता बिल्कुल नहीं होता कांसेप्ट थोड़े बस तुम्हें समझने रहेंगे और वो कांसेप्ट मैं समझा दूंगा इस वीडियो
में वो सारे कांसेप्ट मैं इस वीडियो में समझा भी रहा हूं तुम्हें और वो समझ में आएंगे भी तुम्हें बस डरना मत बैक एंड से
जहां पे तुम्हें डाउट आता है हमारी ये एक डिस्कर्ड का ग्रुप है। डिस्कर्ड का हमारा एक सर्वर है। हां वो भी एक सर्वर ही है।
तो डिस्कर्ड पे हमारा एक सर्वर है। उसको जॉइ कर लो। उसकी भी तुम्हें यहां पे लिंक मिल जाएगी। उस लिंक को ज्वाइन कर लो। वहां
पे भी बहुत अच्छी प्यारी सी कम्युनिटी है हमारी। कोर्ट वन के स्टूडेंट जो हमारे कोर्ट के स्टूडेंट रहते हैं वो भी उस
सर्वर पे जॉइन रहते हैं। तो वो भी तुम्हारी हेल्प कर देंगे क्योंकि वो ऑलरेडी पढ़ते रहते हैं सारी चीजें। कोर्ट
में जॉइ करके। तो उनसे भी तुम पूछ सकते हो। वहां पे वो हेल्प कर देंगे वो तुम्हारी। वहां पे अगर तुम जनरल चैट में
भी अगर जाते हो तो वहां पे तुम्हारी हेल्प कर दी जाएगी। तो जो हमारा डिस्कर्ड का ग्रुप है, डिस्कर्ड का जो सर्वर है, वहां
पे भी तुम पूछ सकते हो। भाइयों, बस एक चीज का ध्यान रखना, हार मत मानना। कहीं-कहीं पे थोड़ी प्रॉब्लम आएगी। बिल्कुल आती है
यार। तुम चीजें बैक एंड यहां पे तुम 10 बार तो कर नहीं रहे हो। पहली बार कर रहे होगे। आई थिंक पहली या दूसरी बार मैक्स टू
मैक्स। तो देखो यार पहली बार कर रहे हो। कोई सी भी चीज जब पहली बार की जाती है तो मुश्किल लगती है। वहां पे मेरा काम आता है
कि उसको थोड़ा ईजी बना दिया जाए। तो वह मैं काम कर रहा हूं। बस एक एक चीज का ध्यान रखना। लेकिन स्टिल तुम उसको अगर
पहली बार कर रहे हो तो थोड़ा बहुत तो कंफ्यूजन होगा। कॉम्प्लेक्स लगेगा। थोड़ा कठिन भी लग रहा होगा। लेकिन भाइयों रुकना
मत छोड़ना मत। जहां पे तुम रुक गए और जहां पे तुमने छोड़ दिया बैक एंड फिर नहीं आ पाएगा वापस से। बैक एंड फिर से नहीं आ
पाएगा। तो भाइयों कर लो बैक एंड लिटरली जो तुम अचीव करना चाह रहे हो वो सब अचीव करवा देगा बैक एंड तुम्हें। ये एक स्किल है जो
सबके बस की बात नहीं होती है लेकिन तुम कर सकते हो ये मुझे पता है। लिटरली यार जब तक मैं तुम्हें पढ़ा रहा हूं जब तक सीरियंस
तुम्हारे साथ है जब तक तुम छोड़ नहीं रहे हो चीजों को जब तक तुम एकदम ज़िद मान के बैठ गए हो कि नहीं भाई बैक एंड तो मुझे
करना है बैक एंड हो जाएगा इस चीज का ध्यान रखना मैंने खुद ज़िद पकड़ा था यार बैक एंड के टाइम पे मैंने खुद ज़िद पकड़ा था कि नहीं
यार बैक एंड तो करना है बैक एंड तो करना है मुझे तो मैंने तो खुद ज़िद पकड़ा था बस ज़िद ज़िद अपनी बना के रखना कि भाइयों बैक
एंड नहीं छोड़ना है किसी भी हालत में बैक एंड नहीं छोड़ना है और हो जाएगा बैक एंड और बहुत सारी चीजें चीज़ अचीव कर सकते हो बैक
एंड की हेल्प से तुम आगे आने वाली वो इस चैनल को तुम फॉलो सब्सक्राइब जो करना है तुम्हें कर लो लेकिन इस चैनल पे बहुत सारी
चीजें आने वाली है बैक एंड के अराउंड और वो तुम जल्दी देखोगे इस चैनल को फॉलो कर लो बस और बहुत क्या-क्या कर सकते हो तुम
बैक एंड से वो सारी चीजें मैं तुम्हें बताऊंगा वापस वापस आते हैं हमारे पढ़ने के टाइम पे तो देखो अभी तक हमने यहां पे चार
में से तीन मेथड देख चुके हैं। गेट पोस्ट एंड डिलीट पैच मेथड की हम यहां पे बात करते हैं। तो पैच मेथड हम यहां पे क्यों
यूज़ करते हैं? सर्वर पे डेटा ऑलरेडी है और उस डेटा को अपडेट करने के लिए हम यहां पे पैच मेथड का यूज कर रहे होते हैं। तो अब
देखो यहां पे हम करेंगे क्या कि भई एक पर्टिकुलर नोट को अपडेट करेंगे। एक पर्टिकुलर नोट को अपडेट करेंगे तो वो कैसे
करने वाले हैं? तो सुनो वापस से इंडेक्सिंग का यूज़ करेंगे। लेट्स से कि अगर मुझे यहां पे नोट थ्री का जो
डिस्क्रिप्शन है वो अपडेट करना है। बस जो भी नोट थ्री का मेरा डिस्क्रिप्शन है वो डिस्क्रिप्शन मुझे अपडेट करना है तो वो
कैसे करूंगा? मैं यहां पे बोलूंगा भाई जो अपना इंडेक्स टू पे जो नड बैठा है उस नड का डिस्क्रिप्शन अपडेट कर दो। वो मैं कुछ
इस तरीके से करने वाला हूं। बहुत हाई लेवल पे बता रहा हूं। मुझे पता है। लेकिन यही है। यही यही एग्जैक्ट मैं करने वाला हूं।
कैसे? क्योंकि देखो मैं ऐसा नहीं बोलूंगा भाई नोट थ्री को पकड़ो। ऐसा नहीं बोलूंगा। मैं ये बोलूंगा कि जो इंडेक्स टू पे बैठा
है इस इंडेक्स पे जो भी नोट बैठा होगा इस नोट के डिस्क्रिप्शन को आप अपडेट कर दो। इतना मैं यहां पे बोलने वाला हूं। तो अब
ये कैसे करूंगा? सुन। तो इधर पे आते हैं। एक हम एपीआई क्रिएट करेंगे। app डॉट पैच और पैच के अंदर मैं यहां पे बोलूंगा स्लैश
नोट्स स्लश कॉलन इंडेक्स ग जिस भी नड को मुझे यहां पे अपडेट करना रहेगा उसका इंडेक्स यहां पे आएगा और इंडेक्स यहां पे
आने वाला है तो रिक्वेस्ट और रिस्पांस हमारे पास अब देखो जो डिस्क्रिप्शन मेरे पास आएगा जो डिस्क्रिप्शन मेरे पास आने
वाला है वो डिस्क्रिप्शन रिक्वेस्ट डॉट बॉडी में आएगा जनरली रिक्वेस्ट डॉट बॉडी में ही डेटा आता है अपने पास तो रिक्वेस्ट
डॉट बॉडी में जो डेटा आएगा उसको मैं निकालूंगा लेकिन उससे पहले जो इंडेक्स मेरे पास आ रहा है उसे मैं यहां पे
निकालता हूं। तो इंडेक्स मैंने निकाला। इंडेक्स निकालने के बाद जो मेरे पास यहां पे
डिस्क्रिप्शन आएगा तो डिस्क्रिप्शन किसके अंदर आएगा? डिस्क्रिप्शन आएगा रिक्वेस्ट डॉट बॉडी के अंदर। रिक्वेस्ट डॉट बॉडी एक
ऑब्जेक्ट रहती है और ऑब्जेक्ट के अंदर हमारे पास डिस्क्रिप्शन आएगा। तो रिक्वेस्ट डॉट बॉडी डॉट डिस्क्रिप्शन। इस
तरीके से मैं डिस्क्रिप्शन को निकालूंगा। और फाइनली मैं यहां पे बोलूंगा कि भाई नोट्स के अंदर ये जो पर्टिकुलर इंडेक्स है
इस इंडेक्स पे जो भी नोट होगा उसके डिस्क्रिप्शन को आप यहां पे कर दो अपडेट और अपडेट करने के बाद देन हम यहां पे
रिस्पांस डॉट स्टेटस 200 भेजेंगे और देन jसन फॉर्मेट में हम यहां पे डेटा भेजेंगे मैसेज नोट अपडेटेड सक्सेसफुली ये हम यहां
पे भेजने वाले हैं तो काफी सिंपल है देखो क्या होने वाला है तो रिक्वेस्ट डॉट बॉडी के अंदर डिस्क्रिप्शन आएगा हां आएगा वो
फ्रंट एंड से हमें भेज ना रहेगा और जिस नड को अपडेट करना है वो इंडेक्स यहां पे आने वाला है। तो देखो जिस भी नोट को आपको
अपडेट करना है वो आप पैरेंट्स के थ्रू यहां पे राउट के अंदर एपीआई के अंदर ही बताओगे कि भाई किस इंडेक्स किस नोट को
अपडेट करना है उसका इंडेक्स बता दिया। जो डिस्क्रिप्शन आप अपडेट करना चाहते हो उस डिस्क्रिप्शन को आपको रिक्वेस्ट डॉट बॉडी
में भेजना रहेगा। तो इंडेक्स आप निकालोगे हां भाई नोट्स पे जो इस पर्टिकुलर इंडेक्स पे नोट बैठा है इसे मुझे अपडेट करना है और
इसका डिस्क्रिप्शन मुझे अपडेट करना है और जो भी डिस्क्रिप्शन होने वाला है वो आप यहां पे सेट करोगे। सेट करने के बाद
रिस्पांस डॉट स्टेटस 200 jसn फॉर्मेट पे मैसेज नोट अपडेटेड सक्सेसफुली इतना हम यहां पे शेयर कर रहे होंगे। इतना हम यहां
पे करने वाले हैं। तो अब देखो ये आपने बना लिया और क्योंकि हम यहां पे एनपीx नोमोन का यूज़ कर रहे थे तो ये कोड अपने आप ही
रीस्टार्ट हो के चलना चालू हो चुका होगा। तो पोस्टमैन पे आते हैं। अभी देखो क्योंकि सर्वर रीस्टार्ट हुआ है तो एक भी नोट आपके
पास नहीं बचा होगा। बताऊंगा ऐसा क्यों होता है। लेकिन यहां पे आते हैं। एक पर्टिकुलर नोट हम क्रिएट करते हैं।
एक नहीं दो नोट हम यहां पे क्रिएट कर रहे हैं। तो एक नोट हमने क्रिएट किया। ये जो हमारा एक नोट और होने वाला है अंडरस्कोर
टू इसे किया हमने सेंड। सेंड करने के बाद अंडरस्कोर थ्री अंडरस्कोर थ्री हम यहां पे सेंड
करेंगे। तो अब अगर हम यहां पे देखें टोटल तीन नोट हम यहां पे क्रिएट कर चुके हैं। टेस्ट टाइटल, टेस्ट टाइटल टू एंड टेस्ट
टाइटल थ्री। तीन नोट हम क्रिएट कर चुके हैं। डिलीट की अभी अपन डिलीट नहीं कर रहे क्योंकि भाई ऑलरेडी कम ही नोट है। तो एक
पर्टिकुलर नोट को हम यहां पे पैच की हेल्प से अपडेट करेंगे। जो नोट हम अपडेट करने वाले हैं लोकल होस्ट कॉलन
3000 स्लैश जो इंडेक्स टू पे बैठा है। मतलब कि जो हमारा एकदम सबसे पहले तो यहां पे स्लैश नोट्स स्लैश हमारा इंडेक्स। तो
जो भी इंडेक्स टू पे बैठा होगा इस नोट को अपडेट करना है। और अपडेट करने के लिए बॉडी के अंदर रॉ फॉर्मेट में मैं यहां पे
बोलूंगा क्या? डिस्क्रिप्शन। और डिस्क्रिप्शन मैं यहां पे बोलने वाला हूं। अपडेटेड
डिस्क्रिप्शन। अपडेटेड डिस्क्रिप्शन मैं यहां पे बोलूंगा। तो देखो अभी मेरे पास यहां पे तीन नोट है जिसमें से ये वाला नोट
ज़ीरोथ इंडेक्स पे बैठा है। दिस पर्टिकुलर नोट वन इंडेक्स पे बैठा है और ये अपना नोट सेकंड इंडेक्स पे बैठा है। तो अब अगर अपन
यहां पे बात करते हैं सेकंड इंडेक्स में यहां पे अपडेट करने वाला हूं। सेकंड इंडेक्स पे जो भी नोट बैठा है उसे मैं
अपडेट करने वाला हूं। और उसका डिस्क्रिप्शन अपडेट करके क्या कर रहा हूं? अपडेटेड डिस्क्रिप्शन मैं यहां पे कर रहा
हूं। ओके? तो अगर मैं इसको करता हूं सेंड तो इधर पे मेरे पास क्या है? नोट अपडेटेड सक्सेसफुली। और अब अगर मैं यहां पे देखो
इधर पे इधर पे हमारे पास क्या आ रहा है? अपडेटेड डिस्क्रिप्शन मेरे पास यहां पे आ रहा है। ओके तो नोट अपडेट हो गया। हो गया।
अच्छा तो अगर मुझे ये एक पर्टिकुलर नोट अपडेट करना है। तो इसका इंडेक्स क्या है? इसका इंडेक्स ज़ीरो वन। इसका इंडेक्स वन
है। ठीक है? सो इस पर्टिकुलर नोट को अपडेट करते हैं और अपडेटेड डिस्क्रिप्शन टू। इसका नाम मैं यहां पे रख रहा हूं। सेंड
किया। डिस्क्रिप्शन अपडेट हुआ होगा और अब देखना इसका जो हमारे पास टेस्ट डिस्क्रिप्शन टू है अपने इसको अगर मैं
सेंड करता हूं तो अपडेटेड डिस्क्रिप्शन टू मेरे पास यहां पे आ जा रहा है। अच्छा अगर मैं टाइटल अपडेट करना चाहूं तो तो इधर पे
एक बार ट्राई कर लेते हैं। तो भाई टाइटल अपडेट अगर मैं करना चाहूं तो तो क्या मैं टाइटल अपडेट कर सकता हूं?
अपडेटेड टाइटल सेंड किया। तो नॉट अपडेटेड सक्सेसफुली तो
हो गया। हां हो गया। लेकिन अब अगर तुम यहां पे देखोगे किसी भी चीज का टाइटल अपडेट नहीं हुआ। ऐसा
क्यों? ऐसा इसलिए क्योंकि तुमने सर्वर को प्रोग्राम नहीं किया। किस चीज के लिए कि भाई वो टाइटल भी अपडेट कर सके। मतलब मतलब
ये देखो तुमने यहां पे जो कोड लिखा है ये क्या कर रहा है? ये सिर्फ डिस्क्रिप्शन को रिक्वेस्ट डॉट बॉडी से पढ़ता है और
डिस्क्रिप्शन को ही अपडेट करता है। क्या तुमने यहां पे कहीं पे भी टाइटल लिखा है? अगर तुम्हें टाइटल अपडेट करना चाह रहे हो
तो टाइटल को भी तुम्हें यहां पे प्रोग्राम करना पड़ेगा। भाई किस तरीके से तुम टाइटल को अपडेट कर सकते हो? ये भी तुम्हें यहां
पे प्रोग्राम करना पड़ेगा। तो जिस चीज के लिए तुम सर्वर को प्रोग्राम करते हो वही चीज सर्वर तुम्हारा परफॉर्म कर सकता है।
उसके अलावा वो कुछ भी परफॉर्म नहीं करने वाला। तो ऐसे तो बहुत सारी चीजें हमें प्रोग्राम करना पड़ेगा। हां तो वही करना
है हमें वीडियो में और वही बहुत अच्छे से सिखाया भी हूं मैंने। तो देखो अब इसके साथ पैच मेथड के साथ जो हमारी ये चार एपीआई जो
इंपॉर्टेंट एपीआई हैं ये एपीआई हमारी कंप्लीट हो चुकी है। और जो हमारा टास्क है ये टास्क भी हमारा कंप्लीट हो चुका है। अब
इस टास्क में एक प्रॉब्लम है। प्रॉब्लम क्या है? सुनो कि भाई जैसे ही जो हमारा सर्वर है जैसे ही हमारा जो सर्वर है एक
बार मैंने इसको बंद किया और बंद करने के बाद अगर मैं इसको स्टार्ट करता हूं तो देखो होता क्या है जो तुमने नोट्स क्रिएट
किए थे वो सारे के सारे नोट्स यहां पे चले जाते हैं ऐसा क्यों ऐसा इसलिए क्योंकि देखो जो नोट्स तुम स्टोर कर रहे हो जो भी
नोट्स का डेटा जो तुम स्टोर कर रहे हो वो किसके अंदर स्टोर कर रहे हो एक पर्टिकुलर वेरिएबल के अंदर वेरिएबल का नाम क्या है
नोट्स ओके तो वेरिएबल प्रोग्राम का पार्ट है ये जो तुम एक प्रोग्राम लिख रहे हो सर्वर का ये सर्वर के अंदर एक वेरिएबल है
वेरिएबल का नाम क्या है? नोट्स है। हां बिल्कुल यही तो है। हां तो जो अपना प्रोग्राम रन होता है वो रन किसमें होता
है? बिल्कुल उसको अपना प्रोसेसर रन करता है। लेकिन रन होते टाइम स्टोर कहां पे होता है? रैम के अंदर स्टोर होता है। हां
बिल्कुल होता है। तो जो तुम वेरिएबल क्रिएट करते हो वेरिएबल्स की जो वैल्यू रहती हैं वो भी कहां पे स्टोर होती है?
RAM के अंदर स्टोर हो रही होती हैं। तो अब होता क्या है कि भ जैसे ही तुम सर्वर एक बार बंद करते हो तो प्रोग्राम चलना बंद
हुआ। प्रोसेसर ने अब उसको चलाना बंद कर दिया। हां बिल्कुल कर दिया। तो अब जैसे ही प्रोसेसर ने इसको चलाना बंद किया तो जिस
रैम पे ये चल रहा था वो रैेम भी यहां से इससे ले ली जाती है कि भाई ठीक है अब क्योंकि तुम चल नहीं रहे हो तो तुम रैेम
का यूज़ करके रहे हो क्लियर हो जाओ वहां से हट गई तो अब rेम के अंदर और भी चीजें थी क्या कि rेम के अंदर नोट्स वेरिएबल
अपनी वैल्यू स्टोर कर रहा था बिल्कुल कर रहा था तो अब होगा क्या कि भाई जिस rेम के अंदर नोट्स वेरिएबल की वैल्यू थी वो रेम
तो क्लियर हो गई वो तो हट गई अब जब अगली बार अगली बार तुम्हारा सर्वर स्टार्ट होगा तो इसे एक नई rेम मिलेगी तो नोड या बोल
सकते हो एनपीx नोडेमॉन तो अब जब तुम्हारा सर्वर अगली बार स्टार्ट होता है तो सर्वर को एक नई रैम मिलती है और उस नई रैम में
पुरानी वैल्यू तो रहेगी नहीं। क्यों? क्योंकि वो रैंडमली असाइन होती है। रैम का फुल फॉर्म होता ही क्या है? रैंडम एक्सेस
मेमोरी। रैंडमली वो असाइन हो जाती है। तो जो पिछली वैल्यू होगी जिसमें नोट्स अपनी वैल्यू को स्टोर कर रहा होगा वो रैेम तो
चली गई। तो इस बार नई रैम रहेगी तो नई रैम में जो नोट्स की इनिशियल वैल्यू होने वाली है उसी के साथ स्टोर किया जाएगा। लेकिन अब
यहां पे प्रॉब्लम है कि भाई हमेशा ऐसा थोड़ी ना होगा कि सर्वर एक बार आपका बंद हुआ और जो आपके पास सर्वर ने डेटा स्टोर
करके रखा था वो डाटा क्लियर हो गया। ये थोड़ी ना होगा हर बार। ऐसा होता भी नहीं है। ऐसा हम अफोर्ड ही नहीं कर सकते। बात
ये है। तो इसके लिए हम यहां पे यूज़ क्या करते हैं? डेटाबेस का। डेटाबेस हमें फंक्शनैलिटी प्रोवाइड करते हैं कि तुम
उनके पास अपना डेटा स्टोर भी कर सकते हो। और इवन अगर तुम्हारा डेटा डेटा नहीं तुम्हारा सर्वर एक बार बंद हो गया और बंद
होने के बाद चालू होता है तो तुम्हारा डेटा फिर भी वहां पे लॉस नहीं होगा। क्योंकि तुम वहां पर यूज़ कर रहे होते हो
डेटाबेस। तो डेटाबेस क्या होता है? डेटाबेस सिंपली तुम्हारा एक डेटा स्टोर करने की जगह है। जहां पे अगर तुम डेटा
स्टोर कर रहे हो और तुम्हारा सर्वर अगर बंद हो भी जाता है तब भी तुम्हारा डेटा वहां पे लॉस नहीं होगा। तुम वापस से अपने
डेटा को वहां पे रिट्रीव कर सकते हो। इस वजह से हम यहां पे डेटाबेस को पढ़ने वाले हैं। अब डेटाबेस किस तरीके से हम सेटअप
करेंगे? डेटाबेस के और भी क्या कांसेप्ट होते हैं वो भी हम यहां पे समझने रहेंगे। गया। अब डेटाबेस को सेटअप करने की तरफ आगे
बढ़ते हैं। चलो अब हम यहां पे डेटाबेस स्टार्ट करने वाले हैं। तो डेटाबेस एग्जैक्टली है क्या? जहां पे आप अपने जो
भी सर्वर क्रिएट करने वाले हो उस सर्वर का डेटा स्टोर करोगे और अगर आपका सर्वर एक बार रिस्टार्ट हो भी जाता है तब भी आपका
डेटा वहां पे सिक्योरली स्टोर होगा। अब वो डेटा वहां से नहीं जाने वाला है। इस वजह से हम यहां पे डेटाबेस का यूज़ करने वाले
हैं। अब डेटाबेस की अगर मैं बात करता हूं डेटाबेस बहुत सारे होते हैं। बहुत अलग-अलग टाइप के डेटाबेस होते हैं। मर्न में जो
मतलब कि हम बैक एंड अभी यहां पे पढ़ रहे हैं। अभी हम जो यहां पे यूज़ करने वाले हैं वो कौन सा रहेगा? वो मोंगो डीबी डेटाबेस
यहां पे होने वाला है। अब मोंगो डीबी डेटाबेस हमें यहां पे यूज़ करना है। तो करेंगे कैसे उसको कि मग डीबी की वेबसाइट
पे जाएंगे। मोंगो डीबी की वेबसाइट पे जाने के बाद एक क्लस्टर क्रिएट करेंगे। अब क्लस्टर क्या होता है? बहुत अच्छे से उसके
बारे में भी बस 2 मिनट में पढ़ने वाले हैं। सुनो तो क्लस्टर क्रिएट करना रहेगा और देन आगे जाके उस क्लस्टर के अंदर हमारा
डेटाबेस क्रिएट होगा और उस डेटाबेस के अंदर हम अपना डेटा को स्टोर कर रहे होंगे। तो ये अपना एक मेन आईडिया है। क्या मंगो
डीबी की वेबसाइट पे जाएंगे। मंगो डीबी की वेबसाइट पे जाने का एक क्लस्टर क्रिएट करेंगे। क्लस्टर क्या है? बस दो मिनट मैं
बता रहा हूं। फिर क्लस्टर के अंदर हम डेटाबेस को क्रिएट कर रहे होंगे। ये एक हमारा होने वाला है। तो देखो अब यहां पे
आते हैं सबसे पहले mongdob पे। तो mgodb की वेबसाइट आप यहां पे सर्च करना mgodb.com यू कैन सर्च mongdob.com पे आप
आओगे mongoddb.com पे आने के बाद आप यहां पे लॉग इन कर सकते हो। तो साइन इन बटन पे क्लिक करो। साइन इन बटन पे क्लिक करने के
बाद कंटिन्यू विद Google। कंटिन्यू विद Google करने के बाद यह एक मेरा अकाउंट है। इस अकाउंट से मैं यहां पे कंटिन्यू कर रहा
हूं। तो कंटिन्यू किया और कंटिन्यू करने के बाद मैं ऑलरेडी अकाउंट क्रिएट कर चुका हूं। तो मेरे से दो-तीन तरीके के क्वेश्चन
नहीं पूछने वाला है। अगर आप यहां पे पहली बार आ रहे हो तो आपसे क्वेश्चन बिल्कुल ये पूछेगा। तो उन क्वेश्चन के आई थिंक तीन से
चार क्वेश्चन रहेंगे। ड्रॉपडाउन में उनका आंसर रहेगा। आप उनको एक बार पढ़ो और एक प्रॉपर आंसर जो आपके हिसाब से बैठता है वो
आप दे सकते हो। ऐसा कुछ नहीं है कि अगर आप वहां पे कुछ गलत आंसर दोगे या कुछ और आंसर दोगे तो कुछ और क्रिएट हो जाएगा। ऐसा नहीं
है जो आप वहां पे क्रिएट बस आंसर दे देना आपका काम हो जाएगा। अब देखो ये पेज आपको ओपन हो के नहीं दिखेगा। देखो आपको क्या
ओपन हो के दिखने वाला है मैं बता रहा हूं। तो इधर पे मैं एक नया प्रोजेक्ट क्रिएट कर रहा हूं। या आपको करने की जरूरत नहीं है।
प्रोजेक्ट मुझे क्रिएट करना पड़ रहा है क्योंकि मैं ऑलरेडी बहुत सारे प्रोजेक्ट क्रिएट कर चुका हूं। तो एक फ्रेश नया
प्रोजेक्ट मैं यहां पे क्रिएट कर रहा हूं। तो वाईटी कंप्लीट
बैक एंड इसे किया हमने नेक्स्ट। तो एक प्रोजेक्ट क्रिएट होगा। प्रोजेक्ट क्रिएट करने में थोड़ा सा टाइम लग सकता है। लेकिन
अ प्रोजेक्ट जल्दी क्रिएट हो जाता है कंपेरेटिवली टू क्लस्टर। तो देखो अभी हमने यहां पे एक प्रोजेक्ट क्रिएट किया।
प्रोजेक्ट का नाम क्या है? वाईटी कंप्लीट बैक एंड और अब हमारे पास यहां पे एक ऑप्शन आएगा कि भाई क्रिएट अ क्लस्टर। तब ये
क्लस्टर एग्जैक्टली होता क्या है? तो क्लस्टर की अगर मैं तुम्हें एक सिंपल डेफिनेशन बताऊं ये क्या रहती है? एक मशीन
होती है। एक लिटरली ये एक फिजिकल मशीन होती है जिसमें हम कंफिगर कर सकते हैं कि भाई कितने CPU रहेंगे, कितनी रैम रहेगी और
कितनी स्टोरेज वहां पे होने वाली है। अब यहां पे जो हमारा क्लस्टर है, क्लस्टर क्या है? एक फिजिकल मशीन जिसके अंदर कितना
CPU होंगे, कितनी रैम होगी और कितनी स्टोरेज होने वाली है, यह हम कॉन्फ़िगर कर सकते हैं। अब मोंग DDB आपको ऑप्शन तो देता
है कि भाई आपको जो कॉन्फ़िगरेशन इसके साथ बनानी है आप बना दो। लेकिन इसके लिए प्राइसिंग भी लेता है। तो अगर आप यहां पे
सर्च करोगे मोंग DDB प्राइसिंग तो मोंग DDB प्राइसिंग सर्च करने के बाद यहां पे आपको मोंग DDB प्राइसिंग करके एक वेबसाइट
आएगी। इस पे करो क्लिक। क्लिक करने के बाद Mgo DB की जो भी प्राइसिंग है यहां पे एक फ्री वाला ऑप्शन भी हमें देता है कि भाई
यह हमेशा के लिए फ्री रहेगा आपका। इसके भी कुछ टायर्स हैं। यही हमें सेलेक्ट करना है। लेकिन मोंगो डीबीजी और कुछ प्राइसिंग
देता है। वो भी हम यहां पे देख रहे हैं। तो देखो व्यू डेडिकेटेड प्राइसिंग पे अगर मैं आता हूं तो मोंगो डीबी हमें कुछ इतने
सारे प्लांस ऑफर करता है जिसमें M10 से स्टार्ट होती है और ये अप टू जाता है M700 और अगर इससे ऊपर तुम्हें जाना है तो फिर
तुम्हें उनको कस्टमाइज करना पड़ता है। तुम्हें उनसे एक बार कांटेक्ट करना पड़ता है। लेकिन अगर तुम देख रहे हो M700 पे
कितने स्टोरेज है? 4000 GB 768GB ऑफ़ RAM 96 CPU और प्राइसिंग भी उसी के हिसाब से यहां पे रखी गई है। कितनी कि तुम्हें यहां
पे तुम्हें यहां पे 36 सॉरी 33.26 पर आवर के हिसाब से पे करने पड़ेंगे। तो
जितने ज्यादा तुम रिसोर्स यूज़ करने वाले हो मोंगो डीबी के उस हिसाब से तुम्हें प्राइसिंग पे करनी पड़ेगी। अगर मैं यहां
पे आता हूं M10 पे तो M10 पे 10 GB की स्टोरेज रहेगी। 2GB हमारे पास रैम रहेगी। दो CPU हमारे पास होने वाले हैं और इसकी
प्राइसिंग रहेगी $.008 पर आवर। तो जो तुम्हारा क्लस्टर है, क्लस्टर क्या रहता है? क्लस्टर तुम्हारा
रहता है कि भाई जहां पे तुम अपनी मशीन के कॉन्फ़िगरेशन बता रहे होते हो कि हां भाई इतना सी इतने CPU होंगे, दो CPU मेरे पास
होने वाले हैं। 10 GB की स्टोरेज होगी और 2 GB की रैम मेरे पास होने वाली है। तो जो तुम्हें कॉन्फ़िगरेशन के साथ एक मशीन
क्रिएट करनी है, वो मशीन तुमने क्रिएट कर ली। लेकिन उसके हिसाब से मोंगो डीबी के तुम्हें देन प्राइसिंग पे करनी पड़ती है।
अब सुनो हम यहां पे कोई सा पेड प्लान के साथ नहीं जा रहे होंगे। हम यहां पे क्लस्टर बिल्कुल क्रिएट करेंगे। हम यहां
पे क्लस्टर क्रिएट करेंगे। लेकिन कौन सा क्लस्टर क्रिएट कर रहे होंगे? फ्री वाला क्लस्टर हम यहां पे क्रिएट करेंगे। तो जो
हमारा फ्री क्लस्टर है इसे सेलेक्ट किया। सेलेक्ट करने के बाद क्लस्टर का नाम इफ यू वांट तुम यहां पे क्लस्टर का नाम दे सकते
हो। अ आई कैन से YouTube कंप्लीट बैक एंड मैं यहां पे क्लस्टर का नाम दे
सकता हूं। तुम इसका नाम रख सकते हो। अह बैक एंड नाम से तुम इसका नाम रख सकते हो। फिर प्रोवाइडर्स हमारे पास एडब्ल्यूएस,
Google क्लाउड और Azure है। ये तीनों हमारे पास प्रोवाइडर्स रहते हैं। अभी के लिए जो हम यहां सेलेक्ट कर रहे हैं वो कौन
सा है? हमारा एडब्ल्यूएस। और रीजन हम कौन सा सेलेक्ट कर रहे हैं? मुंबई। अच्छा मुंबई के अलावा हमारे पास कोई और ऑप्शंस
है क्या? हां बिल्कुल हमारे पास और भी कुछ ऑप्शंस यहां पे प्रेजेंट हैं। जैसे कि सीओल है, हांगकांग है, सिंगापुर है,
टोक्यो है। फिर अमेरिका में अगर बात करें तो नॉर्थ वर्जनिया, ओरिगॉन फिर स्टॉकहोम। तो आइलैंड बहुत सारे ऑप्शंस मेरे पास
अवेलेबल रहते हैं। लेकिन अभी मैं यहां पे कौन सा ऑप्शन सेलेक्ट करूंगा? मुंबई पे। तो अच्छा अगर मैं यहां पे मुंबई ऑप्शन
सेलेक्ट करता हूं तो होगा क्या? सुनो ये जो तुम्हारा क्लस्टर क्रिएट होगा ये क्लस्टर कहां पे क्रिएट होगा? जो मोंगो
डीबी का एक सर्वर एक सेकंड हम तो डेटाबेस की बात कर रहे थे ना मोंडीबी एक डेटाबेस है। हां मंगो डीबी
है एक डेटाबेस ही। लेकिन डेटाबेस भी एक टाइप ऑफ सर्वर के अंदर ही आता है। अच्छा तो कितने टाइप्स के हमारे पास सर्वर होते
हैं टोटल? तो अगर मैं इसकी बात करता हूं तो देखो टाइप्स ऑफ सर्वर की अगर मैं यहां पे बात करता हूं
तो टाइप्स ऑफ सर्वर सो अब अगर हम यहां पे देखते हो कितने हमारे पास सर्वर हैं हमारे पास एक वेब सर्वर होता है फॉर होस्टिंग
वेबसाइट जिसमें ये हम क्रिएट कर रहे हैं जो अभी एक्सप्रेस के हेल्प से हम सर्वर क्रिएट कर रहे हैं। ये हमारे वेब सर्वर्स
होते हैं। फिर हमारे पास होते हैं मेल सर्वर्स फॉर ईमेल। ये ईमेल को सेंड करेंगे। फाइल सर्वर फॉर डेटा स्टोरेज कि
अगर आपको कोई सी फाइल स्टोर करनी है तो आप फाइल सर्वर के पास स्टोर कर सकते हो। और फिर हमारे पास आते हैं क्या? डेटाबेस
सर्वर फॉर डेटा मैनेजमेंट एप्लीकेशनेशंस। तो काइंड ऑफ ये हमारे पास एक टाइप का सर्वर और होते हैं। तो अलग-अलग अलग-अलग
टाइप के सर्वर्स होते हैं। हम यहां पे एक टाइप का सर्वर क्रिएट करना सीख रहे हैं। उसका नाम क्या है? वेब सर्वर्स जिसको हम
एक्सप्रेस की हेल्प से क्रिएट कर रहे हैं। और एक और सर्वर हमारे पास होता है डेटाबेस सर्वर। तो मोंगडीबी ने किया क्या? सुनो
मgb ने यहां पे किया क्या? मग DDB की ये जो वेबसाइट है मतलब मोंग DDB ने यहां पे बहुत सारे डेटाबेस टाइप के सर्वर क्रिएट
किया और एक जगह क्रिएट नहीं किया कि भाई एक फिजिकल लोकेशन पे क्रिएट किया यहां पे जो तुम इतने सारे ऑप्शंस देख रहे हो सियोल
में क्रिएट किया है फिर हांगकांग में क्रिएट किया सिंगापुर में क्रिएट किया टोक्यो में क्रिएट किया नॉर्थ अमेरिका के
अंदर नॉर्थ वर्जनिया ओरिगॉन ऑगॉन फिर उसके बाद स्टॉकहोम आयरलैंड पेरिस इतनी सारी जगह पे मोंगो डीबी ने अपने सर्वर डिप्लॉय करके
रखा है। अभी यहां पे जो मैं एक क्लस्टर क्रिएट करने वाला हूं, उस क्लस्टर के साथ सीन क्या होगा? यह क्लस्टर क्रिएट तो
होगा। बिलकुल क्रिएट होने वाला है। लेकिन यह मोंगो डीबी का जो मुंबई के अंदर एक सर्वर क्रिएट हो के रखा है, उस मुंबई
सर्वर के अंदर यह पर्टिकुलर मेरा क्लस्टर क्रिएट होगा। और इस क्लस्टर के अंदर देन मैं अपने फर्दर डेटाबेस को क्रिएट कर सकता
हूं। ध्यान रखना मोंगो डीबी के अंदर आपको पहले क्लस्टर क्रिएट करना पड़ता है और क्लस्टर के अंदर देन आप अपने डेटाबेस को
क्रिएट कर रहे होते हो। तो यहां पे आपने मोंगो मुंबई सेलेक्ट किया। मुंबई सेलेक्ट करने के बाद हमारे पास यहां पर एक बटन आ
रही होगी क्रिएट डिप्लॉयमेंट। सो यहां पर एकदम बॉटम पर आपके पास एक बटन आएगी क्रिएट डिप्लॉयमेंट पे। इस पे करना क्लिक। क्लिक
करने के बाद जो आपका क्लस्टर रहेगा वो क्रिएट होना चालू हो जाएगा। सो यहां पे एक यूजर क्रिएट हुआ है। एंड वी कैन अभी के
लिए इसको इग्नोर कर सकते हैं क्योंकि मैं बताऊंगा कि हमें इसके साथ करना क्या है। तो जो हमारा क्लस्टर है क्लस्टर इधर पे
क्रिएट हो रहा है। अब इसे इसके लिए थोड़ा सा वेट करना पड़ेगा। जैसे ही हमारा क्लस्टर क्रिएट होगा। हमें नेक्स्ट स्टेप
पे आगे बढ़ना है। भाई हम नेक्स्ट स्टेप क्या करने वाले हैं? उसमें दो चीजें हमें कॉन्फ़िगर करनी है। अब सुनो क्लस्टर
तुम्हारा क्रिएट हुआ। क्लस्टर के अंदर तुम्हारे पास डेटाबेस होते हैं। ध्यान रखना जो तुम मोंगो डीबी के अंदर क्लस्टर
क्रिएट करते हो। इस क्लस्टर के अंदर तुम्हारे पास डेटाबेस प्रेजेंट रहते हैं। अब देखो होता क्या है? सुनो। अब ये
सिक्योरिटी रिलेटेड चीजें हैं कि भाई डेटाबेस सब क्रिएट करते हैं लेकिन सिक्योरिटी के बारे में कोई नहीं देख रहा
होता है। तो सुनो अब होगा क्या यहां पे कि जो तुम क्लस्टर यहां क्रिएट कर रहे हो वो क्लस्टर से हर कोई कनेक्ट नहीं कर सकता।
उससे कुछ सिलेक्टेड लोग ही कनेक्ट कर सकते हैं। तो उसके लिए हमें यहां पे क्या करना रहेगा? दो लेयर्स ऑफ सिक्योरिटी यहां पे
प्रेजेंट रहती है। मतलब क्या और वो भी दो लेयर्स ऑफ सिक्योरिटी। ऐसा क्यों? सुनो डेटाबेस के अंदर आप पूरे सर्वर का डेटा
स्टोर करोगे। जो आपकी पूरी एप्लीकेशन रहती है वो बैक एंड के ऊपर चलती है। और बैक एंड का पूरा डेटा आप कहां पे स्टोर करोगे?
डेटाबेस के अंदर। तो डेटाबेस के अंदर आप अपने यूज़र्स की डिटेल भी सेव करते हो जो जिनने उनका यूजरनेम दे के रखा है। जो भी
उनका फुल नेम है उनका ईमेल एड्रेस उनका अगर फिजिकल एड्रेस है तो वो भी यहीं पे प्रेजेंट रहेगा। अगर आप ई एक ई-कॉमर्स
वेबसाइट बना रहे हो तो उनकी जो पेमेंट की मेथड है वो भी आप वहां पे स्टोर कर रहे होगे तो इतनी सारी डेटा आप यूजर की स्टोर
करते हो अपने डेटाबेस के अंदर तो डेटाबेस का जो डेटा रहता है वो ऐसी लीक नहीं होना चाहिए। को बहुत सिक्योर रखा जाता है।
सिक्योर रखने के लिए मोंगो डीबी हमें दो टू लेयर्स ऑफ़ सिक्योरिटी हमें प्रोवाइड करता है। तो अगर यहां पे तुम सिक्योरिटी
के अंदर आओगे सिक्योरिटी के अंदर आने के बाद एक तुम्हें मिलेगी नेटवर्क एक्सेस लेयर और दूसरी रहेगी तुम्हारे पास डेटाबेस
एक्सेस लेयर। तो पहले हम यहां पे बात करते हैं नेटवर्क एक्सेस लेयर की। इधर पे एक बाय डिफ़ॉल्ट कुछ आ रहा होगा। इसे आप हटा
दो अभी के लिए। तो नेटवर्क एक्सेस लेयर जो आपकी होने वाली है, इसे आप हटा सकते हो। अब सुनो होने क्या वाला है? अभी जो
तुम्हारी नेटवर्क एक्सेस लेयर रहती है यह किस तरीके से काम करती है उसको हम थोड़ा समझते हैं। अच्छा एक चीज बताओ एक चीज बताओ
जो तुमने अभी क्लस्टर क्रिएट किया ये क्लस्टर कहां पे क्रिएट किया तुमने मुंबई मोंगो डीबी के अंदर मुंबई वाला जो रीजन था
वहां पे तुमने सेलेक्ट किया है अभी अभी अगर तुम्हें नहीं पता है तो मैं जहां पे बैठा हूं ये भोपाल है भोपाल मध्य प्रदेश
के अंदर जो एक सिटी है भोपाल वहां पे मैं प्रेजेंटली बैठा हूं तो अब सुनो अब मुझे करना क्या है कि भाई मैं भोपाल में बैठा
हूं और जो मेरा डेटाबेस का क्लस्टर क्रिएट हुआ है वो कहां पे क्रिएट हुआ है मुंबई के अंदर क्रिएट हुआ है तो अब मुझे मेरी मशीन
को कनेक्ट करना रहेगा मेरे क्लस्टर से ऐसा क्यों ऐसा ऐसा इसलिए सुनो अभी हम यहां पे जो एक सर्वर क्रिएट कर रहे हैं दिस वन ये
जो हमारा एक सर्वर क्रिएट हो रहा है ये सर्वर रन कहां पे होता है मेरी लोकल मशीन पे मेरी लोकल मशीन पे ये रन होता है तो
करना क्या है देखो ये जो मेरा सर्वर रन होगा और सर्वर रन होने के बाद जो भी डेटा स्टोर करना रहेगा वो हमें डेटाबेस के अंदर
क्रिएट करना है और डेटाबेस मेरा कहां पे रहेगा क्लस्टर के अंदर रहेगा क्लस्टर कहां पे है मेरा मोंगो डीबी के मुंबई रीजन के
अंदर मेरा क्लस्टर वहां पे प्रेजेंट है तो अब देखो करना क्या है पहले मैं अपने सर्वर और मेरा जो मोंगो डीबी डेटाबेस से इन
दोनों को कनेक्ट करना रहेगा। देखो मैं तुम्हें बता रहा हूं। मैं तुम्हें और अच्छे से बताऊंगा। जब तक तुम्हें चीजें
क्लियर नहीं होंगी मैं तुम्हें बताऊंगा। रुको। तो देखो यहां पे अपना नोट्स एंड ऑल ये
सारी चीजें हैं। देखो अभी मेरे पास यहां पे मेरा एक सर्वर है। ये मान लो ये मेरा एक सर्वर है और यहां पे मेरा है एक मेरा
डेटाबेस। तो ये मेरा डेटाबेस है। और डेटाबेस अपना ये कौन सा है? ये अपना मोंगो डीबी डेटाबेस है। ठीक है? ये हमारे पास
मंगो डीबी डेटाबेस है और ये हमारा सर्वर है। तो जो मेरा सर्वर है अभी ये लोकल मेरी मशीन पे चल रहा है। और मेरी मशीन अभी
प्रेजेंटली कहां पर है? भोपाल पे। ठीक है? कि मेरी मशीन यहां पे भोपाल नहीं है। भोपाल नहीं है। भोपाल एंड भोपाल के बाद जो
मेरा सर्वर है सॉरी सर्वर नहीं जो मेरा डेटाबेस है ये कहां पे प्रेजेंट है? ये प्रेजेंट है मेरा मुंबई में। ठीक है? तो
भोपाल और मुंबई ये दोनों हमारे पास लोकेशन है। तो मेरा सर्वर चलता है मेरी लोकल मशीन पे जो कि भोपाल में है। और जो मेरा
डेटाबेस है ये कहां पे है? मेरा मुंबई के अंदर है। तो अब सुनो जो भी सर्वर को डेटा स्टोर करना रहेगा वो कहां पे स्टोर करेगा?
डेटाबेस के अंदर वो सर्वर डेटा स्टोर करेगा। अ डेटाबेस के अंदर जो कि मुंबई के अंदर प्रेजेंट है। अब डेटा स्टोर करने के
लिए डेटाबेस में पहले क्या करना पड़ता है? जो मेरा सर्वर है इसे कनेक्ट करना रहेगा मेरे डेटाबेस से। ये हमारा एक इंपॉर्टेंट
काम रहता है। अच्छा। तो ये जो मेरा सर्वर है और ये जो मेरा डेटाबेस है इसको हम कनेक्ट किसके थ्रू करते हैं? इंटरनेट के
थ्रू कनेक्ट होते हैं। ये दोनों कनेक्ट किस के थ्रू करेंगे? इंटरनेट के थ्रू करेंगे। अब बस प्रॉब्लम क्या है? प्रॉब्लम
ये है कि इंटरनेट पे और भी बहुत सारी मशीनंस बैठी है ना? इंटरनेट पे सिर्फ मेरी मशीन तो है नहीं। तुम्हारी मशीन भी वहां
पर प्रेजेंट है। तुम्हारे दोस्त की मशीन भी प्रेजेंट है। और भी बहुत सारे दुनिया में बहुत सारे लोग हैं जिनकी मशीन इंटरनेट
पे बैठी हुई है। लेकिन हमें करना क्या है? हमें यहां पे उन सबकी मशीन को अलाउ नहीं करना है कि वो हमारे डेटाबेस से कनेक्ट कर
सके। जो मेरा खुद का सर्वर होने वाला है। सिर्फ इसे अलाउ करना है कि ये मेरे डेटाबेस से कनेक्ट कर सके। ऑफ कोर्स
सिक्योरिटी रीज़न से। इस वजह से ये हम यहां पे कर रहे हैं। तो इसका हम करते क्या हैं? सुनो। जब भी इंटरनेट से कुछ भी कनेक्ट
होता है, जब भी इंटरनेट से कुछ भी कनेक्ट होता है, तो हर एक उस डिवाइस को एक पर्टिकुलर IPपी एड्रेस दिया जाता है।
इंटरनेट प्रोटोकॉल वहां पे अ एड्रेस वहां पे दिया जाता है। तो IPपी एड्रेस वहां पे दिया जाएगा। तो अब देखो ये जो मेरा सर्वर
है, ये जो मेरा सर्वर है, ये रन कहां पे हो रहा है? मेरी मशीन पे रन हो रहा है। तो मेरी मशीन का एक IPपी एड्रेस होगा, तो मैं
यहां पे करता क्या हूं? मैं डेटाबेस को इस तरीके से कॉफ़िगर करता हूं कि भाई जो भी मेरी मशीन का IPपी एड्रेस होगा सिर्फ आप
इस पर्टिकुलर IPपी एड्रेस से कनेक्ट करोगे और जो बाकी मशीन के IPपी एड्रेस होने वाले हैं उनसे आप कनेक्ट नहीं करोगे। तो हम ये
जो हमारी एक नेटवर्क एक्सेस लेयर है दिस वन ये जो हमारी एक नेटवर्क एक्सेस लेयर है इसके साथ हम करते क्या है? इसमें हम बस उन
IPपी एड्रेस को अलव कर रहे होते हैं जिनसे हम कनेक्ट करना चाहते हैं। मतलब क्या? मतलब यह के जिस डेटा जिस पर्टिकुलर मशीन
से मेरा डेटाबेस कनेक्ट होना चाहेगा या कनेक्ट हो सकता है सिर्फ उस मशीन का IPपी एड्रेस मैं अपने डेटाबेस में अलाउ करता
हूं और बाकी किसी भी मशीन का IPपी एड्रेस मैं यहां पे अलाउ नहीं करता हूं। जैसे कि अभी मुझे अलाउ करना है सिर्फ मेरी खुद की
लोकल मशीन का IPपी एड्रेस मुझे अलाउ करना है। तो देखो जब यहां पे आप आओगे ऐड IPपी एड्रेस की इधर पे आपको दो ऑप्शन मिल
जाएंगे ऐड करंट IPपी एड्रेस और एक आएगा अलाउ एक्सेस फ्रॉम एनीवेयर। तो अगर मैं यहां पे आता हूं ऐड करंट IPपी एड्रेस की
अगर मैं यहां पे बात करता हूं तो जो भी मेरा करंट IPपी एड्रेस आएगा दैट इज़ दिस वन। तो ये जो मेरा IPपी एड्रेस है ये
कॉन्फ़िगर हो जाएगा। बढ़िया कोई इशू नहीं है। तो ये पर्टिकुलर एक IPपी एड्रेस कॉन्फ़िगर हो जाएगा। अब इसके बाद अगर मैं
यहां पे बात करता हूं। अब देखो प्रॉब्लम क्या है? प्रॉब्लम ये है कि Wi-Fi के साथ अभी हम यहां पे कनेक्ट हैं और Wi-Fi या आप
बोल सकते हो आप बहुत ज्यादा चांसेस है कि आप यहां पे मोबाइल इंटरनेट का यूज़ कर रहे होंगे और मोबाइल हॉटस्पॉट का यहां पे यूज़
कर रहे होगे। तो देखो चांसेस क्या रहते हैं। जब हम एक मोबाइल हॉटस्पॉट की बात करते हो तो जो मोबाइल का IP एड्रेस रहता
है वो कंटीन्यूअसली चेंज होता रहता है। Wi-Fi भी चेंज होता है उसमें लेकिन थोड़े दिन लग जाते हैं। तो होता क्या है कि भाई
यहां पे ये जो IP एड्रेस होने वाला है ये चेंज होता रहेगा। मतलब क्या कि क्योंकि आप एक मोबाइल का हॉटस्पॉट यूज़ कर रहे हो या
Wi-Fi यूज़ कर रहे हो तो Wi-Fi का भी IP एड्रेस चेंज होता है। वो होता रहता है। साइकिल उसकी चलती रहती है। तो वो IPपी
एड्रेस वहां पे चेंज होता रहता है। तो अब देखो होगा क्या? होता ये है कि हम यहां पे ऐड करंट आईपी एड्रेस नहीं करते अभी के
लिए। हम यहां पे अलाउ करते हैं एक्सेस फ्रॉम एनीवेयर। तो क्या ये प्रोडक्शन पे भी चलता है? नहीं। प्रोडक्शन पे एक
बिल्कुल नहीं चलता। प्रोडक्शन पे तो बस एक चीज चलती है। क्या के जो जिस मशीन पे आपका सर्वर रन हो रहा होगा सिर्फ आप उस मशीन का
IPपी एड्रेस अलाउ करोगे अपने डेटाबेस के अंदर और बाकी किसी को भी अलाउ नहीं करते। तो अभी तो हमने यहां पे अलाउ एक्सेस फ्रॉम
एनीवेयर कर दिया। तो इसका मतलब क्या है? इसका मतलब ये है कि अभी हम प्रोडक्शन पे हैं। जब आप जब आप प्रोडक्शन पे रहते हो तब
तक आप यहां पे सॉरी प्रोडक्शन बोल दिया मैंने। अभी हम प्रोडक्शन पे नहीं है। अभी हम यहां पे डेवलपमेंट पे हैं। अभी हम यहां
पे डेवलपमेंट पे हैं। तो जब तक आप डेवलपमेंट पे रहोगे तब तक आप यहां पे अलव एक्सेस फ्रॉम एनीवेयर कर सकते हो। क्योंकि
जो आपका प्रोडक्शन वाला डेटाबेस रहता है वहां पे तो सिर्फ जिस सर्वर पे आपका जो जो भी आपकी मशीन है उस मशीन पे जो भी आपका
सर्वर चल रहा है उस मशीन का आईपी एड्रेस आप अलाउ करोगे और बाकी कोई भी IPपी एड्रेस वहां पे अलाउ नहीं करते हो। तो ये एक चीज
रहती है। तो जब तक आप डेवलपमेंट पे हो डेवलपमेंट के टाइम पे अलाउ एक्सेस फ्रॉम एनीवेयर कर दो। जैसे ही आप प्रोडक्शन पे
जाओगे तो प्रोडक्शन के टाइम पे ये एक सिंगल मशीन का IP एड्रेस आप अलाउ करते हो अपने डेटाबेस के अंदर। तो देखो यहां पे आए
इसे किया कंफर्म। कंफर्म करने के बाद ये जो हमारा एक IPपी एड्रेस का रूल है इसको इनेबल होने में या बोल सकते हो पर्टिकुलर
एक्टिव होने में थोड़ा सा टाइम लग सकता है। तो इसको अलऊ करो। तो आई होप आपको ये जो नेटवर्क एक्सेस वाला पार्ट होगा ये
नेटवर्क एक्सेस वाला पार्ट क्लियर हो चुका होगा। अब डेटाबेस एक्सेस पे आते हो। तो डेटाबेस एक्सेस में होता क्या है कि आपके
पास यहां पे अलग-अलग यूज़र्स रहते हैं जिनको जो अलग-अलग तरीके से काम कर सकते हैं। मतलब क्या? सुनो होता क्या है? जो
डेटाबेस में मेन ऑपरेशंस रहते हैं वो चार ऑपरेशंस रहते हैं। कौन-कौन से? देखो मैं बता रहा हूं। डेटाबेस के अंदर हमारे पास
मेनली चार ऑपरेशंस होते हैं। कौन-कौन से ये रहते हैं? इनको हम मेनली बोलते हैं क्रड ऑपरेशन। और सी का मतलब यहां पे रहता
है क्रिएट। सी का मतलब यहां पे होगा क्रिएट। फिर हम यहां पे आर की अगर यहां पे बात करते हैं तो आर का मतलब होता है यहां
पे रीड। फिर यू का मतलब अपडेट और डी का मतलब यहां पे डिलीट होता है। तो चार ऑपरेशंस जिनको हम क्लड बोलते हैं। क्रिएट,
रीड, अपडेट एंड डिलीट। ये चार ऑपरेशंस हमारे पास प्रेजेंट रहते हैं। तो अब ये चार ऑपरेशंस ही आप अपने डेटाबेस के अंदर
करते हो। किस तरीके से कर रहे हो वो अलग लॉजिक में आ जाता है। किस क्यों करना पड़ रहा है, कैसे कर रहे हो वो लॉजिक के अंदर
आता है। लेकिन मेनली यही चार ऑपरेशंस आप अपने डेटाबेस के अंदर करते हो। तो ये जो आपका डेटाबेस एक्सेस लेयर है ये
सिक्योरिटी की किस लेयर की है और ये किस काम में आ रही होती है तो देखो ये काम में आती है हमारे पास कि भाई आप यहां पे अपने
डेटाबेस के अंदर मल्टीपल यूज़र्स क्रिएट करते हो हां मल्टीपल यूजर मतलब मैं समझ नहीं पा रहा हूं सुनो स्पॉटिफाई पता है
स्पॉटिफाई जो आपका है अ स्पॉटिफाई स्पॉटिफाई तो अगर यहां पे मैं आता हूं स्पॉट पे अगर आऊंगा तो स्पॉटिफाई पे आने
के बाद यहां पे आप बहुत सारे म्यूजिक रहते हैं और इन म्यूजिक को बहुत ईजीली आप सुन सकते हो। अगर आप यहां पे चाहो तो आप अपनी
खुद की एक प्लेलिस्ट क्रिएट कर लेना। प्लेलिस्ट क्रिएट करने के बाद आप किसी भी म्यूजिक को लाइक भी कर सकते हो। ये सारी
चीजें आप स्वॉटिफाई के अंदर कर सकते हो। ये आपका रहता है। अच्छा क्या यहां पर आप एक पर्टिकुलर म्यूजिक को अपलोड कर सकते
हो। मतलब कि आप क्या एक नया म्यूजिक क्रिएट कर सकते हो? नहीं किया जा सकता वो। क्यों? क्योंकि स्पॉट वो आपको अलाउ नहीं
करता। स्पॉटफाई आपको अलाउ नहीं करता कि आप यहां पे एक नया म्यूजिक इस जगह पे अपलोड कर सको। हां। लेकिन स्पॉटिफाई नॉर्मल यूजर
को अलाउ नहीं करेगा। लेकिन स्पॉट का एक यूजर और होता है। स्पॉट आर्टिस्ट। ये बहुत सारे लोगों को
नहीं पता होगा। लेकिन स्पॉटिफाई आर्टिस्ट करके हमारे पास एक यूजर और होता है। और जो आपके स्पॉटिफाई आर्टिस्ट हैं ये नए
म्यूजिक क्रिएट कर सकते हैं स्पॉटिफाई के प्लेटफार्म पे। तो अब जो मैं कहना चाहता हूं वो ये है कि भाई स्पॉटिफाई के दो
अलग-अलग टाइप के यूजर हैं। एक अपना नॉर्मल यूजर है जो यूजर गानों को सुन सकता है। प्लेलिस्ट क्रिएट कर सकता है लेकिन नए
गाने क्रिएट नहीं कर सकता। लेकिन दूसरी तरफ जो हमारा एक आर्टिस्ट यूजर है वो आर्टिस्ट यूजर नए गानों को क्रिएट भी कर
सकता है स्पॉटफाई के प्लेटफार्म पे। तो मैं कहना क्या चाह रहा हूं? सुन। हमारे पास ये जो डेटा एक्सेस लेयर होती है इसमें
हम अलग-अलग टाइप के यूजर क्रिएट करते हैं हमारे डेटाबेस के अंदर जो कौन-कौन से ऑपरेशन कर सकते हैं वो हम यहां पे डिफाइन
कर सकते हैं। जैसे कि अगर मैं यहां पे एक नया डेटाबेस क्रिएट करना एक नया डेटाबेस का यूजर क्रिएट करना चाहूं तो लेट्स से
मैं इसका नाम दे रहा हूं वाईटी। ठीक? तो यहां पे मैंने इसका नाम दे दिया वाईटी और जो पासवर्ड मैं यहां पे देना चाह रहा हूं
कि भाई जो यूजर क्रिएट कर रहा हूं इसका पासवर्ड क्या रहेगा? ऑर्डर जनरेट कर लो आप। इसे किया कॉपी और कॉपी करने के बाद
यूजर डिस्क्रिप्शन यह जो हम पासवर्ड यहां पे कॉपी कर रहे हैं इसे सेव करना रहेगा। सो ये हो गया अपना पासवर्ड। पासवर्ड सेव
करने के बाद यूजर डिस्क्रिप्शन नीड नहीं है। अब देखो यहां पे हमारे पास आता है बिल्ट इन रोल। अब बिल्ट इन रोल्स कौन-कौन
से होते हैं? इसकी अगर मैं यहां पे बात करता हूं तो देखो कौन-कौन से रोल्स हैं? एक एटलास्ट एडमिन है। एटलास्ट एडमिन का
मतलब क्या? कि भाई एटलास्ट एडमिन जो भी आपका यूजर रहेगा वो डेटाबेस के अंदर कुछ भी परफॉर्म कर सकता है। उसके ऊपर कोई भी
रोक-टोक नहीं होगी। फिर एक हमारे पास आता है रीड एंड राइट टू एनी डेटाबेस। मतलब क्या? कि ये पर्टिकुलर यूजर कुछ भी रीड कर
सकता है किसी भी डेटाबेस से और कुछ भी राइट कर सकता है किसी भी डेटाबेस के अंदर। ओनली रीड एनी डेटाबेस। मतलब क्या? कि अगर
आप इस रोल को सेलेक्ट करोगे तो एक यूजर सिर्फ रीड कर सकता है किसी डेटाबेस को उसको मॉडिफाई या अपडेट नहीं कर पाएगा। तो
अभी के लिए हम जिस पे जा रहे हैं वो अपना क्या रहेगा? एटलास्ट एडमिन। क्योंकि हम प्रोडक्शन पे नहीं देख रहे हैं। अभी हम
यहां पे पढ़ना सीख रहे हैं। तो हम यहां पे एटलास्ट एडमिन यहां पे सेलेक्ट करेंगे। तो अब देखो इसे किया ऐड यूजर। ऐड यूजर क्रिएट
करने के बाद जो हमारा यूजर है वो क्रिएट हुआ। अब यूजर क्रिएट करने के बाद अब यूजर क्रिएट करने के बाद अब देखो होगा क्या? जो
तुम्हारा एक मेन डेटाबेस है वो डेटाबेस तुम यहां पे सेटअप कर चुके हो। अब डेटाबेस सेटअप करने के बाद तुम वापस आओगे mongdob
की वेबसाइट पे जो अपने mongdob की वेबसाइट है। mongdo ddb.com इस वेबसाइट पे वापस आओ। इस वेबसाइट पे वापस आने के बाद
प्रोडक्ट्स पे आओ और इधर पे तुम्हें टूल्स के अंदर कंपास करके एक चीज मिलेगी। इसे करना डाउनलोड। तो mgodob कंपस जो होने
वाला है इसे तुम्हें डाउनलोड करना रहेगा। सो डाउनलोड नाउ डाउनलोड नाउ पे क्लिक करो। क्लिक करने के बाद mgodob compस डाउनलोड
guआई ध्यान रखना ऊपर यह जो आ रहा है mongdob शेल डाउनलोड ये डाउनलोड नहीं करना जो तुम्हें डाउनलोड करना है वो है mgodb
compस डाउनलोड guआई ये डाउनलोड करोगे डाउनलोड करने के बाद जो भी तुम्हारी मशीन है Windows या जो भी है उसके हिसाब से तुम
डाउनलोड करो और इंस्टॉल इसको करना रहेगा। अब जब तुम md को डाउनलोड करोगे और ओपन करोगे तो ओपन करने के बाद तुम्हें एक
विंडो दिख रही होगी। वो विंडो बस ओपन हो रही है। दूसरे पेज पे ओपन हुई है। तो ये एक विंडो तुम्हें यहां पे देखने के लिए
मिल जाएगी। अब देखो ये विंडो शुरुआत में कुछ ऐसी दिखेगी। यहां पे इतनी सारी चीजें तुम्हें यहां पे नहीं दिखने वाली। ये मेरे
अलग-अलग डेटाबेस हैं। ये मेरे अलग-अलग डेटाबेस हैं। अलग-अलग क्लस्टर हैं। डेटाबेस इनको बोलना गलत होगा। ये अलग-अलग
मेरे क्लस्टर्स हैं। तो ये सारे क्लस्टर्स हैं। अब मैं यहां पे जो हमने एक और क्लस्टर क्रिएट किया है। ध्यान याद है
तुम्हें? हमने यहां पे एक क्लस्टर और क्रिएट किया था और क्लस्टर का नाम हमने क्या दिया था? वाईटी कंप्लीट बैक एंड। तो
ये एक पर्टिकुलर क्लस्टर हमने और क्रिएट किया था। और इस क्लस्टर को अब मैं यहां पे कनेक्ट करूंगा। कैसे? अब मैं यहां पे जो
मेरा एक मोंगो डीबी कंपास है। मोंगो डीबी कंपास क्या है? अपना एक टूल है जो क्या किस लिए यूज करते हैं? जो भी आपका क्लस्टर
है और क्लस्टर के अंदर जितने भी डेटाबेस आपके होने वाले हैं और उन डेटाबेस के अंदर जितना जितना भी डेटा रहेगा उन डेटा को
देखने के लिए बस हां सिर्फ देखने के लिए हम यहां पे मोंगो डीबी कंपास का यूज़ करते हैं। तो अब अगर मैं यहां पे आता हूं इधर
पे क्या जाएगा देखो अ तो देखो तुम्हें यहां पे क्लस्ट कनेक्ट करना है तो कनेक्ट करने के लिए इधर पे एक बटन होगी प्लस की
इस प्लस बटन पे क्लिक करोगे यहां पे पूछा जाएगा यूआरआई तो यूआरआई तुम्हें कहां से मिलने वाली है यूआरआई तुम्हें मिलेगी यहां
क्लस्टर पे जब तुम आओगे तो इधर पे एक कनेक्ट की बटन आएगी कनेक्ट पे करना क्लिक क्लिक करने के बाद कंपास सेलेक्ट करोगे
कंपास सेलेक्ट करने के बाद आई हैव मंगो डीबी कंपास इंस्टॉल इस पे क्लिक कर सकते हो क्लिक करने के बाद यहां पे एक स्ट्रिंग
आएगी सो कॉपी द कनेक्शन स्ट्रिंग देन ओपन मंगोबी कंपास तो ये जो अपनी स्ट्रिंग होने वाली है इस स्ट्रिंग को करो कॉपी कॉपी
करने के बाद यहां पे करो पेस्ट पेस्ट करने के बाद अब तुम्हें यहां पे कुछ चीज नोटिस करनी है क्या कि इस इस जगह पे क्या आएगा
डीबी पासवर्ड ये एक चीज यहां पे आने वाली है अब ये लिंक क्या एग्जैक्टली करने वाली है वो मैं तुम्हें थोड़ा समझाता हूं तो
देखो ये लिंक एग्जैक्टली करेगी क्या वो अब मैं समझा रहा हूं तो देखो ये लिंक अपनी कुछ इस तरीके से क्या कि मोंगो डीबी प्लस
एसआरवी और hइफन कॉलन स्लैश स्लैश वाईटी पासवर्ड फिर व पासवर्ड क्या है? @ वाईt कंप्लीट बैक एंड ये वाईटी कंप्लीट बैक एंड
याद है ये क्या है? अपने क्लस्टर का नाम ये अपना क्या था? ये अपने क्लस्टर का नाम था और फिर कुछ और चीजें और mgo ddb.net तो
ये लिंक एग्जैक्टली कर क्या रही है? ये लिंक हमें बता रही होती है कि हमें एक पर्टिकुलर क्लस्टर से कनेक्ट करना है और
उस क्लस्टर का एड्रेस यहां पे क्या है? तो क्लस्टर का एड्रेस कि भाई वाईटी कंप्लीट बैक एंड उसका नाम है और ये मोंगडीबी डॉट
नेट के अंदर एग्जिस्ट करता है। ये यहां पे बताया जा रहा है और किस यूजर के क्रेडेंशियल से हम यहां पे कनेक्ट कर रहे
हैं कि भाई यूजर तो बहुत सारे हो सकते हैं हमारे मंगोबी डेटाबेस के अंदर। तो हम यूजर का नाम और यूजर का पासवर्ड हम यहां पे बता
रहे होंगे। तो यूजर का पासवर्ड ये रहा। इस यूजर को करेंगे। इस पासवर्ड को करेंगे कॉपी और कॉपी करने के बाद इस जगह पे
करेंगे हम पेस्ट। तो ये हमें कुछ करना रहेगा। तो ये अपनी पूरी लिंक कंप्लीट हुई। इसे करो कॉपी। और कॉपी करने के बाद इधर पे
आके कर सकते हो आप पेस्ट। तो पेस्ट किया और कलर आई थिंक वी कैन गो विद रेड। ठीक है? तो रेड के साथ मैं जा रहा
हूं और सेव एंड कनेक्ट मैं यहां पे कर रहा हूं। ध्यान रखना सेव एंड कनेक्ट पे क्लिक करोगे। सेव एंड कनेक्ट पे क्लिक करने के
बाद ये जो अपना कम वाईटी कंप्लीट बैक एंड है इस पर्टिकुलर चीज़ से हम कनेक्ट करेंगे। और अब अगर तुम देखोगे जो हमारा क्लस्टर है
उस क्लस्टर से हम सक्सेसफुली कनेक्ट हो चुके हैं। और अब इसके अंदर हमें एक डेटाबेस क्रिएट करना है। और डेटाबेस
क्रिएट करने के बाद हम फाइनली अपने डेटा को स्टोर करेंगे हमारे डेटाबेस के अंदर सर्वर के थ्रू। अब वो कैसे करना है उसकी
तरफ आगे बढ़ेंगे। लेकिन अब एक चीज समझो क्या? अगर तुम सोच रहे हो कि क्या ये चीज कॉम्प्लेक्स है? हां, थोड़ी बहुत है।
थोड़ी बहुत है। लेकिन मुझे इतना पता है कि अगर तुम्हें थोड़ा सा डाउट लग भी रहा है तो एक बार इस वीडियो को फिर से रिवी
रिवीजन लगा के देखना। 1.5x पे देखना और चीजें तुम्हें फिर भी क्लियर हो जाएंगी। देखो बहुत ज्यादा कॉम्प्लेक्स नहीं है।
बहुत आराम से मैंने इसमें पढ़ाया हूं। कोई ज्यादा डाउट नहीं आएगा। अगर तुम्हें फिर भी चीजें थोड़ी सी कठिन लग रही हैं तो कोई
प्रॉब्लम नहीं है यार। उसमें भी कोई प्रॉब्लम नहीं है। तुम चीजें पहली बार कर रहे हो। पहली बार डेटाबेस क्या होता है?
पहली बार क्लस्टर क्या होता है? उसको कैसे क्रिएट करना होता है? मंगो डीबी पे कैसे क्लस्टर को क्रिएट करना है? ये सारी चीजें
तुम पहली बार कर रहे हो तो कोई प्रॉब्लम नहीं है। अगर ये तुम्हें थोड़ा बहुत कठिन लग रहा है बस फर्क कहां पे होगा कि अगर
तुम्हें कठिन लग रहा है फिर भी तुम उसको कर रहे हो या फर्क यहां पे आ जाता है कि तुम्हें कठिन लग रहा है और तुमने उसको
छोड़ दिया तो छोड़ना नहीं है। ध्यान रखना छोड़ना नहीं। जब तुम्हें पता है कि भाई जब तुमने इस वीडियो को क्लिक किया था जब
तुमने इस वीडियो को ओपन किया था तो तुम्हें पता था कि भाई ये इस वीडियो को अगर मैंने देख लिया तो बैक एंड मैं सीख
जाऊंगा तो बस इस वीडियो को पूरा कंप्लीट करो और बैक एंड तुम सीख जाओगे। बीच में अगर तुमने छोड़ दिया तो नहीं सीख पाओगे।
इस चीज का ध्यान रखना। बीच में अगर तुमने इस वीडियो को छोड़ दिया तो बैक एंड नहीं सीख पाओगे। ये एक चीज है। तो भाइयों इस
बार बस मेहनत कर लो। इस बार अगर तुमने इस पूरी वीडियो को देख लिया तो पूरा बैक एंड तुम्हें आ जाएगा। कोई प्रॉब्लम नहीं होगी
भाइयों। बहुत अच्छा बैक एंड आगे और अच्छा बैक एंड आने वाला है। आगे और भी चीजें आएंगी। थोड़ा सा कॉम्प्लेक्स है। थोड़ा सा
कठिन हो सकता है इस पर्टिकुलर पार्ट में। लेकिन ये बस मैं तुम्हें बता रहा हूं। देखो जब हम बैक एंड पढ़ रहे होते हैं ना
तो दो टॉपिक थोड़े से कठिन आते हैं। पहला अपना ये जो अभी चल रहा है दैट इज डेटाबेस और दूसरा टॉपिक रहेगा ऑथेंटिकेशन। तो ये
वाला टॉपिक तुम कर लो और इसके बाद जो ऑथेंटिकेशन आने वाला है वो तुम्हें थोड़ा सा कठिन लगेगा लेकिन बहुत ज्यादा कठिन
नहीं लगने वाला है। ये मेरी गारंटी है। हल्का सा कठिन रहता है लेकिन नहीं लगेगा वो भी। ये मेरी गारंटी नहीं लगेगा वो भी।
बस ये जो अभी तुम्हें मोंगो डीप भी लग रहा है इसे तुम बस कर लो अच्छे से। इसे अगर तुम्हें थोड़ी सी कंफ्यूजन है वापस से
वीडियो पे जाओ। 1.5x पे लगाओ और पूरा एक बार रिवीज़ करो कि कैसे क्या हमने यहां पे चीज़ की हैं। एक क्लस्टर क्रिएट करो और
क्लस्टर को मोंगोडीबी कंपास जो है उससे कनेक्ट करो और अब हम यहां पे आगे बढ़ेंगे कि भाई कैसे हम एक डेटाबेस को क्रिएट करते
हैं और कैसे उसके अंदर हम अपने डेटा को क्रिएट करने वाले हैं। ये हमें यहां पे देखना रहेगा। चल अभी तक हम यहां पे एक
क्लस्टर सेटअप कर चुके हैं। और क्लस्टर सेटअप करने के बाद कौन सा IPपी एड्रेस उस पर्टिकुलर क्लस्टर से कनेक्ट कर सकता है।
साथ ही साथ एक यूजर जो कि पूरा एट लास्ट एडमिन का एक्सेस उसके पास है वो हम यहां पे सेटअप कर चुके हैं। फिर इसके बाद हमने
मोंगडीबी कंस देखा था और मोंगोडी कंपास क्या है? एक टूल है जिसकी वजह से हम देख सकते हैं कि हमारे क्लस्टर के अंदर कितने
डेटाबेस हैं और उन डेटाबेस के अंदर क्या-क्या डेटा स्टोर किया गया है। ये तक यहां तक अभी तक हम यहां पे चीजें देख चुके
हैं। अब देखो अब क्या करना है? अब हमारा यहां पे एक गोल रहेगा क्या कि देखो यहां पे जो हमारा सर्वर है इस सर्वर को कनेक्ट
करें हमारे डेटाबेस से जो कि क्लस्टर के अंदर होगा इस डेटाबेस से कनेक्ट करें और सर्वर को जो भी डेटा स्टोर करना है वो इस
डेटाबेस के अंदर स्टोर कर सके। ये हमारा मेन काम है। तो क्लस्टर सेटअप है। अब डेटाबेस क्रिएट करना है और सर्वर को इससे
कनेक्ट करना है। ये हमारा काम यहां पे बनने वाला है। अब सुनो डेटाबेस हम क्रिएट कर लेंगे। लेकिन जो हमारा सर्वर है सर्वर
को हम किस तरीके से डेटाबेस से कनेक्ट करते हैं इसके लिए हम क्या यूज़ करते हैं और कैसे कनेक्ट करते हैं तो देखो एक पैकेज
आता है पैकेज का नाम क्या है मोंगूस तो मोंगूस करके एक पैकेज आता है पैकेज का यूज़ करते हैं ताकि जो हमारा सर्वर है वो
कनेक्ट हो पाए हमारे मोंगो डीबी डेटाबेस से इसलिए हम यहां पे मोंगूस पैकेज का यूज़ करते हैं तो देखो यहां पे आते हैं हम
टर्मिनल पे टर्मिनल पे आने के बाद एक पैकेज इंस्टॉल करेंगे पैकेज का नाम क्या रहेगा मोंगूस तो मोंगूस पैकेज हमने यहां
पे इंस्टॉल किया मोंगूस उस पैकेज इंस्टॉल करने के बाद अब देखो अ एक काम करते हैं। हम एकदम फ्रेश स्टार्ट करते हैं क्योंकि
हमें बहुत सारी चीजें अभी यहां पे चेंज भी करनी है। सो एकदम स्टार्ट करते हैं। तो सुनो यहां पे अब एक भी फाइल नहीं है। जो
हमारी एक नोट js की एप्लीकेशन रहती है। इसको इनिशिएट करने के लिए हमें यहां पे जरूरत पड़ेगी एनपीएम इनट hfन y की। एनपीएम
यूनिट hfन y रखेंगे। एक पैकेज की जरूरत पड़ेगी। पैकेज का नाम है एक्सप्रेस। और एक्सप्रेस पैकेज के यूज़ करते हैं हम ताकि
हम हमारे सर्वर को क्रिएट कर सके। इसलिए एक्सप्रेस पैकेज का यूज़ किया जाता है। फिर हमें यहां पे एक चीज की जरूरत पड़ेगी। उस
पैकेज का नाम क्या है? मोंगूस। मोंगूस पैकेज इंस्टॉल कर रहे हैं ताकि जो हमारा सर्वर होने वाला है और जो हमारा डेटाबेस
रहेगा दोनों को कनेक्ट कर सके। इसलिए यहां पे मोंगूस पैकेज का यूज़ किया जा रहा है। ठीक है? सो अब देखो जो हमारा एक बेसिक कोड
रहता है कि जिसमें हम सर्वर को क्रिएट करके स्टार्ट कर सकते हैं। वो लिखते हैं। तो सर्वर जो हमारा क्रिएट होता है वो
क्रिएट होता है एसआरसी फोल्डर के अंदर app.js फाइल में। सो app.js फाइल यहां पे क्रिएट करेंगे। रिक्वायर करेंगे हम यहां
पे एक्सप्रेस इक्व टू रिक्वायर रिक्वायर किया यहां पे एक्सप्रेस एक्सप्रेस रिक्वायर करने का सर्वर का इंस्टेंस
क्रिएट किया जाएगा एक्सप्रेस को कॉल करने के बाद और देन हम यहां पे बोलेंगे मॉड्यूल डॉट एक्सपोर्ट्स = ऐप यहां पे हम बोल सकते
हैं अब सुनो तुमने यहां पे सर्वर क्रिएट कर दिया सर्वर क्रिएट करने का सर्वर स्टार्ट करने के लिए तुम यहां पे एक फाइल
और क्रिएट करोगे फाइल का नाम रखोगे सर्वर डॉट जेएस सर्वरjs फाइल का नाम रखा जो सर्वर तुमने apps फाइल में क्रिएट किया था
और यहां से एक्सपोर्ट किया था। इसे यहां से करेंगे रिक्वायर। तो कॉस्ट ऐप इक्व टू रिक्वायर रिक्वायर हम यहां पे बोलेंगे भाई
एसआरसी फोल्डर के अंदर जो ऐप फाइल है इसे किया रिक्वायर और रिक्वायर करने के बाद ऐप डॉट लिसन से पोर्ट नंबर 3000 पे चलाएंगे
और एक कॉल बैक हम यहां पे दे रहे होंगे। कॉल बैकक हमारा रहेगा कंसोल सर्वर इज़ रनिंग ऑन पोर्ट 3000। बढ़िया है। तो यहां
पे अपना चल रहा है ये वाला काम। बढ़िया है। तो अभी तक हम क्या कर चुके हैं? हम हमारे सर्वर को क्रिएट कर चुके हैं और साथ ही
साथ सर्वर को स्टार्ट कर चुके हैं। अब देखो जो दो काम कर चुके हैं। कौन-कौन से? सर्वर क्रिएट किया, सर्वर को स्टार्ट
किया। अब जो हमारा तीसरा काम रहता है किसी भी सर्वर को सेटअप करते टाइम शुरुआत में वो काम रहता है सर्वर को कनेक्ट करो तुम
तुम्हारे डेटाबेस से। तो अब सुनो होता क्या है कि जैसे कि देखो यहां पे हमने दो फाइल क्रिएट किए थे। कौन-कौन सी? ये दोनों
फाइल थी। एक फाइल थी हमारी यहां पे app.js। एक फाइल हमारी app.js इसका काम था सर्वर को क्रिएट करना और एक फाइल थी हमारी
server डॉटjs इसका काम था सर्वर को स्टार्ट करना तो दो अलग-अलग फाइल और दोनों के अलग-अलग यहां पे काम रहते हैं। सिमिलर
वे पे जो डेटाबेस से कनेक्ट करने का काम रहता है ये भी आप लॉजिक लिखोगे। बिल्कुल आपका यही तो काम है कि भाई सर्वर को
कनेक्ट करो डेटाबेस से। ये काम आप बिल्कुल करोगे। लेकिन इस काम के लिए जो आपको प्रोग्राम कर लिखना पड़ेगा जो लॉजिक्स
लिखने पड़ेंगे वो आप एक अलग फाइल में लिखते हो। कौन सी फाइल के अंदर लिखते हो? तो एसआरसी फोल्डर के अंदर आप एक फोल्डर
क्रिएट करते हो डीबी और डीबी फोल्डर के अंदर आप यहां पे एक फोल्डर क्रिएट फाइल क्रिएट करोगे उसका नाम रहेगा डीबी डॉट
जेएस और इस पर्टिकुलर फाइल के अंदर आप लॉजिक लिखते हो कि किस तरीके से आपका सर्वर डेटाबेस से कनेक्ट किया जाएगा तो
देखो हम यहां पे कॉस्ट मोंगूस इक्वल्स टू रिक्वायर मोंगूस मोंगूस को क्यों रिक्वायर किया मोंगूस हम यहां पे रिक्वायर कर रहे
हैं ताकि जो हमारा सर्वर है वो डेटाबेस से कनेक्ट कर सके और सर्वर को डेटाबेस से कनेक्ट करने के हमें एक पैकेज यूज़ करना
रहता है। पैकेज का नाम क्या है? मोंगोस। तो मोंगूस पैकेज हम यहां पे यूज़ करेंगे। अब मोंगूस पैकेज आपने यूज़ किया। अब सुनो
होता क्या है? आप बिल्कुल यहां पे लॉजिक लिखने वाले हो। कहां पे? DBJS फाइल के अंदर एक लॉजिक लिखोगे भाई कैसे सर्वर
कनेक्ट होगा डेटाबेस से। लेकिन आप यहां पे करते हो एक फंक्शन बनाते हो। फंक्शन का नाम क्या रहेगा? फंक्शन का नाम आप यहां पे
लिखोगे कनेक्ट डीबी। कनेक्ट डीबी आपके फंक्शन का नाम होने वाला है। और इस कनेक्ट डीबी फंक्शन के अंदर आप यहां पे लिख रहेगे
कि अवेट और अवेट के अंदर आप लिखोगे मोंगूस डॉट कनेक्ट। अब ये जो मोंगूस डॉट कनेक्ट मेथड है ये क्या करती है? मोंगूस डॉट
कनेक्ट मेथड यहां पे अ वी कैन से जो आपका सर्वर है उसे कनेक्ट करके देगी आपके एक्चुअल डेटाबेस
से। ये जो आपकी मेथड है मोंगूस डॉट कनेक्ट यही मेथड आपके सर्वर को कनेक्ट करती है आपके डेटाबेस से। अच्छा तो ये कुछ मांगती
है भी क्या हां ये कुछ आपसे पैरामीटर मांगेगी कौन से पैरामीटर ये रहते हैं तो ये आपसे मांगती है यूआरआई ये आपसे एक
यूआरआई मांगने वाली है अच्छा ये यूआरआई कहां से आएगी तो ये यूआरआई आपको मिलती है जो कंपास के अंदर जब आप अपने क्लस्टर से
कनेक्ट कर रहे थे जब आपने क्लस्टर से कनेक्ट कर रहे थे तो कनेक्ट करते टाइम भी आपने एक यूआरआई दी थी वही सेम यूआरआई इसको
चाहिए रहेगी तो देखो अब यहां पे आते हैं जो भी कॉपी कनेक्शन स्ट्रिंग है इसे करोगे कॉपी कॉपी करने के बाद आप यहां पे कर सकते
हो पेस्ट बढ़िया है तो अब सुनो ये जो यूआरआई अभी आपको यहां पे मिली है। यह यूआरआई कहां तक की है? आपके क्लस्टर तक की
है। कहां तक की है? आपके क्लस्टर तक की है। तो जो आपका सर्वर अभी कनेक्ट होगा इस पर्टिकुलर यूआरआई से ये क्लस्टर से कनेक्ट
हो रहा होगा। लेकिन सर्वर को हम क्लस्टर से कनेक्ट नहीं करवाते। क्लस्टर के अंदर जो डेटाबेस है उससे कनेक्ट करवाना रहता
है। लेकिन ये जो आपकी यूआरआई है ये तो क्लस्टर तक की है। हमें डेटाबेस से कनेक्ट करवाना है। तो डेटाबेस से कनेक्ट करवाने
के लिए लेट्स से मैं यहां पे बोल दे रहा हूं कि भाई जो अभी हमारा यहां पे एक डेटाबेस होने वाला है। क्लस्टर के अंदर
हमें डेटाबेस क्रिएट करना है। हां बिल्कुल क्रिएट करना है। तो हम यहां पे एक काम बोलेंगे। लेट्स से हम यहां पे
अ वी कैन से हेली। ठीक है? तो जो हमारे डेटाबेस का नाम रहेगा, डेटाबेस का नाम मैंने यहां पे क्या
दे दिया? हेली यहां पे मैंने डेटाबेस का नाम दे दिया हूं। तो इसका मतलब क्या है? इस पूरी यूआरआई का मतलब हुआ क्या है?
एग्जैक्टली सुनो। तो यहां से लेके यहां तक डॉट नेट के बाद जो अपना स्लैश आ रहा है यहां तक यूआरआई कहां तक की थी? कि आपका
सर्वर क्लस्टर से कनेक्ट हो जाएगा। यहां तक की ये आपकी यूआरआई थी। अब इस यूआरआई के बाद जो आपके पास हेली आ रहा है जो आपके
पास यहां पे हेली आ रहा है। ये क्या है? ये क्लस्टर के अंदर जो डेटाबेस होने वाला है उसका नाम है। हेली आपका क्या रहेगा?
पहली आपका रहेगा डेटाबेस का नाम तो लेकिन ये डेटाबेस तो हमने क्रिएट किया नहीं तो ये कैसे हो जाएगा तो सुनो होता क्या है ये
जो मोंगूस डॉट कनेक्ट मेथड है ये काफी पावरफुल होती है कैसे ये पावरफुल इसलिए होती है कि भाई इसका मेन काम तो यही है कि
सर्वर को डेटाबेस से कनेक्ट करना तो ये अभी किस सर्वर से कनेक्ट होगी किस डेटाबेस से कनेक्ट होगी तो ये जो हमारा क्लस्टर है
क्लस्टर के अंदर एक हेली करके डेटाबेस है उसके अंदर उसके साथ ये कनेक्ट हो जाएगी लेकिन ये डेटाबेस तो हमने क्रिएट किया
नहीं तो इसलिए वजह से तो ये पावरफुल है क्यों क्योंकि अगर इसको क्लस्टर के अंदर अंदर हेली नाम का डेटाबेस नहीं मिलता है
तो यह क्या करेगी? हेली नाम का डेटाबेस क्रिएट करेगी और उससे कनेक्ट हो जाती है। यह इसके साथ सिंपल सा सीन रहता है। और यह
जब भी कनेक्ट हो जाएगी तब हम यहां पे कंसोल करवाएंगे। कंसोल कनेक्टेड टू डीवी। इतना हम यहां पे कंसोल करवा रहे होंगे।
अच्छा अब यहां पे तुम्हें कुछ चीजें समझने वाली हैं कि लाइक हमने यहां पे अवेट क्यों यूज़ किया? अवेट मोंगूस डॉट कनेक्ट। ये चीज़
तुम्हें थोड़ी बहुत समझने में प्रॉब्लम हो रही होगी। देखो हो क्या रहा है। अब सुनो हो क्या रहा है कि जो हमारा सर्वर है ये
जो मैं अभी मेरी लोकल मशीन पे चलने वाला है ये सर्वर कहां पे है? भोपाल पे है। और जो मेरा डेटाबेस है ये कहां पे है? मुंबई
पे। तो अब सीन क्या है कि भाई ये दोनों कनेक्ट करेंगे और कनेक्ट किसके थ्रू करेंगे? इंटरनेट के थ्रू ये दोनों कनेक्ट
करने वाले हैं। तो अब इंटरनेट के थ्रू ये कितनी देर में कनेक्ट करेंगे मुझे नहीं पता। क्योंकि वो टोटली डिपेंड करता है कि
भाई दोनों का इंटरनेट की स्पीड क्या है और इंटरनेट की क्वालिटी क्या है? उसके ऊपर डिपेंड करता है कि दोनों कनेक्ट होने में
कितना टाइम यहां पे लगाने वाली है। एंटायरली उस चीज पे डिपेंड करता है। तो हम नहीं कह सकते कि हमारा सर्वर हमारे
डेटाबेस से कितनी देर में कनेक्ट होने वाला है। इस वजह से हम यहां पे क्या लगाते हैं? अवेट। अवेट का मतलब क्या हुआ? अवेट
का मतलब ये हुआ कि मोंगूस डॉट कनेक्ट मेथड जब तक हमारे सर्वर को डेटाबेस से कनेक्ट ना कर दे तब तक आप यहां पे वेट करोगे। इस
वजह से हमने यहां पे अवेट लगा के रखा और अगर आप यहां पे अवेट लगा रहे हो तो इधर पे आपको सिंक लगाना पड़ता है। और जब भी ये
कनेक्ट हो जाएगा क्या? हमारा सर्वर डेटाबेस से कनेक्ट हो जाएगा। तब आप यहां पे कंसोल करोगे कनेक्टेड टू डीबी। अब सुनो
ये फंक्शन तुमने क्रिएट कर दिया कनेक्ट डीबी। और जब ये फंक्शन को कॉल करोगे ये फंक्शन एग्जीक्यूट होगा और देन तब आपका ये
कोड एग्जीक्यूट होता है। तो इसको कॉल कर देते हैं। कनेक्ट डीबी तो क्या इसको ऐसे ही कॉल करना रहता है? नहीं ऐसा कॉल करना
नहीं रहता। अगर ऐसा कॉल करना रहता है तो मैं यहां पे फंक्शन क्रिएट नहीं करता। सुनो होता क्या है कि dbjs जो फाइल है
इसके अंदर बस आप लॉजिक लिखते हो कि भाई किस तरीके से आप अपने सर्वर को कनेक्ट करोगे डेटाबेस से लेकिन जो आपका फाइनल
एक्शन रहता है कि हां भाई अब कनेक्ट कर दो हमारे सर्वर को डेटाबेस से ये आप कहां पे लेते हो ये आप लेते हो सर्वर डॉट जीएस
फाइल में मतलब क्या देखो ये जो आपने फंक्शन क्रिएट किया है कनेक्ट डीबी ये फंक्शन क्या करेगा आपके सर्वर को कनेक्ट
करेगा आपके डेटाबेस से तो इस फंक्शन को मैंने किया यहां से एक्सपोर्ट इसको यहां से एक्सपोर्ट किया एक्सपोर्ट करने के बाद
सर्वर डॉट जेएस में इसे करूंगा मैं रिक्वायर तो कनेक्ट डीबी या पहले हम यहां पे कॉस्ट
कनेक्ट डीबी इक्व टू रिक्वायर और रिक्वायर के अंदर मैं यहां पे बोलूंगा कि एसआरसी फोल्डर के अंदर डीबी फोल्डर और डीवी
फोल्डर के अंदर डीवी फाइल को हम करेंगे रिक्वायर और देन हम यहां पे जो हमारा कनेक्ट फंक्शन है इसे कर देंगे यहां पे
कॉल। बढ़िया। तो अब देखो डीबी डॉट जेs जो हमारी फाइल रहती है इसके अंदर हम बस लॉजिक बता रहे होते हैं कि भाई किस तरीके से
कनेक्ट करेंगे। लेकिन जो हमारा एक फाइनल एक्शन रह गई भाई फंक्शन को कॉल किया और फंक्शन कॉल करने के बाद हमारा सर्वर
डेटाबेस से कनेक्ट हो गया। ये आप कहां पे करते हो? सर्वर डॉट जेs में ही इस चीज को कर रहे होते। बस ये एक सिंपल सा चीज
रहेगा। अब सुनो अब देखो होगा क्या? अब अगर मैं सर्वर डॉट जेएस फाइल को रन करूंगा तो यहां पे जो अपना कनेक्ट डीवी फंक्शन है ये
कॉल होगा। और जब मैं कनेक्ट डीबी फंक्शन को कॉल करता हूं तो मेरा सर्वर कनेक्ट होगा डेटाबेस से और कंसोल कर दिया जाएगा
कनेक्टेड टू डीबी। ये यहां पे कंसोल हो जाएगा। हां बिल्कुल होगा। तो देखो अब अगर मैं यहां पे रन करता हूं एनपीx नोडम ऑन
सर्वर डॉट जेएस तो देखो यहां पे सर्वर इज़ रनिंग ऑन पोर्ट नंबर 3000 आ जाएगा और साथ ही साथ यहां पे आ जाएगा कनेक्टेड टू डीबी
बढ़िया तो अब कनेक्टेड टू डीबी यहां पे आ रहा है तो इसका मतलब क्या हुआ इसका मतलब ये है कि मेरा सर्वर कनेक्ट हो चुका है
मेरे डेटाबेस से ये अभी तक हम इतना यहां पे कर चुके हैं कि मैं अपने सर्वर को कनेक्ट कर चुका हूं मेरे डेटाबेस से लेकिन
इतना थोड़ी ना करना था हमें यहां पे करना क्या है हम जो यहां पे नोट्स क्रिएट कर रहे थे हमारे टास्क में उस नोट्स को अब
स्टोर स्टोर करना है हमारे डेटाबेस के अंदर। तो देखो अब होगा क्या? मैंने तुम्हें बताया था कि भाई जो एक नोट होने
वाला है जो हमारा एक नोट होने वाला है उसके अंदर दो चीजें रहेंगी। एक रहेगा टाइटल और एक हमारे पास रहेगा यहां पे
डिस्क्रिप्शन। दो चीजें होने वाली हैं। बिल्कुल यही दोनों चीजों के साथ हमने पहले भी नोट को क्रिएट किया था। तो अब देखो
होता क्या है? जब भी आपको कोई भी डेटा डेटाबेस के अंदर स्टोर करना रहता है। पहले उस डेटा के बारे में आपको अपने सर्वर को
बताना पड़ेगा। सर्व नहीं आपको अपने डेटाबेस को बताना पड़ता है। मतलब क्या सुनो फिर से सुनो ध्यान से सुनना इस बार
सुन क्या बोल रहा हूं मैं सुनो क्या बोल रहा हूं अगर तुम्हें कोई भी डेटा तुम्हारे डेटाबेस
के अंदर स्टोर करना है तो तुम्हें पहले अपने डेटाबेस को बताना पड़ेगा कि भाई वो डेटा एग्जैक्टली कैसा दिखने वाला है। जैसे
कि मुझे अभी यहां पे नोट्स का डेटा स्टोर करना है मेरे डेटाबेस के अंदर। तो पहले मुझे मेरे डेटाबेस को बताना पड़ेगा कि भाई
एक नोट कैसा दिखता है। ये मुझे मेरे डेटाबेस को बताना पड़ता है। अच्छा इस प्रोसेस को हम बोलते क्या है? इस प्रोसेस
को हम बोलते हैं स्कीमा क्रिएट करना। स्कीमा क्रिएट करना हम यहां पे बोलते हैं। स्कीमा क्रिएट करना मतलब क्या? डेटाबेस को
बताना कि भाई हम जो डेटा स्टोर करने वाले हैं डेटाबेस के अंदर वो एग्जैक्टली डेटा कैसा दिखेगा। जैसे कि देखो मैं बता रहा
हूं। यहां पे देखो। अब यहां पे होगा क्या कि मुझे यहां पे नड स्टोर करना है। और नोड का
कैसे नड डेटा कैसे दिखेगा? इसके अंदर दो प्रॉपर्टी रहती हैं। एक टाइटल और डिस्क्रिप्शन। तो यही सेम चीज मुझे बतानी
है मेरे डेटाबेस के अंदर। और यहां पे बहुत सारे गुब्बारे अभी निकल गए हैं थोड़ी देर पहले वो मैं इसमें चलती रहती हैं चीजें।
तो अब देखो यहां पे करना क्या है? तो ये जो एक प्रोसेस होती है कि भाई डेटाबेस को बताना कि भाई किस तरीके से हम डेटा को
स्टोर करेंगे। इसे आप बोलते हो स्कीमा क्रिएट करना। और स्कीमा क्रिएट करने के लिए भी हां एक अलग फोल्डर एक अलग फाइल
बनती है। तो स्कीमा जो आप क्रिएट करते हो वो क्रिएट करते हो मॉडल्स फोल्डर के अंदर। और मॉडल्स फोल्डर के अंदर आप यहां पे
बोलते हो नोट डॉट मॉडल डॉट जेएस यहां बोल रहे होते हो। तो अब देखो अब एक मॉडल या बोल सकते हो एक स्कीमा क्रिएट करने के लिए
अगेन आप यहां पे रिक्वायर करोगे मोंगूस इक्व टू रिक्वायर मोंगूस तो मोंगूस को आप वहां पे वापस से रिक्वायर करोगे तो क्या
यहां पे मोंगूस हमें फिर से रिक्वायर करना पड़ता है हमने मोंगूस तो ऑलरेडी एक बार रिक्वायर किया था इस पर्टिकुलर फाइल में
dbjs फाइल में हमने मोंगूस ऑलरेडी एक बार रिक्वायर किया था तो क्या मुझे नोट मॉडल डॉट जेएस फाइल में मुझे एक बार फिर से
मोंगूस रिक्वायर करना पड़ेगा हां फिर से तुम्हें मोंगूस को रिक्वायर करना पड़ेगा और तभी तुम इसको यूज़ कर पाते हो तुम क्या
इसको को बिना रिक्वायर के यूज़ नहीं कर सकते इस फाइल में नहीं कर पाओगे। एरर दे देगा वो कि भाई मोंगोस अनडिफाइंड जा रहा
है। वो एरर वहां पे दे देगा। तो मोंगोस रिक्वायर करो। मोंगूस रिक्वायर करने के बाद हम यहां पे क्रिएट करेंगे नोट स्कीमा।
नोट स्कीमा हम यहां पे क्रिएट करेंगे। क्रिएट कैसे करते हैं? तो उसका कोड देखो। मोंगूस डॉट स्कीमा और स्कीमा के अंदर हम
यहां पे बताएंगे कि भाई स्कीमा के अंदर देखो अब नोट के अंदर दो प्रॉपर्टीज रहेंगी। एक रहेगा टाइटल और दूसरा रहेगा
डिस्क्रिप्शन। तो यही दोनों प्रॉपर्टी मुझे बतानी है डेटाबेस के अंदर। तो देखो मैं क्या बोलूंगा कि भ मेरे नोट के पास एक
प्रॉपर्टी रहेगी जिसका टाइप क्या रहेगा? स्ट्रिंग। तो टाइटल और इसका टाइप क्या रहेगा? स्ट्रिंग रहेगा। वो जो हम टाइटल दे
रहे हैं वो स्ट्रिंग में था ना? और सिमिलर वे पे जो हमारा डिस्क्रिप्शन होने वाला है डिस्क्रिप्शन ये डिस्क्रिप्शन भी हमारा
किस में रहेगा? स्ट्रिंग फॉर्मेट में यहां पे होने वाला है। तो देखो अब मैंने यहां पे क्या बताया? मैंने यहां पे बताया मेरे
डेटाबेस को कि भाई मैं एक नोट क्रिएट करूंगा और नोट के अंदर हमारे पास दो प्रॉपर्टीज होंगी। कौन-कौन सी? टाइटल और
डिस्क्रिप्शन। टाइटल किस टाइप में स्टोर होगा? स्ट्रिंग टाइप में होगा। और डिस्क्रिप्शन किस टाइप में स्टोर होगा?
स्ट्रिंग टाइप में होगा। अच्छा अगर मान लो मैं यहां पे एक यूजर की ऐज स्टोर कर रहा होता तो लेट से अगर मैं यहां पे एज स्टोर
करूंगा तो वो नंबर फॉर्मेट में करूंगा। अच्छा अगर मैं यहां पे डीओबी स्टोर करूंगा तो डीओबी में स्टोर करूंगा डेट फॉर्मेट
में। तो ये जिस टाइप का आप डेटा स्टोर कर रहे हो वो टाइप आपको यहां पे बताना पड़ता है। बस सिंपल से ये कुछ रूल्स रहते हैं
भाई। डेटाबेस के साथ अगर आप काम कर रहे हो तो डेटाबेस के जो कुछ रूल्स रहते हैं वो आपको यहां पे फॉलो करने पड़ते हैं। तो
जैसे कि पहला रूल क्या है कि भ अगर आपको डेटाबेस के अंदर कुछ भी स्टोर कर रहा है तो वो डेटा कैसा दिखने वाला है ये पहले से
ही आपको अपने डेटाबेस को बताना पड़ता है। जैसे कि मुझे यहां पे आगे चल के नोट का डेटा स्टोर करना है डेटाबेस के अंदर। तो
एक नोट मेरा कैसा दिखता है? उसका स्कीमा मुझे यहां पे बताना पड़ता है। और स्कीमा में क्या-क्या है कि भ टाइटल होगा। टाइटल
का टाइप स्ट्रिंग रहेगा। डिस्क्रिप्शन रहेगा। डिस्क्रिप्शन का टाइप भी यहां पे स्ट्रिंग होने वाला है। तो अब ये अपना
स्कीमा हमने बता दिया। स्कीमा बताने के बाद अब मुझे यहां पे क्रिएट करना रहेगा एक मॉडल। तो कॉस्ट अब मॉडल क्या होता है? ये
क्या चीज है? इस पे भी बात करते हैं कि भाई मॉडल अपना क्या रहता है? तो देखो मंगूस डॉट मॉडल आप पहले एक मॉडल हम क्रिएट
करेंगे और बता रहा हूं फिर कि क्यों इसको क्रिएट कर रहे हैं। तो मोंगूस डॉट मॉडल मॉडल का नाम यहां पे एक स्ट्रिंग आपसे
मांगेगा नोट और एक चीज आपसे मांगा जाएगा नोट स्कीमा। ये दोनों चीजें आप यहां पे बता रहे होगे। तो सुनो होगा क्या? कि जो
आपका नोट मॉडल है ये नोट मॉडल हम क्रिएट ही क्यों करते हैं? इस पे अगर मैं बात करता हूं तो देखो होता क्या है?
हमने यहां पे स्कीमा क्रिएट किया था। स्कीमा हमने क्रिएट किया। क्यों क्रिएट किया ताकि डेटाबेस को बता सके कि हम किस
तरीके का डेटा स्टोर करने वाले हैं डेटाबेस के अंदर। ये हम बता सकें। लेकिन मॉडल क्यों क्रिएट करते थे? सुनो। अगर
तुम्हें डेटाबेस में कुछ भी ऑपरेशन परफॉर्म करना है रिलेटेड टू नो तो तुम्हें नोट का मॉडल क्रिएट करना पड़ेगा। कुछ भी
ऑपरेशन से क्या मतलब है? कुछ भी ऑपरेशन से मेरा मतलब है यहां पे जो हमारे पास यहां पे क्रड ऑपरेशंस होते हैं। क्रड ऑपरेशंस
में क्या-क्या? क्रिएट, रीड, अपडेट और डिलीट जिसमें अलग-अलग मेथड हम यहां पे यूज़ करेंगे। पैच अभी के लिए हम यहां पे यूज़
करने वाले हैं। तो देखो हमारे पास ये जो क्रड ऑपरेशंस होते हैं। मतलब क्या कि भ एक पर्टिकुलर नोट को क्रिएट करना, उस नोट के
डेटा को रीड करना, अपडेट करना और डिलीट करना। ये जो ऑपरेशंस हम होने वाले हैं इन ऑपरेशंस को डेटाबेस में करने के लिए हमें
नोट मॉडल क्रिएट करना ही पड़ता है। अगर नोट मॉडल क्रिएट नहीं करोगे तो तो भी कर सकते हो सही बताऊं तो लेकिन वही एक चीज
रहती है। अब इसका एक एग्जांपल सुनो क्या कि अगर नोट मॉडल क्रिएट नहीं करोगे तो क्या होता है? तुम भी फिर भी ऑपरेशंस कर
पाओगे लेकिन बहुत ऐसा बोल सकते हो बहुत मुश्किल हो जाता है चीजें करना। चीजें कोड बहुत ज्यादा लिखना पड़ेगा। तुम्हें सेम
चीज करने के लिए कोड बहुत ज्यादा लिखना पड़ेगा और रिपीिटिव कोड लिखना पड़ता है। प्रॉब्लम ये हो जाती है। तो इस वजह से हम
रॉ फॉर्मेट में नहीं जाते। हम यहां पे एक नोट मॉडल क्रिएट कर लेते हैं। और नोट मॉडल क्रिएट करने के बाद कुछ भी ऑपरेशन परफॉर्म
करना है रिलेटेड टू नोट ये बहुत इजी हो जाता है हमारे लिए। तो हम यहां पे नोट मॉडल क्रिएट करेंगे और नोट मॉडल को यहां
से करते हैं एक्सपोर्ट। तो ये नोट मॉडल जो हमने यहां पर क्रिएट किया इसे एक्सपोर्ट किया और एक्सपोर्ट करने के बाद जो हमारी
apps फाइल है इसे करेंगे यहां पे रिक्वायर तो कॉस्ट नोट मॉडल इक्व टू
रिक्वायर और रिक्वायर हम यहां पे बोलेंगे मॉडल्स फोल्डर के अंदर जो हमारे पास प्रोट मॉडल है इसे हमने किया यहां पे रिक्वायर
अब रिक्वायर करने के बाद जो हमारे पास यहां पे चार एपीआई होने वाली है इन चार एपीआई को एक बार डिस्कस कर लेते हैं कि
कौन-कौन सी चार एपीआई हम यहां पे क्रिएट करेंगे तो देखो सबसे पहली एपीआई होगी हमारे पास स्लैश पोस्ट स्लैश नोट्स इस
एपीआई पे हम क्या करेंगे इस एपीआई पे क्रिएट अ नोट फिर एक एपीआई हमारे पास होगी यहां पे गेट स्लैश नोट्स और फिर एक हमारे
पास यहां पे एपीआई होगी और ये जो हमारी एपीआई होने वाली है ये होगी डिलीट मेथड के साथ डिलीट अ नोट और एक एपीआई होगी हमारे
पास पैच के साथ और अपडेट अ नोट तो ये चार एपीआई हमें अलग-अलग क्रिएट करनी है जिसमें कॉलन आईडी पैरम्स ये सारी चीजें ऑलरेडी हम
डिस्कस कर चुके हैं तो ये चार एप एपीआई क्रिएट करनी है। फर्क कहां पे आने वाला है? फर्क ये रहेगा कि इस बार जो हम डेटा
स्टोर करेंगे वो डेटा हम अपने डेटाबेस में स्टोर कर रहे होंगे ना कि नोट्स अरे के अंदर। तो सबसे पहले जो हमारी ये पोस्ट
एपीआई होने वाली है पोस्ट स्लैश नोट्स एपीआई ये हमें क्रिएट करनी है। तो इधर पे आते हैं ऐप डॉट
पोस्ट और पोस्ट के अंदर हम यहां पे लिखेंगे स्लैश नोट्स और स्लैश नोट्स के बाद वी कैन से इधर पे आएगा हमारे पास एक
कॉल बैकक रिक्वेस्ट एंड रिस्पांस और अब हम यहां पे जो डेटा आने वाला है देखो डेटा मेरे पास कहां पे आएगा
रिक्वेस्ट डॉट बॉडी में डेटा मेरे पास आने वाला है तो डेटा डेटा मेरे पास आएगा रिक्वेस्ट डॉट बॉडी में अब देखो प्रॉब्लम
क्या है कि रिक्वेस्ट डॉट बॉडी में डेटा तब तक नहीं आता जब तक आप यहां पे एक मिडिल वेयर यूज़ ना कर लो। मिडिलवेयर का नाम क्या
है? एक्सप्रेस डॉट json। जब तक आप ये मिडिल वेयर यूज़ नहीं करोगे तब तक आपके रिक्वेस्ट डॉट बॉडी में डेटा नहीं आने
वाला। तो डेटा रिक्वेस्ट डॉट बॉडी में आएगा। अब जो डेटा आने वाला है सुनो डेटा यहां पे क्या आएगा? डेटा यहां पे आएगा। एक
ऑब्जेक्ट ऑब्जेक्ट के अंदर हमारे पास दो चीजें रहेंगी। एक टाइटल और एक अपने पास होगा यहां पे डिस्क्रिप्शन। तो रिक्वेस्ट
डॉट बॉडी में जैसे पहले डेटा आ रहा था। ऑब्जेक्ट के फॉर्मेट में टाइटल और डिस्क्रिप्शन। यही सेम डेटा अभी भी आएगा।
तो अब इस डेटा का करना क्या है? अब हमें इस डेटा को स्टोर करना है हमारे डेटाबेस के अंदर और डेटाबेस में कुछ भी ऑपरेशन नोट
से रिलेटेड परफॉर्म करने के लिए मुझे नोट मॉडल की ज़रूरत पड़ेगी जो मैं ऑलरेडी यहां पे रिक्वायर करके रखा हूं। तो अब मैं यहां
पे आऊंगा नोट मॉडल डॉट क्रिएट नोट मॉडल डॉट क्रिएट और जो मेरा डेटा यहां पे होने वाला है उस
डेटा को मैं यहां पे क्रिएट कर रहा होगा। लेकिन ये तरीका थोड़ा ठीक नहीं है। तो देखो अब मैं यहां पे क्या करूंगा कि भाई जो भी
एक नोट मॉडल मुझे क्रिएट करना है। एक नोट मॉडल मुझे यहां पे क्रिएट करना है। नोट मॉडल नहीं एक नोट मुझे क्रिएट करना है नोट
मॉडल की हेल्प से। तो देखो जब मैं एक नोट के डेटा को स्टोर करना चाह रहा हूं मेरे डेटाबेस में तो उसके अंदर कितनी
प्रॉपर्टीज रहती हैं? दो प्रॉपर्टीज। कौन-कौन सी? एक रहती है टाइटल। टाइटल कहां से मिल जाएगा मुझे? ये मुझे मिल जाएगा
डेटा डॉट टाइटल जो कि रिक्वेस्ट डॉट बॉडी है। और एक मुझे यहां पे मिल जाएगा डिस्क्रिप्शन। सो डिस्क्रिप्शन के अंदर
डेटा डॉट डिस्क्रिप्शन मुझे यहां पे मिल रहा होगा। तो अब सुनो हम यहां पे कर क्या रहे हैं? जो हमारा नोट मॉडल हमने क्रिएट
किया था इस नोट मॉडल की हेल्प से हम एक डेटा क्रिएट कर रहे हैं हमारे डेटाबेस में जिसमें एक टाइटल और डिस्क्रिप्शन दोनों
चीजें रहेंगी और डेटा क्या है अपना नोट है। अब सुनो होता क्या है? ये जो डेटा स्टोर होगा ये डेटा कहां पे स्टोर होगा?
मेरे डेटाबेस के अंदर। डेटाबेस कहां पे है? मेरा क्लस्टर के अंदर। क्लस्टर कहां पे? मुंबई के सर्वर पे। ठीक? और मुंबई का
सर्वर मुंबई पे। सिंपल सी कहानी। और मेरा सर्वर कहां पे है? भोपाल पे। तो सुनो अब भोपाल का सर्वर मतलब भोपाल में जो मेरे
पास सर्वर है वो एक डेटा स्टोर करना चाहता है मुंबई पे। तो अब ये डेटा पहली बात तो मुंबई पे जाएगा कैसे? पहली बात तो ये जो
डेटा मुंबई पे जाने वाला है इंटरनेट के थ्रू जाएगा। फिर डेटा डेटाबेस इस डेटा को सेव करेगा और एक रिस्पांस भेज देगा कि हां
भाई ये डेटा सेव हो चुका है। तो अब ये कितनी देर में जाएगा? कितनी देर में डेटा स्टोर होगा और वापस से रिस्पांस कितनी देर
में आने वाला है? इसका आईडिया नहीं है क्योंकि इंटरनेट का यहां पे यूज़ किया जा रहा है। तो
यहां पर पता नहीं रहता तो हम यहां पर बोलते हैं अवेट क्योंकि जितना भी टाइम लगेगा आप यहां पर अवेट कर लेना वेट करना
और क्योंकि यहां पे अवेट यूज़ किया जा रहा है तो इस जगह पर यूज़ किया जाएगा असिंक बढ़िया तो असिंक हम यहां पे यूज़ कर रहे
होंगे तो असिंक अवेट यहां पे यूज़ किया अब जब इतना कोड आपका हो जाएगा तो अगेन हम यहां पे वो लेंगे रिस्पांस स्टेटस स्टेटस
अपना जाएगा 2001 और देन हम यहां पे जेसन फॉर्मेट में मैसेज भेजेंगे मैसेज नोट क्रिएटेड नोट क्रिएटेड
सक्सेसफुली हम यहां पे मैसेज भेज सकते हैं। तो एक एपीआई हमने क्रिएट की है। एपीआई आपकी रेडी है। एपीआई रेडी होने के
बाद सर्वर आपका ऑलरेडी रन हो रहा है। पोस्टमैन पे अगर मैं आता हूं तो पोस्टमैन पे आने के बाद
जो हमारी एक पोस्ट मेथड की एपीआई थी इसी एपीआई को हम यूज़ करेंगे। देखो कैसे करना है एक बार फिर से देख लो। देखो एक नई
एपीआई मेथड इसकी पोस्ट रहेगी। जो यूआरएल होने वाली है वो अपनी रहेगी। लोकल होस्ट कॉलन 3000 स्लश नोट्स और बॉडी के अंदर रॉ
फॉर्मेट में हम यहां पे चीजें शेयर करेंगे क्या? पहला रहेगा अपना टाइटल टाइटल। टाइटल अपना जाएगा टेस्ट टाइटल। फिर
हम यहां पे बात करेंगे डिस्क्रिप्शन पे और टेस्ट डिस्क्रिप्शन हम यहां पे दे रहे होंगे। बढ़िया। तो टाइटल और डिस्क्रिप्शन
ये दोनों चीजें हमने यहां पे ऐड कर दी है। और अब अगर मैं इसको सेंड करता हूं तो रिस्पांस मेरे पास क्या आ रहा है? नोट
क्रिएटेड। तो अब देखो हुआ क्या कि जो आपने टाइटल और डिस्क्रिप्शन ये दोनों चीजें कहां पे भेजी आपके नोट्स एपीआई के अंदर
पोस्ट मेथड के साथ ये दोनों डेटा रिक्वेस्ट डॉट बॉडी में आए होंगे डेटा के अंदर आए हमने डेटा के अंदर जो टाइटल आया
उसके साथ और डिस्क्रिप्शन के साथ हमने एक नया नोट क्रिएट किया हमारे डेटाबेस में विद द हेल्प ऑफ नोट मॉडल और जो डेटा जो
हमने नोट क्रिएट किया उसके बाद हमने यहां पे रिस्पांस भेज दिया कि ये नोट क्रिएटेड अच्छा तो मतलब कि इतना कोड अगर चला होगा
तो टाइटल और डिस्क्रिप्शन के साथ एक नोट नया नोड क्रिएट हुआ होगा बिल्कुल क्रिएट हुआ होगा। हां। तो अब देखो यहां पे अगर
मैं मोंगो डीबी कंपास ओपन करता हूं तो ये रहा अपना मोंगो डीबी कंपास। ये रहा मेरा क्लस्टर। इस क्लस्टर को अगर मैं ओपन करता
हूं तो यहां पे देखो एक डेटाबेस आ रहा है। डेटाबेस का नाम क्या है? हेली। तो हेली डेटाबेस पे अगर मैं ओपन करता हूं तो यहां
पे नोट्स मिल जाएंगे। मैं जितने भी नोट्स क्रिएट करोगे सारे के सारे नोट्स इसके अंदर रहेंगे। अब अगर मैं इसको ओपन करूंगा
तो यहां पे अगर तुम देखोगे एक पर्टिकुलर नोट ऑलरेडी यहां पे क्रिएटेड है। इसका टाइटल क्या है? टेस्ट टाइटल और
डिस्क्रिप्शन क्या है? टेस्ट डिस्क्रिप्शन। बढ़िया। तो अब अगर तुम यहां पे देखो हमने हमारे सर्वर और डेटाबेस को
कनेक्ट किया और फाइनली हमने सर्वर का डेटा हमारे डेटाबेस के अंदर स्टोर कर चुके हैं। बढ़िया चल रहा है। अब देखो हमने यहां पे
सिंपल एक काम तो कर चुके हैं। क्या अभी तक हमने यहां पे एक काम कर चुके हैं भाई डेटा हम एक नोट को क्रिएट कर चुके हैं। अब
जितने भी नोट्स क्रिएट हुए हैं उन सभी नोट्स को फैच करने के लिए हमें गेट एपीआई क्रिएट करनी है। तो देखो अब यहां पे आते
हैं एप डॉट गेट। app डॉट गेट में हम यहां पे पढ़ेंगे स्लैश नोट्स और स्लैश नोट के बाद अ सिंक अच्छा तुम्हें अभी यहां पे कुछ
चीज़ों की शायद से कंफ्यूजन हो रही हो कौन-कौन सी अब देखो ये यहां पे तुम अगर डेटा देखोगे अगर तुम यहां पे डेटा देखोगे
तो यहां पे टाइटल और डिस्क्रिप्शन तो आ रहा है साथ ही साथ यहां पे कुछ चीजें और आ रही हैं क्या अंडरस्कोर आईडी और अंडरस्कोर
अंडरस्कोर वर्जन इसको भी नहीं वर्जन पढ़ना प्रेफर करूंगा मैं तो अंडरस्कोर अंडरस्कोर वर्जन और अंडरस्कोर आईडी ये दोनों चीजें
हम क्रिएट नहीं करते इसे मोंगूस स जो आपका पैकेज रहता है वो खुद इसे ऐड कर देता है। इसे हम नहीं रखते। इसे हम नहीं रखते।
मोंगूस खुद ऐड करता रहता है इन सारी चीज को। तो अब सुनो होता क्या है? ये जो अंडरस्कोर आईडी है ये जो अंडरस्कोर आईडी
रहती है ये जितने भी नोट आप क्रिएट करने वाले जितने भी नोट आप क्रिएट करने वाले हो हर एक नोट को एक पर्टिकुलर यूनिक आईडी मिल
जाती है। और ये जो यूनिक आईडी रहती है ये कैसी रहती है कि भाई ये आप अगर दो नोट क्रिएट कर रहे हो तो दोनों नोट की आईडी
अलग रहेगी। तीन नोट क्रिएट कर रहे हो। तीनों नोट की आईडी अलग-अलग होने वाली है। 10 नोट क्रिएट करोगे 10 नोट की आईडी
अलग-अलग रहेगी। तुम 1 लाख नोट क्रिएट करोगे। 1 लाख नोट की आईडी अलग-अलग होगी। 1 करोड़ नोट क्रिएट कर लो तुम। वहां पे 1
करोड़ नोट की आईडी अलग-अलग रहेगी। तो यहां पे ये जो आईडी होती है, ये आईडी यूनिक होती है। किसी भी दो नोट की आईडी सेम नहीं
होने वाली। कभी रिपीट भी नहीं होती इवन वो। तो ये एक चीज़ यहां पे रहती है। और ये जो अंडरस्कोर अंडरस्कोर वर्जन है इस पे
आगे बात करेंगे। अभी के लिए आईडी समझ लो कि भाई जो आईडी रहती है नोट की वो आईडी अलग-अलग रहती है। हर एक नोट की आईडी
अलग-अलग वहां पे रहती है। बढ़िया है। तो अब क्या तुम सो रहे हो? क्या तुम सो रहे हो?
अगर नहीं सो रहे हो तो अच्छी बात है। और अगर सो रहे थे तो उठ जाओ। भाइयों सुनो। डेटाबेस मुझे पता है। थोड़ा सा
कॉम्प्लेक्स टॉपिक है और बहुत सारी चीजें इसमें दिमाग में रखनी पड़ती हैं। जो अपना पूरा बैक एंड है। मुझे एक सेकंड रुक जाओ।
मुझे स्क्रीन थोड़ी बड़ी करने दो। सुनो। मुझे पता है कि बैक एंड थोड़ा सा कॉम्प्लेक्स टॉपिक है। बहुत सारी तुम्हें
इमेज, कलर्स ये सारी चीजें नहीं दिख रही होती हैं। लेकिन यार ट्रस्ट करो बैक एंड बस तुम्हें एक बार समझ में आ जाए तुम्हें
बैक एंड से अच्छा कुछ और नहीं लगने वाला। मुझे सबसे अच्छा लगता है बैक एंड। मुझे सबसे अच्छा लगता है बैक एंड। मुझे पसंद है
भाई बैक एंड। ये एक चीज है। ठीक? एंड तुम्हें भी पसंद आ जाएगा। तुम्हें भी पसंद आ जाएगा। बस थोड़ी सी मेहनत कर लो। अगर
तुम सो रहे थे तो उठ जाओ। क्योंकि भाइयों बस एक बार बैक एंड करना है। बस एक बार बैक एंड कर लो। एक बार अगर तुम्हें सारी चीजें
समझ में आ गई तो भाइयों तुम्हें बैक एंड कठिन नहीं लगेगा। जो तुम्हारी मर्जी होगी वो तुम क्रिएट कर पाओगे। तुम्हें जनरेटिव
एआई से रिलेटेड कुछ भी अगर चीजें सीखनी रहेगी तुम लिटरली वो भी कर पाओगे। एक मैं आगे चलके कुछ ट्यूटोरियल्स लेकर आऊंगा
जनरेटिव एआई पे उनको तुम देख लेना। लेकिन उसके लिए तुम्हें जनरेटिव वीआई सीखने के लिए तुम्हें यहां पे बैक एंड की जरूरत
पड़ेगी। और सिर्फ बैक एंड की जरूरत जनरेटिव वीआई के लिए नहीं है। बैक एंड की जरूरत आज की नीड है भाइयों। जो भी तुम
एप्लीकेशन देखते हो बैक एंड के बिना किया ही नहीं जा सकता। बैक एंड के बिना किया ही नहीं जा सकता। भाइयों बस एक बार करना है
तुम्हें। बस एक बार बैक एंड सीख लो हो जाएगा। ट्रस्ट मी हो जाएगा। मुझे पता है कहीं-कहीं पे बहुत डाउन फील होता है कि
यार शायद ना हो पाए। यह सारी चीजें। नहीं उन सारी चीज को कंट्रोल करो और दिमाग में बस एक चीज बैठा लो कि नहीं यार करना है इस
चीज को। इस चीज़ को तो करना है। इस बार तो करना है। शायद तुमने पहले भी कभी ट्राई किए होंगे। कुछ और पढ़ने का ट्राई किए
होगे। पता है वहां पे गलती हर बार क्या होती है? तुम एक चीज पढ़ना स्टार्ट करते हो। शुरुआत में अच्छे से पढ़ भी रहे थे।
अच्छे से पढ़ रहे थे। तुमने शायद एक दो महीना अच्छे से पढ़ा होगा। लेकिन जहां पे चीजें कठिन होना चालू हो जाती हैं वहां पे
तुम उसको छोड़ना चालू कर देते हो। कैसे कि भाई थोड़ी सी चीज कठिन आ रही है। इसको बाद में कर लूंगा। तुमने फिर थोड़ा पढ़ के
देखते हो। स्टिल वो नहीं होता। तुम उसको बोलते हो कि भाई दो-तीन दिन बाद कर लूंगा ये सारी चीजें। और ऐसा करते-करते तुम उन
चीजों को छोड़ देते हो। तुम सारी चीजें स्टार्ट करते हो। शुरुआत में आसान पड़ती हैं। बाद में जब वो कठिन होना चालू होती
हैं, तुम उन चीजों को छोड़ना चालू कर देते हो। प्रॉब्लम यह है। तुम एक चीज पे टिक नहीं रहे हो। तुम बस इस पर्टिकुलर वीडियो
पे टिक जाओ। बैक एंड सीख लो और बैक एंड आ जाएगा। ट्रस्ट मी आ जाएगा बैक एंड। जिस जो इस वीडियो में मैंने बैक एंड पढ़ाया हूं
लिटरली वो इनफ है। कुछ भी क्रिएट करने के लिए। तुम उससे कुछ भी क्रिएट कर पाओगे और प्रोडक्शन लेवल पे क्रिएट कर पाओगे।
हल्का-फुल्का सिखा भी नहीं रहा हूं मैं तुम्हें। ध्यान रखना इस चीज का। प्रोडक्शन लेवल पे चीजें कैसे काम करती हैं वो सिखा
रहा हूं। ये है। ठीक? तो अभी के लिए सो रहे थे तो उठो और अब वापस से पढ़ना चालू करो। देखो तो अभी तक अगर हम यहां पे देखें
हम एक नोट को क्रिएट कर चुके हैं। अब नोड क्रिएट करने का लेट्स से एक नोट और क्रिएट करते हैं। चलो एक नोट हम यहां पे और
क्रिएट करते हैं। अंडरस्कोर टू और अंडरस्कोर टू के बाद यहां पे एक नोट और क्रिएट करेंगे। सो एक नोट हमारा क्रिएट
हुआ। अब जो नोड क्रिएट हुआ है डेटाबेस के अंदर आता हूं। द डेटाबेस में लाइव रीलोड नहीं होता है। लाइव रिफ्लेक्ट नहीं होगा।
तो एक बार कंट्रोल आर या कमांड आर प्रेस कर देना। तो जो भी आपके नए नोट रहेंगे वो यहां पे
प्रेजेंट हो जाते हैं। तो दो नोट हम यहां पे क्रिएट कर चुके हैं। दोनों नोट की अगर तुम आईडी देखोगे ये दोनों नोट की आईडी
यहां पे बहुत अलग है। तो यही रहता है। क्योंकि जितने भी नोट तुम क्रिएट करोगे उनकी आईडी अलग-अलग बिल्कुल रहती है। तो
अलग-अलग आईडी रहेगी। हर एक नोट की अलग-अलग आईडी यहां पे होने वाली है। अब देखो जितने भी नोट मैंने क्रिएट किया हूं उसको फैच
करने के लिए हम यहां पे गेट मेथड की एपीआई क्रिएट कर रहे हैं। और गेट मेथड की एपीआई में हम यहां पे एक मेथड यूज़ करते हैं
कॉस्ट नोट्स। और हम यहां पे एक मेथड यूज़ करेंगे। अब देखो मेथड कौन सी है? या क्या हम यूज़ करने वाले हैं? अवेट नोट मॉडल डॉट
फाइंड। नोट मॉडल डॉट फाइंड हम यहां पे यूज़ करने वाले हैं। तो अब देखो इसके साथ सीन रहता क्या है? कि भाई नोट मॉडल डॉट फाइंड।
नोट मॉडल मैंने बोला घूम तुमसे क्या कि तुम्हें अगर डेटाबेस के अंदर नोट रिलेटेड कुछ भी काम करना है तो तुम्हें नोट मॉडल
की जरूरत पड़ेगी ही पड़ेगी। इसके बिना कुछ भी काम नहीं हो पाएगा। तो नोट मॉडल को हमने यहां पे यूज़ किया और नोट मॉडल पे हम
एक मेथड यूज़ कर रहे हैं। उसका नाम क्या है? फाइंड। अब ये जो फाइंड मेथड है इसका काम क्या रहता है? इसका काम रहता है कि
भाई डेटाबेस में जितने भी नोट्स क्रिएट हुए हैं वो सारे नोट्स यहां पे लेकर आ के रख दो। अभी जैसे कि अगर तुम देखोगे नोट्स
कितने नोट्स क्रिएट हुए हैं डेटाबेस के अंदर? दो नोट्स क्रिएट हुए हैं तो दो के दो नोट्स हमारे पास रिटर्न आ जाएंगे।
अच्छा और अगर 10 नोट क्रिएट होते तो 10 नोट 100 नोट क्रिएट रहते तो 100 के 100 नोट हमारे पास आते हैं। 10 करोड़ नोट
क्रिएट होंगे तो 10 करोड़ नोट रीड करेगा वो और 10 के 10 करोड़ नोट आपको यहां पे भेज रहा होगा। ये एक चीज यहां पे होने
वाली है। तो अब एक चीज समझना क्या? कि यहां पे होगा क्या कि जितने भी नोट्स तुम्हारे डेटाबेस में रहेंगे वो सारे के
सारे नोट्स तुम्हारे पास रिटर्न हो जाएंगे। और इन्हें हम सेव कहां पे कर देंगे? इन्हें हम सेव कर देंगे। नोट्स अरे
के अंदर नोट्स अरे के अंदर मतलब क्या सुनो फाइंड वन जो तुम्हें रहता है फाइंड सॉरी फाइंड वन नहीं फाइंड वन अलग है फाइंड जो
तुम्हारा रहता है फाइंड हमेशा तुम्हें रिटर्न करता है एक अरे हमेशा तुम्हें एक अरे रिटर्न करेगा गारंटी है गारंटी है कि
फाइंड तुम्हें हमेशा अरे ही रिटर्न करने वाला है तो फाइंड यहां पे तुम्हें अरे रिटर्न करेगा और इस अरे को मैं यहां पे
भेजूंगा रिस्पांस डॉट स्टेटस में स्टेटस 200 और 200 के बाद हम यहां पे jसन फॉर्मेट में हम यहां पे मैसेज भेजेंगे क्या मैसेज
हम यहां पे भेज रहे होंगे नोट्स फैज्ड सक्सेसफुली और जो हमारे नोट्स हैं उसे हम एज़ इट इज़ यहां पे भेज रहे होंगे।
ये एक चीज़ हमने यहां पे की है। तो देखो अब जो हमारी एपीआई यहां पे बन रही है इस एपीआई में हम कर क्या रहे हैं कि ये नोट
मॉडल का यूज़ करके एक फाइंड मेथड है। ये फाइंड मेथड क्या करती है? डेटाबेस के अंदर जितने भी नोट्स रहेंगे उनको फाइंड करेगी
और नोट्स वेरिएबल के अंदर सेव करेगी। और एक रिस्पांस में हम यहां पे क्या कर रहे हैं? रिस्पांस में हम यहां पे नोट्स जो
हमारा होने वाला है इसे यहां से रिस्पांस में सेंड कर रहे हैं। तो देखो अब अगर मैं आता हूं पोस्टमैन के अंदर एपीआई हिट
करेंगे। मेथड गेट रहेगी लोकल होस्ट कॉलन 3000 स्लैश नोट्स और अब अगर मैं इसे हिट करता हूं सेंड किया। सेंड करने के बाद
देखो मैसेज मेरे पास क्या आ रहा है? नोट्स फैज सक्सेसफुली। और नोट्स मेरे पास क्या आ रहा है? एक अरे ऑफ़ ऑब्जेक्ट और हर एक
ऑब्जेक्ट के अंदर नोट्स का डेटा मेरे पास आ रहा है कि इस पर्टिकुलर नोट की आईडी क्या है? जो डेटाबेस के अंदर स्टोर है
उसकी आईडी हमें मिल जाएगी। नोट का टाइटल क्या है? डिस्क्रिप्शन क्या है? उसका वर्जन क्या चल रहा है? वर्जन पे बात करनी
है आगे। लेकिन फिर दूसरे नोट की आईडी क्या है? उसका टाइटल क्या है? उसका डिस्क्रिप्शन क्या है? और उसका वर्जन क्या
है? ये सारी चीजें यहां पे आ जाएंगे। अच्छा अगर एक और नोट और क्रिएट कर दिया तो तो देखो एक नोट हम यहां पे और क्रिएट करते
हैं। टाइटल थ्री और अब अगर मैं इसे सेंड करता हूं। सेंड करने के बाद मैं वापस से सारे नोट्स को एक
बार फैच करूंगा। तो तीन नोट्स मेरे पास यहां पे फैच हो जाएंगे। ध्यान रखना जो आपकी फाइंड मेथड रहती है जो आपकी यहां पे
फाइंड मेथड है ये हमेशा डेटा आपको देगी लेकिन किस फॉर्मेट में देती है अरे ऑफ़ ऑब्जेक्ट के फॉर्मेट में जैसा कि अगर आप
पोस्टमैन पे देख पाओगे तो अरे ऑफ़ ऑब्जेक्ट के फॉर्मेट में डेटा दिया जाता है। ये एक सिंपल सा फॉर्मेट यहां पे रहता है। अच्छा
और अगर एक भी नोट नहीं होता तो एम्प्टी ऑब्जेक्ट मिलता है आपको। एम्प्टी ऑब्जेक्ट नहीं एम्प्टी अरे मिलता है आपको। मतलब कि
अगर एक भी नोट आपके डेटाबेस में नहीं है तो आपको वहां पे एम्प्टी अरे मिलेगा। लेकिन अरे हमेशा मिलेगा। ये एक चीज़ यहां
पे रहती है। अब सुनो इसके अलावा हमारे पास एक चीज़ और रहती है। एक तो हमारे पास फाइंड मेथड है जो डेटाबेस को रीड कर सकती है। एक
हमारे पास रहती है फाइंड वन मेथड। अब ये फाइंड वन मेथड क्या करती है? ये फाइंड जैसी है लेकिन जैसे इसका काम है फाइंड वन।
तो ये एक को फाइंड करती है। अब एक एक कैसे फाइंड करना है? उसके लिए आप यहां पे कंडीशन दे दो कि भाई यहां पे जो आप फाइंड
करोगे वो आपका रहेगा टाइटल और टाइटल उसका क्या होना चाहिए? टेस्ट अंडरस्कोर टाइटल। टेस्ट अंडरस्कोर टाइटल उसका होना चाहिए
दिस वन। तो देखो अब यहां पर फाइंड वन मेथड क्या करेगी? उस पर्टिकुलर नोट को लेकर आएगी जिसका टाइटल क्या रहेगा? टेस्ट टाइटल
यहां पे होने वाला है। उस पर्टिकुलर नोट को यहां पे लेकर आया जाएगा। तो अब अगर मैं इसे सेंड करता हूं। सेंड किया तो देखो एक
सिंगल नोट आ रहा है। और अगर तुम इसका स्ट्रक्चर देखोगे कैसा? ये ऑब्जेक्ट फॉर्मेट में है। ये अरे ऑफ़ ऑब्जेक्ट
फॉर्मेट में नहीं है। फाइंड वन फाइंड वन तुम्हें एक ऑब्जेक्ट रिटर्न करेगी। सिंगल ऑब्जेक्ट रिटर्न करती है। लेकिन फाइंड जो
मेथड रहती है वो तुम्हें एक अरे ऑफ़ ऑब्जेक्ट रिटर्न करती है। अच्छा और अगर मैंने कुछ ऐसी कंडीशन लगा दिया जो नोट
एग्ज़िस्ट नहीं करता। जैसे कि एक ऐसा नोट ढूंढ के लेकर आओ जिसका टाइटल क्या है? टेस्ट टाइटल फोर। लेकिन ये नोट तो
एक्सिस्ट करता ही नहीं है। हमारे पास तो सिर्फ तीन नोट हैं। हमारे पास यहां पे सिर्फ तीन नोट हैं। टेस्ट टाइटल थ्री तक।
टेस्ट टाइटल फोर नाम से हमारे पास कोई भी नोट एग्ज़िस्ट नहीं करता है। तो अब अगर मैं इस क्वेरी के साथ रन करूंगा तो फाइंड वन
को इस टाइटल के साथ कोई भी नोट नहीं मिलेगा। और अब देखो वो क्या रिटर्न यहां पे करता है? क्या रिटर्न करेगा? नल। तो
अगर फाइंड वन को अब अगर यहां पे फाइंड वन को आपने एक ऐसी क्वेरी दे दी, ऐसी कंडीशन दे दी है जिस कंडीशन के साथ कोई सा डेटा
एग्ज़िस्ट नहीं करता तो वो रिटर्न में आपको नल देता है। ये एक चीज़ रहती है। तो क्या हम कंडीशन सिर्फ फाइंड वन के साथ लगा सकते
हैं? ऐसा नहीं है। आप चाहो कंडीशन तो आप फाइंड के साथ भी कंडीशन लगा सकते हो। जो आपका फाइंड मेथड है इसके साथ भी आप कंडीशन
परफॉर्म कर सकते हो। कंडीशन में आप यहां पे बोल दो कि भाई आप यहां पे टाइटल और टाइटल आप उसका कुछ इस तरीके से ढूंढ रहे
हो। टेस्ट अंडर टाइटल आप यहां पे ढूंढ रहे हो। तो अब फाइंड वन क्या करेगी? ये जो आपकी फाइंड मेथड ये क्या करेगी? उन सभी
नोट को लेकर आएगी जो आपको यहां पे जिसका टाइटल क्या रहेगा? टेस्ट टाइटल यहां पे होने वाला है। तो देखो एक सिंगल नोट आया
और सिंगल नोट में कौन सा नोट आ रहा है जिसका टाइटल क्या है? टेस्ट टाइटल है। अच्छा और अगर मैंने कुछ यहां पे एक ऐसी
कंडीशन दे दिया जिस कंडीशन के साथ कोई एक्सिस्ट नहीं करता तो यहां पे एक एम्प्टी अरे आएगा। तो फाइंड और फाइंड वन में यही
डिफरेंस होता है क्या? कि जो आपकी फाइंड मेथड है जो यहां पे आपकी फाइंड मेथड है ये क्या करती है? ये हमेशा गारंटी है। फाइंड
मेथड के साथ तो गारंटी है कि भाई ये आपको अरे देती है। अरे देगी ही देगी। अगर कुछ डेटा मिलता है तो आपको अरे ऑफ़ ऑब्जेक्ट
मिल जाएंगे। अरे ऑफ़ ऑब्जेक्ट मिल जाते हैं। या फिर क्या ये आपको एक एंप्टी अरे देती है। लेकिन फाइंड वन के साथ क्या बात
रहती है? जो आपका फाइंड वन है ये आपको या तो एक ऑब्जेक्ट देती है। अगर कुछ इसको डेटा मिलता है या फिर आपको रिटर्न करती है
नल। तो ये दोनों चीजें इसके साथ रहती है। हमारे पास यहां पे दो मेथड्स रहती हैं। एक रहता है फाइंड। फाइंड आपको गारंटी है कि
एक अरे तो देगा ही देगा। अगर डेटा मिलता है तो अरे एक ऑब्जेक्ट मिलेगा या एक एम्प्टी अरे मिलता है। गारंटी रहती है कि
भाई फाइंड वन देगा ही देगा एक अरे। फिर फाइंड वन अगर डेटा मिला तो ऑब्जेक्ट मिलेगा और अगर डेटा नहीं मिला तो आपको
यहां पे मिलता है नल। ये एक चीज यहां पे रहेगी। फिर इसके बाद रिस्पांस डॉट स्टेटस की अगर मैं यहां पे बात करता हूं तो नोट्स
फैच सक्सेसफुली हमने कर दिया और नोट्स को हम यहां पे शेयर कर पाते हैं। अब अगर हम यहां पे आगे बढ़ते हैं तो हमारे पास यहां
पे दो एपीआई और हैं। और ये दोनों एपीआई कौन-कौन सी होने वाली है? अब देखो तो दो एपीआई एक एपीआई पे हम यहां पे नोट्स को
क्रिएट कर चुके हैं। दूसरी एपीआई पे जितने भी नोट्स हमने क्रिएट किए हैं उनको फैच कर चुके हैं। फिर एक एपीआई हमारी बचती है एक
पर्टिकुलर नोट को डिलीट करना। तो अब हम यहां पे आते हैं। पहले हम यहां पे इंडेक्स का यूज़ कर रहे थे एपीआई डिलीट करने के
लिए। लेकिन अब हम यहां पे आईडी का यूज़ करेंगे। क्योंकि यहां पे इंडेक्स नहीं होते। हमारे पास यहां पे होती है आईडी। तो
आईडी का यूज़ यहां पे मैं करने वाला हूं। आईडी का यूज़ हम कैसे करेंगे? सुनो। तो यहां पे मेरे पास आईडी आएगी। आईडी मेरे
पास आएगी रिक्वेस्ट डॉटb्स डॉट आईडी में और इस आईडी की हेल्प से मैं एक पर्टिकुलर नोट को अपडेट करूंगा। अब वह अपडेट नहीं
डिलीट करना है तो डिलीट कैसे करूंगा? तो सुनो यहां पे मैं लिखूंगा अवेट नोट मॉडल डॉट वन एंड डिलीट। जैसा इसका नाम है उसी
तरीके से इसका काम भी रहता है। मोंगो डीबी की जितनी भी मेथड्स हैं उन मेथड्स के नाम बहुत अच्छे रखे गए हैं। जो भी उनके नाम
हैं उसी अकॉर्डिंग उनके काम रहते हैं। जैसे कि इसका नाम क्या है? इसका नाम है फाइंड वन एंड डिलीट। तो ये क्या करेगा? एक
पर्टिकुलर चीज को फाइंड करेगा और उसे डिलीट कर देगा। सिंपल सा है। अब हम यहां पे फाइंड किसके बेसिस पे करने वाले हैं?
हम यहां पे फाइंड करेंगे ऑन द बेसिस ऑफ़ आईडी। आईडी के बेसिस पे हम यहां पे फाइंड करने वाले हैं। तो यहां पे अंडरस्कोर आईडी
क्यों है? यहां पे अंडरस्कोर आईडी इसलिए है क्योंकि आईडी जो डेटाबेस में सेव होती है वो अंडरस्कोर आईडी नाम से सेव हो रही
होती है। इस वजह से हम यहां पे अंडरस्कोर आईडी लिखेंगे और आईडी की वैल्यू हम यहां पे रख रहे होते हैं। ठीक है? तो अब सुनो
अंडरस्कोर आईडी यहां पे हम सेव करेंगे और देन अब हम यहां पे रिटर्न करेंगे रिस्पांस स्टेटस नॉट डिलीटेड सक्सेसफुली। अब देखो
इस एपीआई को हिट करना है। एपीआई हिट करने के लिए मेथड जो हमारी रहेगी मेथड हमारी रहेगी डिलीट
लोकल होस्ट कॉलन 3000 स्लश नोट्स स्लश जिस नोट को मैं डिलीट करना चाह रहा हूं। तो अभी तो जो हमारी गेट मेथड की एपीआई है
इसमें कंडीशन कुछ लगा के रखी है। इस कंडीशन को मैं हटा रहा हूं। अच्छा कोई कंडीशन अगर नहीं लगाते हो फाइंड के अंदर
तो जितने नोट्स रहते हैं वो सारे रिटर्न करती है। तो अभी जो हमारा ये दूसरा नोट है इसे मैं डिलीट कर रहा हूं। इसकी आईडी
मैंने किया कॉपी और कॉपी करने के बाद इधर पे कर रहा हूं पेस्ट। तो पैरम्स में इस बार जो आईडी जाने वाली है ये अपनी एक
पर्टिकुलर आईडी होगी। ये आईडी हमारे पैरम्स के थ्रू इस पर्टिकुलर वेरिएबल में स्टोर होगी और इसके बेसिस पे हम फाइंड
करेंगे और देन डिलीट करेंगे। तो देखो अब अगर मैं आता हूं इसे किया सेंड। सेंड करने के बाद ये हुआ अपना डिलीट और डिलीट करने
के बाद अब देखो ये जो मेरा दूसरा नोट था ये डिलीट हो चुका होगा। तो अगर मैं वापस से रिक्वेस्ट करूंगा तो दूसरा नोट मेरे
पास यहां पे नहीं आएगा। अब सिमिलर वे पे हम एक एपीआई और क्रिएट करेंगे। अब यह जो एक एपीआई और होने वाली है, यह कौन सी
रहेगी? app डॉट डिलीट डिलीट नहीं app डॉट पैच पैच के बाद जो हमारी एपीआई का नाम होने वाला है यह अपना रहेगा स्लैश नोट्स
स्लैश नोट्स कॉलन आईडी और कॉलन आईडी के बाद अ सिंक रिक्वेस्ट एंड रिस्पांस
रिक्वेस्ट रिस्पांस हम यहां पे रखेंगे मोंगो डीबी की जितनी भी मेथड्स रहती हैं अधिकतर आपको उनके साथ अवेट का यूज़ करना
ही पड़ेगा तो अवेट हम यहां पे यूज़ करेंगे। अब देखो फाइंड वन एंड अपडेट। तो आईडी के बेसिस पे ऑफ कोर्स हम यहां पे फाइंड
करेंगे। और जो हम यहां पे अपडेट करने वाले हैं वो अभी सिर्फ अपना रहेगा डिस्क्रिप्शन। मैं टाइटल अपडेट नहीं कर
रहा हूं। तो डिस्क्रिप्शन रिक्वेस्ट डॉट बॉडी डॉट डिस्क्रिप्शन। और हमारे पास एक यहां पे मेथड होती है नोट
मॉडल डॉट फाइंड वन एंड अपडेट। तो फाइंड वन एंड अपडेट ये एक ऐसी मेथड है जो आपसे दो
ऑब्जेक्ट मांगती है। तो देखो फाइंड वन एंड अपडेट जो आपकी मेथड है ये आपसे दो ऑब्जेक्ट मांगती है। कौन-कौन से? पहला
ऑब्जेक्ट आपका रहता है कि भाई किसके बेसिस पे फाइंड करना है? तो हम यहां पे बोलेंगे भाई आपको आईडी के बेसिस पे फाइंड करना है।
आईडी के बेसिस पे आप फाइंड करोगे। ये आपका पहला ऑब्जेक्ट है। पहला ऑब्जेक्ट में आप बता रहे होते हो कि भाई किसके बेसिस पे आप
यहां पे फाइंड करोगे? और जो आपका दूसरा ऑब्जेक्ट रहता है इसमें आप बताते हो कि क्या एग्जैक्टली अपडेट करना है। तो
डिस्क्रिप्शन हम अपडेट करेंगे और जो रिक्वेस्ट डॉट बॉडी के अंदर डिस्क्रिप्शन आ रहा है उसे आप अपडेट कर रहेगे और फिर
फाइनली रिस्पांस स्टेटस नोट अपडेटेड सक्सेसफुली हम यहां पे शेयर कर सकते हैं। तो अब अगर अपन यहां पे देखते हैं तो
पोस्टमैन पे आते हैं। पोस्टमैन पे आने के बाद एक नई एपीआई मेथड हमारी रहेगी पैच। पैच के बाद लोकल होस्ट कॉलन 3000 स्लश
नोट्स स्लश अभी मैं यहां पर ये जो अपना तीसरा नोट है इसे मैं अपडेट करना चाहूंगा। सो और
बॉडी के अंदर रॉ फॉर्मेट में हम यहां पे भेजेंगे डिस्क्रिप्शन और डिस्क्रिप्शन मैं यहां पे बोल रहा होगा अपडेटेड
डिस्क्रिप्शन। ठीक है? अभी अगर मैं तीसरे नोट का डिस्क्रिप्शन देखता हूं तो ये टेस्ट डिस्क्रिप्शन थ्री है। लेकिन अब मैं
उसे अपडेट करके क्या करना चाह रहा हूं? अपडेटेड डिस्क्रिप्शन में करना चाह रहा हूं। तो अब अगर मैं इसको सेंड करता हूं तो
नोट अपडेटेड सक्सेसफुली आएगा। और साथ ही साथ अब अगर मैं इसे सेंड करता हूं तो देखो अब जो मेरे पास यहां पे डिस्क्रिप्शन आ
रहा है वो कैसा आ रहा है? अपडेटेड डिस्क्रिप्शन मेरे पास यहां पे आ रहा है। बढ़िया है। तो अब अगर अपन यहां पे देखते
हैं। अब अगर मैं यहां पे देखता हूं। हमने यहां पे चार एपीआई क्रिएट किए और चारों एपीआई में इस बार जो हम डेटा स्टोर कर रहे
थे। सुनो डेटा कहां पे स्टोर हो रहा है अपना? मोंगो डीबी के अंदर। मोंगो डीबी डेटाबेस के अंदर हम अपने डेटाबेस को स्टोर
कर रहे हैं। इतनी सारी चीजें अभी तक हम पढ़ चुके हैं। क्या-क्या? कि डेटाबेस का क्लस्टर हमने क्रिएट किया। क्लस्टर के
अंदर देन हमने यहां पे हमारा डेटाबेस क्रिएट किया। उस डेटाबेस से हमने कनेक्ट किया हमारे सर्वर को विथ द हेल्प ऑफ़
मोंगोस पैकेज। फिर हमें नोट का डेटा यहां पे स्टोर करना था। तो नोट के डेटा को स्टोर करने के लिए हमने पहले सबसे पहले
हमारे डेटाबेस को बताया। क्या बताया कि भाई मेरा नोट एग्जैक्टली एक कैसा दिखेगा? उसके अंदर टाइटल होगा, डिस्क्रिप्शन होगा।
दोनों का टाइप स्ट्रिंग होगा। ये मैंने मेरे डेटाबेस को बताया। फिर इतना करने के बाद इतना करने के बाद मैंने यहां पे चार
अलग-अलग एपीआई क्रिएट किए पोस्ट, गेट, डिलीट और पैच के साथ जिनमें हम एक एक नोट को क्रिएट कर रहे हैं। एक न को जितना भी
नोट हमने क्रिएट किया उन सबके डेटा को देख पा रहे हैं। एक पर्टिकुलर नड को डिलीट कर रहे हैं और एक पर्टिकुलर नड को अपडेट कर
रहे हैं। तो ये चारों चीजें हम यहां पे परफॉर्म कर चुके हैं। तो आई होप आपको ये चार चीजें समझ में आई होंगी। अब इसके बाद
हम आगे बढ़ेंगे और अब हम अब हम यहां पे एक बहुत सिंपल एप्लीकेशन क्रिएट कर रहे होंगे जिसमें थोड़ा बहुत फ्रंट एंड और हमें यहां
पे बैक एंड की एपीआई क्रिएट करनी रहेंगी। चलो हां भाइयों। सो अब मैं तुमसे बात करना चाह रहा हूं थोड़ा सा और बीच-बीच में तुम
मैं तुमसे थोड़ी सी बात करता रहता हूं ताकि भाई तुम्हारा ध्यान और या मन इधर-उधर ना भटके। सो सुनो अभी तक सारी चीजें
बढ़िया चल रही हैं। अगर तुम देखोगे तुम्हें एक बैक एंड पे सर्वर क्रिएट करना आ चुका है। उसको किस तरीके से प्रोग्राम
करना है बेसिक वो तुम यहां पे देख चुके हो। डेटाबेस से किस तरीके से कनेक्ट करना है और डेटाबेस में किस तरीके से हम डेटा
को स्टोर कर सकते हो ये तुम्हें यहां पे इतनी सारी चीजें यहां पे आना चालू हो चुकी है और समवेयर अराउंड भी जो वीडियो की
ड्यूरेशन होगी वो 2 से 3 घंटे के बीच में कहीं पे आ रही होगी मुझे नहीं पता एग्जैक्ट क्या ड्यूरेशन जाएगी तो अब देखो
इसके अराउंड यहां पे ड्यूरेशन चल रही होगी तो 2 से 3 घंटों में अगर तुम्हें इतनी चीजें आ रही हैं तो ये काफी अच्छी
प्रोग्रेस है यार पहले जब तक तुमने ये वीडियो नहीं देखा था तुम्हें इतनी सारी चीजें नहीं आती थी लेकिन ये चीजें अगर
तुम्हें आ रही हैं मतलब कि तुम धीरे धीरे-धीरे चीजें सीख रहे हो। एक चीज ध्यान रखना बैक एंड बहुत बड़ी स्किल है और इसको
मास्टर कर पाना या किसी भी स्किल को मास्टर कर पाने में टाइम लगता है काफी। तुम कोई सी भी स्किल सेलेक्ट कर लो उस
स्किल को अगर तुम मास्टर करना चाह रहे हो तो उसमें टाइम बिल्कुल लगता है। बिल्कुल लगता है। और तुम्हें टाइम इन्वेस्ट उसमें
करना पड़ेगा यार। तुम अगर ये चाह रहे हो कि यार मैंने 2 2ाई घंटे में कोई सी स्किल मास्टर कर लूं तो वो तुम्हें पे नहीं करता
उस टाइम में। मैं तुम्हें बता रहा हूं होता क्या है? देखो होता ये सीन है कि भाई जब तुम किसी भी जॉब इंटरव्यू के लिए जाते
हो तो लेट्स से अगर अ एक अ लेट्स से हमारे पास एक जॉब है जिसका जो पैकेज है वो समवेयर अराउंड 3.5 एलपी है तो
इंटरव्यू होगा बिल्कुल इंटरव्यू होगा। वहां पे तुमसे दो-तीन टाइप के क्वेश्चन पूछे जाएंगे। टेक्निकल राउंड होगा,
इंटरव्यू, एचआर राउंड ये सारे राउंड वहां पे होने वाले हैं। अच्छा तो ये 3.5 एलपीए का एक इंटरव्यू था। अगर मैं इसको 10 एलपीए
का एक इंटरव्यू सेट करता हूं जहां पे आपको 10 एलपीए का पैकेज मिलने वाला है तो वहां पे इंटरव्यू क्या रहेगा कठिन होगा बिल्कुल
जो 3.5 एलपीए पे इंटरव्यू लिया गया था उससे कठिन होगा अपना 10 एलपीए का इंटरव्यू फिर अच्छा अगर मैं यहां पे 40 एलपीए का
इंटरव्यू करवाता हूं तो अब वो 3.5 एलपीए और 10 एलपीए दोनों से ही ज्यादा कठिन होगा अपना 40 एलपीए का इंटरव्यू। अच्छा 1 करोड़
का अगर इंटरव्यू मतलब कि 1 करोड़ का एलपीए है तुम्हारे पास तो उसका इंटरव्यू कितना कठिन होगा? बहुत ज्यादा कठिन होगा। अगर
मैं इसको 2 करोड़ के इंटर एलपीए पे लेके जाता हूं तो और ज्यादा कठिन होगा। 5 करोड़ के एलपीए पे लेके जाऊं तो और ज्यादा कठिन
होगा। मतलब तुम समझ रहे हो कि जितना बड़ा एलपीए है उतना ही हिसाब से इंटरव्यू कठिन होगा और उस हिसाब से कैंडिडेट को और
ज्यादा मेहनत करनी पड़ती है। भाई 3.5 एलपीए के लिए तुम्हें कम मेहनत करनी पड़ेगी। 10 एलपीए के लिए ज्यादा मेहनत
करनी पड़ेगी। 20 एलपी के लिए और ज्यादा मेहनत, 40 एलपी के लिए और ज्यादा मेहनत, 1 करोड़ एलपीए के लिए तुम्हें यहां पे और
ज्यादा मेहनत करनी पड़ती है। तो जितना बड़ा तुम पैकेज चाह रहे हो उतनी ज्यादा तुम्हें बड़ी मेहनत यहां पे करनी पड़ेगी।
उतनी ज्यादा मेहनत करनी पड़ेगी और लग के करनी पड़ेगी। तुम अपना वहां पे मन नहीं भटका सकते कि भाई अब ये चीज कठिन हो गई।
मैं इसको छोड़ दूं। ऐसा नहीं रहता। मुझे पता है अभी तक तुम्हारे साथ हो सकता है सारी चीजें बढ़िया चल रही हो। अगर तुम्हें
अगर बढ़िया चल रही है तो बहुत अच्छी बात है। लेकिन अगर मन में जरा सा भी डाउट आ रहा है ना कि यार नहीं ये तो कठिन होता जा
रहा है। ऐसा मत सोचना चीजें तुम कुछ कर लो। तुम अगर यहां पे बैक एंड की बात कर रहे हो बैक एंड भी कुछ टाइम के बाद थोड़ा
सा कठिन होगा। लेकिन वहां पे जैसे ही तुम्हारा फाउंडेशन क्लियर हुआ बैक एंड ईजी हो जाएगा। जैसे ही तुम इस चीज को मास्टर
कर लोगे। मास्टर करने के बाद बैक एंड ईजी हो जाएगा। ये है होता है। ये सारी स्किल के साथ होगा। शुरुआत में इजी होता है। बीच
में कठिन होगा। फिर बीच में जैसे तुम वाला फेस पार करते हो तो एंड की जो चीजें रहती है वो इजी होना चालू हो जाती हैं। तो ये
अभी थोड़ा सा हो सकता है तुम्हारे लिए कठिन वाला फेस चल रहा हो। कोई इशू नहीं है। इसके बाद चीजें आसान हो जाएंगी। बस एक
चीज का याद रखना है भाई। जितना बड़ा तुम्हें एलपीए चाहिए, जितनी ज्यादा तुम्हें अच्छी जॉब चाहिए, उतनी ही ज्यादा
तुम्हें मेहनत यहां पे करनी पड़ेगी। और इस जर्नी में बस एक अच्छी बात होने वाली है। तुम तुम मेहनत तो करोगे। मैं तुमसे मेहनत
करवाऊंगा भी। बस एक चीज का ध्यान रखना। ये वीडियो मत छोड़ना। जहां पे तुमने यह वीडियो छोड़ा जितनी मेहनत अभी तक तुमने
किए हो वो सारी मेहनत बर्बाद हो जाएगी। अगर तुम सोच रहे हो कि नहीं यार इसको मैं कल परसों कर लूंगा नहीं आज ही करो इसको।
तुम इसको आज ही करोगे और आज ही इसको खत्म भी करना रहेगा। तुम कुछ भी चीज कल या परसों के लिए नहीं छोड़ोगे। तुम जो भी
करोगे वो आज करोगे। आज पता है एक सबसे अच्छी एक सेंटेंस होता है कि किसी भी चीज को करने का या किसी भी नई चीज को स्टार्ट
करने का सबसे अच्छा टाइम क्या रहता है? वो रहता है अभी। वो रहता है अभी कि अगर तुम कुछ भी चीज करना चाह रहे हो तो वह अभी
स्टार्ट करो। तुम उसको अभी स्टार्ट करो। कल या परसों के लिए वेट मत करो। तुम कुछ भी चीज काम खत्म करना चाह रहे हो उसको अभी
खत्म करो। कल या परसों के लिए मत टालो। कल या परसों के लिए टालने का मतलब होता है कि तुम उसको नहीं करने वाले। ये एक चीज वहां
पे रहेगी। तो भाइयों कल या परसों के लिए मत टालना इस चीज को। तुम इसको आज ही खत्म करोगे। आज तुम पूरी मेहनत लगाओगे इस चीज
को कंप्लीट करने में। आज ही इसको कंप्लीट करना रहेगा। ये नहीं बोल रहा हूं कि आज यह पूरा वीडियो खत्म करना है तुम्हें। नहीं
शायद वो आज वीडियो खत्म हो भी ना पाए। अगर आज कंटीन्यूअस भी देखोगे तो भी खत्म ना हो पाए। लेकिन जो आज का तुम्हारा टॉपिक है वो
हो सकता है कि भाई हम आज हमें यहां पे एक प्रोजेक्ट क्रिएट करना है। तो वो प्रोजेक्ट तुम आज खत्म कर रहेगे। ये हमें
यहां पे करना रहेगा। अच्छा तो एक बहुत छोटा प्रोजेक्ट हम यहां पे क्रिएट करने वाले हैं। प्रोजेक्ट हमारा होगा क्या? तो
एक सिंपल सा प्रोजेक्ट है जहां पे यूजर पोस्ट क्रिएट कर सकता है और जितनी भी पोस्ट वो क्रिएट करेगा वो वहां पे नॉर्मली
देख सकता है। जैसे Instagram में होता है कि Instagram पे क्या होता है कि भ आप मल्टीपल पोस्ट क्रिएट कर सकते हो और जितनी
भी पोस्ट आप क्रिएट करोगे वो अपनी फीड पे देख सकते हो। तो यही सेम इंप्लीमेंट हमें यहां पे करना रहेगा हमारे बैक एंड पे और
एक फुल स्टक एप्लीकेशन हमें यहां पे डेवलप करनी रहेगी। ये हमें यहां पे करना है। तो देखो होने क्या वाला है? होने क्या वाला
है? अब थोड़ा इसको और डिटेल में हम समझते हैं। तो होगा क्या कि भाई एक एप्लीकेशन क्रिएट करनी है। इस एप्लीकेशन में अभी
हमारे पास सिर्फ दो पेज होने वाले हैं। ये होगा हमारे पास एक पेज ये होने वाला है। तो एक पेज ये रहेगा। अब एक एप्लीकेशन के
अंदर दो पेज रहेंगे। एक जो हमारा पेज होने वाला है ये अपना रहेगा स्लैश क्रिएट पोस्ट पेज। यह हमारा स्लैश क्रिएट
पोस्ट पेज होने वाला है। दिस वन यह अपना क्रिएट पोस्ट पेज होगा। और एक पेज हमारे पास और होगा। और यह जो हमारा पेज होने
वाला है यह अपना रहेगा फीड पेज। तो फीड पेज यहां पे होने वाला है। तो अब क्रिएट पोस्ट पे क्या होगा जो
आपका यूजर जब क्रिएट पोस्ट पेज पे आएगा तो इसको एक यूआई दिख रहा होगा। यूआई कैसा रहेगा कि यहां पे एक फॉर्म होगा। इस जगह
पे एक फॉर्म होगा और इस फॉर्म के अंदर हमारे पास तीन चीजें होने वाली हैं। तीन चीजें क्या-क्या? देखो दो हमारे पास यहां
पे इनपुट फील्ड होंगी। एक हम एक हमारे पास इनपुट फील्ड होगी। इसमें आप क्या दे रहे हो? इमेज दे रहे होगे। जो भी इमेज के साथ
आप पोस्ट क्रिएट करना चाह रहे हो उस चीज की आपको एक इनपुट फील्ड देनी रहेगी और दूसरी इनपुट फील्ड आपके पास यहां पे
प्रेजेंट होगी कैप्शन के लिए। तो कैप्शन के लिए एक और इनपुट फील्ड होगी और फिर फाइनली आपके पास यहां पे एक बटन होगा और
ये जो आपका बटन होने वाला है ये बटन रहेगा सबमिट के लिए सबमिट। तो यहां पे आपके पास तीन चीजें होने वाली है। एक फॉर्म के अंदर
एक आपके पास इनपुट फील्ड होगी। जहां पे आप इमेज को सेलेक्ट करोगे। फिर इमेज के जो कैप्शन के साथ आप पोस्ट क्रिएट करना चाह
रहे हो वो कैप्शन आप यहां पे दोगे और फाइनली होगी एक सबमिट की बटन। जैसे ही आप सबमिट बटन पे क्लिक करोगे जो इमेज और
कैप्शन के साथ जो भी आपका पोस्ट रहेगा वो पोस्ट क्रिएट होगा और उसका डेटा हम मोंगो डीबी में सेव कर रहे होंगे। हां भाई ये
इमेज है। ये उसका कैप्शन है। ये डेटा हम सेव करेंगे हमारे डेटाबेस में। और फिर जो हमारा फीड पेज होने वाला है जो हमारे पास
यहां पे फीड पेज रहेगा। इस फीड पेज पे हम क्या करने वाले हैं? इधर पे जो हमारी इमेज रहेगी वो इमेज हम यहां पे दिखाएंगे। सो जो
हमारी इमेज यहां पर होने वाली है वो इमेज हम यहां पे दिखा रहे होंगे। तो ये अपनी रहेगी इमेज। सो ये अपनी इमेज होगी और साथ
ही साथ जो हमारा कैप्शन होने वाला है सो कैप्शन भी हम यहां पे दिखा रहे होंगे। सो अब यहां पे देखो जितनी भी जितनी भी हमारे
पास पोस्ट हो रही होंगी वो सारी चीजें वो सारी चीजें जितनी भी हमारी पोस्ट होंगी वो सारी पोस्ट हम अपने फीड पेज पे दिखा रहे
होंगे। अगर यहां पे 10 पोस्ट हैं तो 10 की 10 पोस्ट हम अपने फीड पेज पे दिखा रहे होंगे और 100 पोस्ट होंगी तो 100 की 100
पोस्ट हम यहां पे दिखा रहे होंगे। ये हमें यहां पे करना है। ठीक है? तो ये अभी मेन आईडिया है। मुझे पता है बहुत बड़ी
एप्लीकेशन नहीं है। लेकिन एज अ बिगिनर ये काफी अच्छी एप्लीकेशन है। तुम्हारी बहुत सारी प्रैक्टिस यहां पे होने वाली है। और
इस चीज में हमें एक चीज और समझनी है। इस पूरी एप्लीकेशन में एक कांसेप्ट हमें समझना रहेगा क्लाउड स्टोरेज प्रोवाइडर। अब
क्लाउड स्टोरेज प्रोवाइडर होते क्या है? अगर यहां पे किसकी बात कर रहे हैं? हम यहां पे बात कर रहे हैं
क्लाउड क्लाउड स्टोरेज प्रोवाइडर। क्लाउड स्टोरेज प्रोवाइडर अब
ये क्लाउड स्टोरेज प्रोवाइडर होते क्या है? तो क्लाउड स्टोरेज प्रोवाइडर काइंड ऑफ़ तुम बोल सकते हो कि तुम इन्हें फाइल देते
हो। क्लाउड स्टोरेज प्रोवाइडर को तुम क्या देते हो? तुम यहां पे फाइल दोगे और फाइल के बदले में ये तुम्हें देते हैं रिटर्न
में एक यूआरएल। मतलब क्या? मतलब देखो जो हमारे पास इमेज आई मतलब कि यूजर एक इमेज और एक कैप्शन के साथ पोस्ट क्रिएट करेगा।
तो ये जो कैप्ट जो इमेज होने वाली है ये इमेज हम किसको देंगे? ये इमेज हम देंगे हमारे क्लाउड स्टोरेज प्रोवाइडर को।
क्लाउड स्टोरेज प्रोवाइडर को हम क्या दे रहे होंगे? हम यहां पे क्लाउड स्टोरेज प्रोवाइडर को इमेज देंगे। किसको दिया? ये
इमेज हम देंगे क्लाउड स्टोरेज प्रोवाइडर को। और क्लाउड स्टोरेज प्रोवाइडर हमें रिटर्न में क्या देता है? रिटर्न में हमें
देता है एक यूआरएल। तो एक रिटर्न में हमें यूआरएल मिल जाएगी। और ये जो यूआरएल होने वाली है अगर मैं इस यूआरएल को एक्सेस
करूंगा। यूआरएल मतलब क्या? लिंक। तो एक लिंक मुझे यहां पे मिल जाएगी। और अगर मैं इस लिंक को एक्सेस करता हूं तो जो भी फाइल
मैंने क्लाउड स्टोरेज प्रोवाइडर को दिया होगा वही सेम फाइल में मैं एक्सेस कर पाऊंगा। अच्छा। तो मतलब क्या? मतलब ये कि
भाई जिस इमेज के साथ हम पोस्ट क्रिएट करने वाले हैं उसे हम अपने सर्वर पे स्टोर नहीं करवाएंगे। उसे हम कहां पे स्टोर करवाएंगे?
उसे हम स्टोर करवाते हैं हमारे क्लाउड स्टोरेज प्रोवाइडर के पास। क्लाउड स्टोरेज प्रोवाइडर को मैं अपनी इमेज स्टोर करने के
लिए देता हूं। और बदले में क्लाउड स्टोरेज प्रोवाइडर मुझे एक यूआरएल रिटर्न कर देता है। ये अपना सीन यहां पे होने वाला है। तो
ये जो यूआरएल रिटर्न होगी ये यूआरएल मैं सेव करूंगा मेरे डेटाबेस में ना कि इमेज। हम इमेज को सेव नहीं करते अपने डेटाबेस
में। ध्यान रखना इमेज की जो एक फाइल है फाइल को हम अपने डेटाबेस में स्टोर नहीं करवा रहे होते हैं। फाइल की जो यूआरएल
होने वाली है इस यूआरएल को हम अपने डेटाबेस के अंदर सेव करवाएंगे। अच्छा। तो हम इमेज को डेटाबेस के अंदर सेव क्यों
नहीं करवाते? क्योंकि जो आपका डेटाबेस है वो इस चीज के लिए डिजाइन नहीं किया गया है कि वो एक फाइल को स्टोर कर सके। इस चीज के
लिए डेटाबेस डिजाइन नहीं किया गया है। इस वजह से हम इमेज को स्टोर नहीं करवाते। इमेज की जो यूआरएल होने वाली है उसे यहां
पे सेव करवा रहे होते हैं। तो देखो अब यहां पे क्या करवाएंगे? अच्छा इमेज को हम डेटाबेस के अंदर सेव नहीं करवा सकते। तो
क्या सर्वर पे स्टोर करवा सकते हैं? नहीं सर्वर पे भी स्टोर नहीं करवाते क्योंकि वहां पे हमारे पास एसएसडी या सेकेंडरी
स्टोरेज नहीं होती। मैं तुम्हें एक चीज दिखाता हूं। रुको मैं तुम्हें एक चीज दिखाता हूं। जब एडब्ल्यूएस जहां पे जहां
हम यूज़ करते हैं। सो ये तो अपना Chrome है। Chrome नहीं ये तो अपना ब्रेव है। Chrome पे मैं आता हूं। एंड Chrome पे आने
के बाद जो मेरा एडब्ल्यूएस का एक अकाउंट है उस पे लॉग इन कर रहा हूं। बस 2 मिनट रुकना। मैं तुम्हें लॉग इन करके बता रहा
हूं कि भाई जब हम एक सर्वर डिप्लॉय करते हैं। एडब्ल्यूएस जहां पे भाई बहुत बढ़िया चीज है। बहुत बड़ी चीज है। जहां पे बहुत
बड़े-बड़े सर्वर्स हम रन करते हैं। तो एडब्ल्यूएस पे जब आप एक सर्वर डिप्लॉय कर रहे होते हो। तो डिप्लॉय करते टाइम जो
मशीन कॉन्फ़िगरेशन वो आपसे पूछता है मतलब कि आप कौन सी मशीन यहां पे क्रिएट करना चाह रहे हो वो मशीन कौन सी रहती है बस वो
मैं आपको यहां पे बता रहा हूं तो बस एक सेकंड रुक जाओ मैं तुम्हें बहुत सारी चीजें यहां पे बताने वाला हूं तो इलास्टिक
कंटेनर सर्विस एंड अगर यहां पे टास्क डेफिनेशन पे मैं आता हूं क्रिएट न्यू टास्क ठीक तो अब यहां पे जो तुम पैनल देख
रहे हो इस जगह पे जो तुम पैनल देख रहे हो इधर पे क्या आ रहा है इधर पे हमारे पास देखोगे कि भाई इधर पे किस तरीके से आप एक
सर्वर को डिप्लॉय कर सकते हो। वहां पे ये सारी चीजें पूछी जा रही हैं। तो इसमें क्या-क्या चीजें पूछी जाती हैं? तो इसमें
आपसे पूछी जाती हैं कि भाई आप किस ऑपरेटिंग सिस्टम पे क्या आर्किटेक्चर पे आप अपने सर्वर को डिप्लॉय करोगे? उसके
अंदर कितने CPU आप रखना चाह रहे हो? तो वो CPU आप यहां पे बता सकते हो कि भाई कितने CPU 16 CPU रखना चाह रहे हो क्या? ठीक है?
16 CPU रख दो। फिर उसकी रैम कितनी रखना चाह रहे हो? अगर रैम आपकी जितनी मर्जी है उतनी रैम आप यहां पे रख सकते हो। 60GB ऑफ़
रैम आप यहां पे रख सकते हो। सिंपल सा आप यहां पे रख सकते हो। फिर इसके बाद अगर आपको कुछ और चीजें सेलेक्ट करनी है रख
सकते हो। सुनो मेरे कहने का मतलब क्या है? जब आप एक सर्वर को डिप्लॉय करते हो तो वहां पे आपके पास सेलेक्ट करने की तीन
ऑप्शन तीन चीजें रहती है कि भाई जिस भी मशीन पे आप सर्वर डिप्लॉय करना चाह रहे हो वहां पे आप तीन चीजें रख सकते हो। पहला
आपका ऑपरेटिंग सिस्टम दूसरा कितने CPU होंगे और उसमें मेमोरी कितनी होगी? मेमोरी यहां पे प्राइमरी मेमोरी मतलब कि रैम की
बात की जा रही है ना कि सेकेंडरी मेमोरी स्टोरेज की बात नहीं की जा रही है। यहां पे रैम की बात की जा रही है कि रैम कितनी
होगी? आपकी जो एसएसडी की स्टोरेज या हार्ड डिस्क की स्टोरेज है वो यहां पे रखी होती ही नहीं है। वो यहां पे होती ही नहीं है।
आपके पास यहां पे प्रोडक्शन का जो आपका सर्वर रहता है वहां पे सिर्फ तीन चीजें होती हैं। क्या-क्या? आपका ऑपरेटिंग
सिस्टम, कितने CPU होंगे और उनमें कितनी रैम होने वाली है? सेकेंडरी स्टोरेज वहां पे प्रेजेंट नहीं होती। और एक बात बताओ
मुझे जो भी आपकी फाइल्स रहती हैं, जो भी आपकी यहां पे फाइल्स रहती है, जैसे कि इमेज है। इमेज क्या होगी? एक फाइल होती
है। फाइल इन द एंड स्टोर कहां पे होती है? सेकेंडरी स्टोरेज के अंदर एसएसडी हार्ड डिस्क के अंदर स्टोर की जाती हैं। तो अब
क्योंकि हमारे सर्वर के पास सेकेंडरी स्टोरेज होती ही नहीं है प्रोडक्शन पे तो सेव कहां पे करोगे इसको? तो इस वजह से हम
सर्वर पे हमारी इमेज को स्टोर नहीं करते और डेटाबेस क्योंकि इमेज स्टोर करने के लिए बनाई ही नहीं गए तो वहां पे भी स्टोर
नहीं करते। जो इमेज स्टोर करने के लिए बनाए जाते हैं वो आपके क्या रहते हैं? क्लाउड स्टोरेज प्रोवाइडर। तो क्लाउड
स्टोरेज प्रोवाइडर के पास हम अपनी इमेज को स्टोर करते हैं और क्लाउड स्टोरेज प्रोवाइडर इमेज के बदले में हमें एक
यूआरएल देते हैं और ये यूआरएल को हम सेव करते हैं हमारे डेटाबेस में। ये एक हमारा काम होने वाला है। अब क्लाउड स्टोरेज
प्रोवाइडर जो अपने जो हमारे क्लाउड स्टोरेज प्रोवाइडर हैं ये बहुत सारे हैं। अगर मैं तुम्हें यहां पे आता हूं ब्रेव
ओपन करके दिखाता हूं। सो दिस वन इज़ आवर ब्रेव। और ब्रेव पे अगर मैं आता हूं। सो देखो अगर मैं यहां पे सर्च करता हूं
क्लाउड स्टोरेज सर्विस प्रोवाइडर्स। तो क्लाउड स्टोरेज
सर्विस प्रोवाइडर की अगर मैं बात करता हूं सो हमारे पास यहां पे एक क्लाउड स्टोरेज प्राइसिंग ऑल S3 ये सारी चीजें आती हैं।
तो हमारे पास कौन-कौन से क्लाउड स्टोरेज प्रोवाइडर हैं? हमारे पास Google ड्राइव है। ड्रॉप बॉक्स है Microsoft वन ड्राइव।
तो ये सारी चीजें आपको पता है। लेकिन हम यहां पे जो यूज़ करने वाले हैं उसका नाम क्या रहेगा?
इमेज किट। इमेज किट अपना क्या है? इमेज किट अपना एक और क्लाउड स्टोरेज प्रोवाइडर है जिसके पास हम अपनी फाइल्स को स्टोर कर
सकते हैं और इमेज किट उसके बदले में हमें एक यूआरएल रिटर्न कर देती है। तो इमेज किट का हम यहां पे यूज़ करने वाले हैं। तो इमेज
किट का हम यहां पे यूज़ करेंगे। अब देखो इमेज किट क्या है? इमेज किट तुम्हारा सिंपल क्लाउड स्टोरेज प्रोवाइडर है जिसको
तुम लिंक देते हो और सॉरी लिंक नहीं जिसको तुम फाइल देते हो और फाइल के बदले में इमेज किट तुम्हें एक यूआरएल रिटर्न कर रही
होती है। तो सबसे पहले आओ इमेज किट पे तुम्हें अपना एक अकाउंट क्रिएट करना रहेगा। मेरा एज़ यूजुअल अकाउंट ऑलरेडी
क्रिएटेड है। बस लॉग इन कर रहा हूं। लॉग इन करने के बाद तो अब देखो मेरे पास ऑलरेडी बहुत सारे
मीडिया लाइब्रेरी में अगर मैं आता हूं तो मीडिया लाइब्रेरी में मैंने और भी इमेज किट बहुत सारा यूज़ करता रहता हूं। सो इमेज
किट में बहुत सारी फाइल्स मेरी पड़ी हुई है। जब तुम पहली बार अपना अकाउंट क्रिएट करोगे तो इधर पे तुम्हें इतनी सारी फाइल्स
नहीं दिखेंगी। यहां पे तुम्हें कुछ भी नहीं दिख रहा होगा। मैं ऑलरेडी बहुत ज्यादा इमेज किट का यूज़ करता हूं। इस वजह
से तुम्हें इतनी सारी फाइल्स, इतने सारे फोल्डर्स यहां पे देखने के लिए मिल जाएंगे। तो बस तुम्हें करना क्या है? इमेज
किट पे जाओ। इमेज किट पे जाने के बाद तुम्हें अपना एक अकाउंट क्रिएट करना है और अकाउंट क्रिएट करने के बाद हम यहां पे आगे
बात करेंगे। तो बस अभी के लिए अकाउंट क्रिएट कर लो। अकाउंट क्रिएट कर लो इमेज किट पे और फिर उसके बाद क्या करना है वो
वो मैं तुम्हें बताऊंगा। तो अब जो हमारा एक मेन आईडिया है एप्लीकेशन क्रिएट करने का वो एप्लीकेशन कैसे है? मेन आईडिया मैं
तुम्हें ऑलरेडी बता चुका हूं। अब इसी के साथ हमें एक एप्लीकेशन क्रिएट करनी है। तो देखो हमें पहले इसका बैक एंड क्रिएट
करेंगे। हम इसका पहले बैक एंड क्रिएट करेंगे और बैक एंड क्रिएट करने के बाद देन हम यहां पे हम इसका फ्रंट एंड क्रिएट कर
रहे होंगे। तो अब बैक एंड में क्या करना है? बैक एंड में मुझे एक एपीआई क्रिएट करनी है। ये एपीआई क्या करेगी? ये एपीआई
पहली एपीआई दो एपीआई क्रिएट करनी है। पहली एपीआई एक पोस्ट को क्रिएट करेगी। दूसरी एपीआई जितनी पोस्ट होंगी उन सभी को शो
करवाएगी। फैच करवाएगी उनका डाटा। तो दो एपीआई क्रिएट करनी है। एक एपीआई पोस्ट को क्रिएट करेगी। दूसरी एपीआई यहां पर जितनी
भी पोस्ट क्रिएट किए होंगी उन सभी के डेटा को फैच कर रही होगी। तो देखो हमें यह दोनों एपीआई क्रिएट करनी है। तो इधर पे
आते हैं हमारे बीएस कोड पे। बीएस कोड पे आने के बाद ये तो नहीं हम पूरा एकदम फ्रेश स्टार्ट करेंगे। तो देखो वापस आते हैं
क्लियर एनपीएम इन hy. जैसा हम एक अह करते हैं कि एक नोटs एप्लीकेशन को इनिशिएट करने के लिए कमांड। कुछ पैकेज की हमें यहां पे
जरूरत पड़ेगी। एनपीएम आई एक्सप्रेस एक्सप्रेस पैकेज को हम यहां पे इंस्टॉल करेंगे और साथ ही साथ जो हमारा मोंगूस
पैकेज है इसे भी इंस्टॉल कर रहे होंगे। तो सुन एक्सप्रेस और मंगूस दोनों को इंस्टॉल करेंगे। एक्सप्रेस और मंगूस इंस्टॉल करने
के बाद हमारे पास जो एक बेसिक सर्वर का कोड रहता है कि एसआरसी फोल्डर के अंदर apps फाइल
apps फाइल यहां पे हम रिक्वायर करेंगे एक्सप्रेस इक्व टू रिक्वायर रिक्वायर एक्सप्रेस एक्सप्रेस रिक्वायर करने के बाद
कॉनस्ट ऐप का इंस्टेंस एक्सप्रेस हमने क्रिएट किया एंड देन मॉड्यूल डॉट एक्सपोर्ट ऐप हम यहां पे क्रिएट अ
एक्सपोर्ट कर चुके हैं और इसके बाद एक फाइल और क्रिएट करेंगे फाइल का नाम रखेंगे लिखेंगे सर्वर डॉट जेएस और server डॉट
जेएस के अंदर कॉस्ट ऐप इक्व रिक्वायर यहां पे हम रिक्वायर करेंगे एसआरसी फोल्डर के अंदर जो हमारे पास ऐप
फाइल है इसे करेंगे रिक्वायर बढ़िया तो ऐप को हमने यहां पे रिक्वायर किया रिक्वायर करने के बाद ऐप डॉट लिसन पोर्ट नंबर 3000
एक कॉल बैक और कॉल बैकक के अंदर सर्वर इज़ रनिंग ऑन पोर्ट 3000 हम यहां पे ऐड कर सकते हैं। बढ़िया। और अब अगर मैं यहां पे
सर्वर को स्टार्ट करूंगा तो सर्वर स्टार्ट हो जाएगा। लेकिन सर्वर क्रिएट करने के बाद और सर्वर स्टार्ट करने के बाद जो हमारा एक
मेन काम रहता है वो रहता है डेटाबेस से कनेक्ट करना। अब डेटाबेस से कनेक्ट करने का लॉजिक कैसा जाता है कि एसआरसी फोल्डर
के अंदर आप एक और फोल्डर क्रिएट करोगे। फोल्डर का नाम रखते हैं डीबी। और डीबी फोल्डर के अंदर हम एक फाइल क्रिएट करते
हैं। फाइल का नाम रखते हैं क्या? डीबी डॉट जेएस। बढ़िया। db.js के अंदर हम यहां पे रिक्वायर करते हैं मोंगूस्ट इक्वल्स टू
रिक्वायर। और एक फंक्शन क्रिएट करेंगे। फंक्शन असिंक। फंक्शन का नाम हम यहां पे रखते हैं।
कनेक्ट डीबी पैरम्स एस सच नीड नहीं है और देन हम यहां पर बोलेंगे अवेट मोंगूस डॉट कनेक्ट और मोंगूस डॉट कनेक्ट के अंदर जो
हमारी एक यूआरआई रहेगी इस यूआरआई का हम यहां पे यूज़ कर रहे होंगे। अच्छा ये यूआरआई कहां से आएगी? तो जो हमने मंगो
डीबी कंपास बना के रखा है तो मोंगोb कंपास के अंदर ये रहा हमारा क्लस्टर। इसका कॉपी कनेक्शन स्ट्रिंग कॉपी कनेक्शन स्ट्रिंग
के बाद जो हम यहां पे डेटाबेस यूज़ करने वाले हैं। डेटाबेस का नाम हम यहां पे क्या देंगे? डेटाबेस का नाम हम यहां पे देने
वाले हैं। लेट्स से अ प्रोजेक्ट वन। ठीक है? तो प्रोजेक्ट वन हम यहां पे डेटाबेस का नाम देने वाले हैं। तो
प्रोजेक्ट वन हमारे डेटाबेस का नाम रहेगा। और जब भी ये कनेक्ट हो जाएगा तो कनेक्ट होने के बाद हम यहां पे कंसोल करवाएंगे
कनेक्टेड टू डीवी। बढ़िया। तो अब ये जो मेरा फंक्शन है, इस फंक्शन को मैं यहां से करूंगा एक्सपोर्ट। एक्सपोर्ट करने के लिए
मॉड्यूल डॉट एक्सपोर्ट। कनेक्ट डीवी फंक्शन को किया एक्सपोर्ट। और एक्सपोर्ट करने के बाद
सर्वर डॉट जेएस फाइल में आएंगे कॉस्ट कनेक्ट डीबी कनेक्ट डीबी फंक्शन को करेंगे
रिक्वायर और रिक्वायर करने के बाद कनेक्ट डीबी फंक्शन को करेंगे कॉल बढ़िया तो सुनो यहां पे अब अगर मैं सर्वर को स्टार्ट करता
हूं तो सर्वर स्टार्ट करने के लिए एनपीx नोम ऑन सर्वर डॉट जेS तो जो मेरा सर्वर रहेगा वो
यहां पे स्टार्ट हो चुका है। बढ़िया। तो बढ़िया। अब हम यहां पे सर्वर स्टार्ट कर चुके हैं।
सोना मत अभी। अगर सो रहे हो तो उठ जाओ। सोना मत। क्योंकि अब हम यहां पे एक एपीआई डेवलप करेंगे। और एपीआई कौन सी डेवलप
करेंगे? जिस पे हमारी पोस्ट क्रिएट होने वाली है। अब एक बात बताओ मुझे जो हमारी पोस्ट होगी उसके अंदर दो चीजें होने वाली
है। एक रहेगी हमारी इमेज और दूसरा रहेगा कैप्शन। ये दोनों चीज़ हमारे पास होने वाली है। तो मतलब कि हम इमेज की यूआरआई हम फाइल
स्टोर नहीं करेंगे। ध्यान रखना। हम यहां पे जो यूआरएल होने वाली है वो यूआरएल स्टोर करेंगे और दूसरा हमारे पास क्या
रहेगा कैप्शन तो इमेज की यूआरएल और कैप्शन ये दोनों चीजें स्टोर करेंगे एक पोस्ट के अंदर तो ये कहां पे स्टोर करेंगे डेटाबेस
के अंदर हां डेटाबेस के अंदर स्टोर करने वाले हैं तो डेटाबेस के अंदर तुम कुछ भी अगर स्टोर करते हो तो पहले तुम्हें
डेटाबेस को बताना पड़ता है कि भाई कैसे क्या स्टोर करोगे तो इसके लिए हम क्या क्रिएट करते हैं स्कीमा और स्कीमा क्रिएट
करने के लिए हम एक फाइल क्रिएट करनी पड़ती है फाइल्स हम क्रिएट करेंगे मॉडल्स फोल्डर के अंदर और मॉडल्स फोल्डर के अंदर पोस्ट
डॉट मॉडल डॉट जीएस नाम की फाइल एक क्रिएट करेंगे। तो ठीक है। बढ़िया है। अब यहां पे आते हैं। कॉस्ट मोंगूस फिर से रिक्वायर
करेंगे। इक्वल्स टू रिक्वायर मोंगूस। मोंगूस रिक्वायर करने के बाद अब यहां पे मैं बोलूंगा पोस्ट स्कीमा इक्व टू न्यू
मोंगूस डॉट स्कीमा। जैसे हम पहले कर रहे थे उसी तरीके से अभी हम यहां पे कर रहे हैं कि मुझे यहां पे एक पोस्ट का डेटा
स्टोर करना है मेरे डेटाबेस में। तो पहले मुझे डेटाबेस को बताना पड़ेगा कि एक पोस्ट कैसी दिखने वाली है। जैसे कि एक पोस्ट जो
दिखेगी उसके हमारे पास एक इमेज होगी। इमेज की यूआरएल हम सेव कर रहे होंगे। साथ ही साथ कैप्शन होगा और कैप्शन टेक्स्ट
फॉर्मेट में स्ट्रिंग फॉर्मेट में होने वाला है। तो इधर पे हमारे पास क्या होगी? इमेज। इमेज किस फॉर्मेट में रहेगी?
यूआरएल। और यूआरएल कैसी रहती है? स्ट्रिंग फॉर्मेट। तो स्ट्रिंग फॉर्मेट में हम यहां पे स्टोर करेंगे। फिर इधर पे हमारे पास
आएगा क्या? कैप्शन। क्योंकि कैप्शन यहां पे क्या रहेगा? स्ट्रिंग फॉर्मेट में होने वाला है। बढ़िया। तो पोस्ट कीमा के अंदर दो
प्रॉपर्टीज रहेंगी। ये एक इमेज दूसरा रहेगा कैप्शन और ये दोनों ही हम स्टोर करेंगे। अब इसके बाद अगर मैं यहां पे आगे
बढ़ता हूं तो जो हमारा पोस्ट मॉडल रहेगा पोस्ट मॉडल हम यहां पे क्रिएट करने वाले हैं। तो पोस्ट मॉडल इक्व मोंगूस डॉट मॉडल
और अब हम यहां पे अच्छा मैंने तुम्हें शायद नहीं बताया था कि भ ये स्ट्रिंग के अंदर ये दोनों चीजें क्या होती हैं? तो
देखो अब सुनो होता क्या है कि ये जो स्ट्रिंग के अंदर हमने पोस्ट लिखा है ये है क्या? अगर इसकी मैं थोड़ी बात करता हूं
क्योंकि ये स्ट्रिंग के अंदर पोस्ट लिखा है। इसका मतलब है क्या? सुनो। तुम अपने एप्लीकेशन में एक सिंगल पोस्ट तो क्रिएट
करने नहीं वाले। बहुत सारी पोस्ट क्रिएट करोगे। अब और तुम्हारी एप्लीकेशन में आगे चलके अभी तो सिर्फ हमारे पास पोस्ट्स हैं।
आगे चलके यूज़र्स भी होंगे। तो हमारे पास यूजर का डेटा होगा। अब यूजर का डेटा कैसा दिख सकता है? मैं तुम्हें बता रहा हूं।
देखो जो अभी हमारे पास एक पोस्ट का डेटा है। पोस्ट का डेटा कैसा दिखता है? इसके अंदर हमारे पास एक होती है इमेज। एक हमारे
पास यहां पर इमेज होती है जिसको हम स्ट्रिंग फॉर्मेट में स्टोर करते हैं और एक हमारे पास यहां पर होती है कैप्शन
जिसको हम स्ट्रिंग फॉर्मेट में सेव करते हैं। अब अभी के लिए बस इतना है लेकिन आगे चल के हमारे पास क्या रहेगा? आगे चलके
हमारे पास यूजर का डेटा भी रहेगा। तो यूजर का डेटा भी हमारे पास हो सकता है। नेम ईमेल, पासवर्ड एंड पोस्ट दिस दिस दिस ये
सारी चीजें हम आगे चल के स्टोर करेंगे। अभी नहीं करेंगे। आगे आगे वाले जो प्रोडक्ट्स आने वाले हैं उस पे हम स्टोर
करने वाले हैं। तो देखो यहां पे हमारे पास डेटाबेस के अंदर दो अलग-अलग टाइप के डेटा हम स्टोर करेंगे। एक हमारे पोस्ट का डेटा
रहेगा जिसके अंदर इमेज और कैप्शन होने वाली है। एक हमारे पास होगा यूजर का डेटा जिसके अंदर नेम, ईमेल, पासवर्ड और पोस्ट।
इतना डेटा हम यहां पे स्टोर करेंगे। तो देखो डेटाबेस एक है। आपके पास डेटाबेस एक है। लेकिन यहां पे जो आप डेटा स्टोर करने
वाले हो वो दोनों अलग-अलग है। ये पोस्ट का डेटा है और ये यूजर का डेटा है। तो अब यहां पे जो आपका सेम टाइप का डेटा रहता है
वो स्टोर होता है एक कलेक्शन के अंदर। डेटाबेस के अंदर एक चीज होती है जिसको हम बोलते हैं क्या? कलेक्शन। डेटाबेस के अंदर
एक चीज होती है जिसको हम क्या बोलते हैं? कलेक्शन। जैसे कि अभी हमने जो पिछली अ टास्क में देखा था हमारे पास एक डेटाबेस
था। डेटाबेस का नाम क्या है? हेली। हेली हमारे पास डेटाबेस था और इसके अंदर नोट्स नाम की एक कलेक्शन थी। ये जो तुम नोट्स
देख रहे हो ये नोट्स क्या है? ये कलेक्शन है और जब तुम नोट्स कलेक्शन को ओपन करोगे तब तुम्हें नोट्स का जो डेटा रहेगा वो
तुम्हें यहां पे दिखने वाला है। तो सिमिलर वे में हमारे पास जब आगे हम डेटा एप्लीकेशन क्रिएट करें तो हमारे पास एक
पोस्ट नाम की कलेक्शन होगी। एक हमारे पास यूजर नाम का कलेक्शन होगा। तो यहां पे जो अलग-अलग टाइप का डेटा रहता है उसको हम
अलग-अलग कलेक्शन में स्टोर कर रहे होते हैं। अब उस कलेक्शन का क्या नाम होने वाला है वो आप इस स्ट्रिंग में बता रहे होते
हैं। बस इतना रहता है। इसका बस इतना ही काम रहता है कि कलेक्शन का नाम क्या होगा वो आप इस स्ट्रिंग के अंदर बता रहे होते
हो। बस तो इस स्ट्रिंग का बस इतना काम रहता है कि जैसे कि अभी पोस्ट का जो डेटा होगा वो किस कलेक्शन के अंदर स्टोर होगा?
पोस्ट नाम की कलेक्शन के अंदर स्टोर होने वाला है। अच्छा अगर मैंने इसका नाम रख दिया मामा। अब तो अब पोस्ट का जो डाटा
स्टोर होगा वह कौन सी कलेक्शन के अंदर स्टोर हो रहा होगा? मामा नाम के कलेक्शन के अंदर स्टोर हो रहा होगा। लेकिन डाटा
में मामा नाम की कलेक्शन वही अच्छा नहीं लगता। तो हम यहां पे क्या बोलेंगे? पोस्ट नाम की कलेक्शन के अंदर ही आप डेटा को
स्टोर करोगे। हां तुम्हें जब मोंगो डीबी कंपास ओपन करोगे तो वहां पे पोस्ट दिख सकता है। मतलब कि आखिरी में एक एस अलग से
आएगा तो उसमें कोई प्रॉब्लम नहीं है। वो मंगो डीबी खुद से ऐड कर देता है। तो उसमें कोई इशू नहीं है। लेकिन जो हमारे डेटाबेस
में कलेक्शन का नाम रहेगा वो पोस्ट नाम से स्टोर हो रहा होगा। अब जो मॉडल क्रिएट किया है उसको यहां से करेंगे एक्सपोर्ट।
तो मॉड्यूल डॉट एक्सपोज पोस्ट मॉडल हमने यहां पे किया एक्सपोर्ट। एक्सपोर्ट करने के बाद एक्सपोर्ट करने के बाद अब हमें
यहां पे दो एपीआई क्रिएट करनी है। दो एपीआई कौन-कौन सी? एक एपीआई जो यहां पे फॉर्म हम बनाने वाले हैं। इस फॉर्म के
अंदर इमेज और कैप्शन होगी। इसे सेंड करेगा एक एपीआई पे। तो ये एपीआई क्या करेगी? इमेज और कैप्शन के साथ एक पोस्ट के डेटा
को सेव करेगी हमारे डेटाबेस में। और एक और एपीआई हम क्रिएट करेंगे। जहां पर जितनी भी पोस्ट हमारे डेटाबेस में है उन सारी पोस्ट
के डेटा को रीड किया जाएगा और रिस्पांस में सेंड किया जाएगा। सबसे पहले हम एक पोस्ट को क्रिएट करने वाली एपीआई पे बात
करते हैं। तो देखो अब होगा क्या? हम यहां पे सबसे पहले तो एक्सप्रेस json इस मिडिल वेयर का यूज़ कर लेते हैं। एक्सप्रेस डॉट
json मिडिलवेयर के बाद ऐप डॉट पोस्ट और पोस्ट के बाद हम यहां पे बोलेंगे क्रिएट पोस्ट। हमारी एपीआई का नाम क्या हो गया?
हमारी एपीआई का नाम हो गया स्लश क्रिएट हफन पोस्ट। तो ये हमारी एपीआई का नाम है। फिर इसके बाद हमारे पास आएगा अ सिंक
रिक्वेस्ट। फिर हमारे पास बात करेंगे रिस्पांस और देन हमारे पास रिक्वेस्ट डॉट बॉडी के अंदर जो डेटा आने वाला है उसकी हम
यहां पे बात कर रहे होंगे। बढ़िया। तो पहले अब देखो करना क्या है? रिक्वेस्ट डॉट बॉडी के अंदर मुझे दो चीजें भेजनी रहेंगी।
क्या-क्या? मेरी इमेज की फाइल और कैप्शन। ये दोनों चीजें मुझे भेजनी है। एपीआई हमारी ऑलरेडी रेडी हो चुकी है। तो अब
सर्वर को एक बार स्टार्ट करते हैं। सर्वर हमारा ऑलरेडी स्टार्ट है। पोस्टमैन पे आते हैं। पोस्टमैन ये रहा हमारा पोस्टमैन।
एपीआई जो इधर पे हैं इनको मैं हटा रहा हूं। एक नई एपीआई मेथड यहां पे पोस्ट रखेंगे। यूआरएल जो हम यूज़ कर रहे होंगे
लोकल होस्ट कॉलन 3000 स्लश क्रिएट हफन पोस्ट। हम यहां पे हफन पोस्ट दे देंगे। बॉडी के अंदर आएंगे। रॉ फॉर्मेट की अगर आप
बात करोगे तो रॉ फॉर्मेट में फाइल्स फाइल कैसे दोगे? तो रॉ फॉर्मेट में फाइल नहीं जाती है। फाइल जो तुम्हारी जाती है वो
जाती है फॉर्म डेटा फॉर्मेट में। तो फॉर्म डेटा फॉर्मेट यहां पे सेलेक्ट करो और जो तुम्हारी इमेज होने वाली है इमेज लेट्स से
इमेज नाम की हमारी एक फील्ड रहेगी और यहां पे फाइल सेलेक्ट करना और जो फाइल तुम यहां पे शेयर करना चाह रहे हो वो फाइल तुम यहां
पे इज़ली शेयर कर सकते हो। तो मैं यहां पे आ रहा हूं। इमेजेस नाम का एक फोल्डर है। और इस इमेजेस नाम के फोल्डर में मेरे पास
बहुत सारी फाइल्स ऑलरेडी प्रेजेंट है। आई थिंक अगर मैं इसको दिखाना चाहूं तो हां मेरे पास यहां पे कुछ फाइल्स हैं। लेट्स
से एक ये फाइल है। तो इस पर्टिकुलर इमेज को अभी मैं सेलेक्ट कर रहा हूं। ओपन किया। ओपन करने के बाद ये इमेज यहां पे सेलेक्ट
हुई। और एक हमारे पास होगा यहां पे कैप्शन। तो कैप्शन भी मुझे यहां पे भेजना है। तो कैप्शन अभी के लिए मैं यहां पे
टेस्ट अंडरस्कोर कैप्शन यहां पे शेयर कर रहाऊंगा। बढ़िया। तो टेस्ट कैप्शन हम यहां पे शेयर करेंगे। और अब देखो अब जो होने
वाला है यहां पे इमेज और कैप्शन ये दोनों चीजें मैं यहां पे सेंड करूंगा और ये दोनों चीजें कहां पे जाएंगे? रिक्वेस्ट
डॉट बॉडी के अंदर स्लैश क्रिएट पोस्ट के अंदर ये डेटा यहां से जाने वाला है। तो अब देखो होगा क्या? अब यहां पे होगा कुछ सीन
कि ये जो हमने एपीआई क्रिएट किए हैं स्लैश क्रिएट पोस्ट। अब इसके बाद होगा क्या? स्लैश क्रिएट पोस्ट पे एपीआई हमने क्रिएट
करके रखी है। इस पर्टिकुलर एपीआई पे रिक्वेस्ट आएगी और रिक्वेस्ट के अंदर इमेज और कैप्शन ये दोनों चीज़ यहां पे होने वाली
है। ठीक है? इसे किया सेंड। सेंड करने के बाद अब देखो डेटा हमने भेजा। डेटा हमने भेजा जो हमारी रिक्वेस्ट डॉट बॉडी इसको
कंसोल करवाया। तो कंसोल के अंदर डेटा आना चाहिए। क्या आ रहा है यहां पे? अनडिफाइंड आ रहा
है। अनडिफाइंड क्यों? हमने तो डेटा भेजा था हमने फाइल और साथ ही साथ कैप्शन। ये दोनों चीज़ हमने भेजे थे। तो यहां पे
अनडिफाइंड क्यों आ रहा है? अनडिफाइंड इस वजह से आ रहा है क्योंकि सुनो रिक्वेस्ट डॉट बॉडी में डेटा जो आता था उसको रीडेबल
बनाने के लिए हमने एक मिडिल वेयर यूज़ किया था एक्सप्रेस डॉट json। इसकी वजह से हमारा जो डेटा रीडेबल आ रहा था जो हमारा
एक्सप्रेस का सर्वर है उसको पढ़ पा रहा था। लेकिन अब प्रॉब्लम क्या है? प्रॉब्लम ये है कि अब डेटा रॉ फॉर्मेट में नहीं आ
रहा है। डेटा अब कौन से फॉर्मेट में आ रहा है? फॉर्म डेटा फॉर्मेट में। तो इस वजह से क्योंकि रॉ डेटा फॉर्मेट में डेटा नहीं आ
रहा है। तो ये मिडिल वेयर कुछ नहीं कर सकता। अब क्योंकि हम फॉर्मेट कोई दूसरा यूज़ कर रहे हैं तो हमें यहां पे मिडिल
वेयर भी कोई दूसरा यूज़ करना पड़ेगा। अब कौन सा मिडिल वेयर हम यहां पे यूज़ करते हैं? तो यहां पे हम एक मिडिल वेयर यूज़ करते
हैं। उसका नाम रहता है मल्टर। तो मल्टर मिडिल वेयर हम यहां पे यूज़ करेंगे। तो मल्टर को आपको अलग से इंस्टॉल करना पड़ेगा।
एनपीएमआई मल्टर मल्टर आप यहां पे इंस्टॉल करो। इंस्टॉल करने के बाद कॉस्ट मल्टर आप एक बार यहां पे रिक्वायर
करो मल्टर। और मल्टर रिक्वायर करने के बाद यहां पे आप एक वेरिएबल क्रिएट करोगे। वेरिएबल का नाम रहेगा अपलोड इक्व टू
मल्टर। मल्टर के अंदर देन आप यहां पर बोलोगे स्टोरेज और स्टोरेज में आप यहां पर बोल रहेगे
मल्टर डॉट मेमोरी स्टोरेज मल्टर डॉट मेमोरी स्टोरेज आप यहां पे बोल रहेगे ठीक है तो अब अगर अपन यहां पे आगे बात
करते हैं तो देखो अपलोड वेरिएबल अपलोड वेरिएबल के अंदर हम यहां पे बोलेंगे स्टोरेज स्टोरेज के अंदर मल्टर डॉट मेमोरी
स्टोरेज हम यहां पे ऐड कर रहे होंगे तो अब ये मल्टर का यूज़ क्या है मल्टर का यूज़ यहां पे क्या रहता है और ये मल्टर कर क्या
रहा है? एक्सैक्टली इस पे थोड़ी सी बात करते हैं। देखो होता क्या है? होता ये सीन है कि भाई आप इस बार भेज क्या रहे थे? इस
बार आप भेज रहे हो फाइल। आप नॉर्मल टेक्स्ट नहीं भेज रहे हो। इस बार आप लिटरली एक फाइल भेज रहे हो। तो फाइल को
रीड करने का तरीका भी तो अलग होगा। आप यहां पे टेक्स्ट नहीं भेज रहे पहले की तरह। आप इस बार यहां पे फाइल भेज रहे हो
जो कि टेक्स्ट से तो ऑफ कोर्स अलग ही रहती है। तो फाइल को रीड करने का जो तरीका रहता है वो भी अलग रहता है और फाइल को रीड करने
का तरीका जो एक्सप्रेस को दिया जाता है वो किसकी हेल्प से दिया जा सकता है? मल्टर की हेल्प से। तो मल्टर अभी हम यहां पे सेटअप
कर रहे हैं ताकि जो हमारा एक्सप्रेस का सर्वर है जो फाइल आने वाली है एपीआई पे उस फाइल को रीड वो कर सके। तो यहां पे आप
क्या करते हो? मल्टर को इंस्टॉल करोगे। मल्टर इंस्टॉल करने के बाद आप उसको रिक्वायर करोगे। एक अपलोड नाम का वेरिएबल
क्रिएट करते हो मल्टर स्टोरेज मल्टर डॉट मेमोरी स्टोरेज अब ये मेमोरी स्टोरेज क्या होती है इसके बारे में बात करनी है लेकिन
अभी के लिए बस इतना कोड लिखो फिर इसके बाद जो हमारा अपलोड है अपलोड अपलोड डॉट सिंगल अपलोड डॉट सिंगल आप यहां
पे लिखोगे और अपलोड डॉट सिंगल के अंदर स्ट्रिंग के अंदर आपको एक चीज लिखनी रहेगी क्या सुनो यहां पे जिस की के अंदर आप फाइल
को भेज रहे थे ये जैसे कि हमने यहां पे इमेज लिखा है तो यहां पे जो भी आपकी की रहेगी वही वही सेम की की वैल्यू आप
स्ट्रिंग फॉर्मेट में यहां पे दे रहे हो। बस इतना आपको करना रहेगा। तो अपलोड डॉट सिंगल जिस की जिस नाम से आप यहां अपनी
फाइल को भेज रहे हो वही सेम नेम आपको यहां पे देना रहेगा। और बस इतना आपको करना रहेगा। अब देखो अब अगर रिक्वेस्ट डॉट बॉडी
को तुम कंसोल करवाते हो। सर्वर एक बार स्टार्ट करते हैं। एनपीx नोडेमोन सर्वर डॉट जेs स्टार्ट किया। सर्वर स्टार्ट करने
के बाद अब अगर मैं पोस्टमैन पे आता हूं। इसे किया सेंड। सेंड करने के बाद अब देखो रिक्वेस्ट डॉट बॉडी में एटलीस्ट इस बार
हमारे पास कैप्शन आ रहा है। फाइल अभी भी नहीं है। हां फाइल अभी भी नहीं आ रही। जो हमने इमेज भेजे थे वो इमेज अभी भी हमारे
पास नहीं आ रही है। लेकिन वो आ रही है। इमेज आ रही बॉडी के अंदर नहीं आ रही है। बॉडी के अंदर इमेज नहीं आ रही है। लेकिन
इमेज आ रही है। तो कहां आ रही है? देखो अब यहां पे मैं एक चीज और कंसोल करवाता हूं। कंसोल डॉट log रिक्वेस्ट डॉट फाइल। तो
रिक्वेस्ट डॉट फाइल को जब मैं यहां पे कंसोल करवाऊंगा और फिर से अह रिक्वेस्ट भेजूंगा। देखो इस बार मेरे पास कुछ एडिशनल
डेटा आ रहा है। तो ये तो अपनी रिक्वेस्ट डॉट बॉडी ये अपनी रिक्वेस्ट डॉट बॉडी है और ये है अपनी रिक्वेस्ट डॉट फाइल और
रिक्वेस्ट डॉट फाइल के अंदर मेरे पास इस बार एक्चुअल फाइल आ रही है। तो इधर पे मेरे पास फील्ड का नाम है कि किस फील्ड
में मेरी फाइल आ रही है। जैसे कि मैंने फ्रंट एंड से पोस्टमैन से इमेज के अंदर इमेज फील्ड के अंदर मैंने फाइल भेजा था।
तो वही फील्ड मेरे पास आ जाएगी। ओरिजिनल नेम क्या है फाइल का वो मेरे पास पता चल जाएगा। इनकोडिंग सेवन बिट है। माइट इमेज
टपग है। फिर हमारे पास एक चीज आ रही है जिसको हम क्या बोल रहे हैं? बफर। अब पता है ये बफर क्या है? ये बफर ही तुम्हारा
एक्चुअल फाइल रहती है। ये जो तुम्हारी बफर है यही बफर तुम्हारी एक्चुअल फाइल का डेटा रहती है। यहां पे देखो इस बफर में कुछ
इतनी बाइट्स अभी और हैं जो यहां पे प्रिंट नहीं की गई हैं। वरना ये बहुत बड़ी हो जाती है। तो ये जो तुम्हारा बफर है यही
बफर तुम्हारी एक्चुअल फाइल है। और इसी बफर को हमें अपलोड करना रहेगा। कहां पे? इमेज किट पे। अब इमेज किट पे क्या करना है?
इमेज किट पे ये जो हमारे पास बफर आ रहा है, ये बफर सेटअप करना है। हां यही करना है। तो ये जो बफर है ये क्या है तुम्हारी?
ये बफर तुम्हारी एक्चुअल फाइल का डेटा है। और यही डेटा हमें अपलोड करना है इमेज किट पे। और इमेज किट को अब अपलोड कैसे करना
है? तो अब देखो इमेज किट पे अपलोड करना है ना ये फाइल। तो इमेज किट पे अपलोड करने के लिए हम यहां पर एक चीज बोलेंगे क्या? यहां
पे आप सर्च करो इमेज किट डॉक्स। इमेज किट डॉक सर्च करने के बाद इमेज किट की डॉक्यूमेंटेशन इस पे करना रहेगा क्लिक
क्लिक करने के बाद इमेज किट को आप बहुत अलग-अलग जगह पे इंटीग्रेट कर सकते हो रियर टेंगुरल जावास्क्रिप्ट व्यू नेक्स्ट
Android iOS लेकिन अभी हम किस पे बात करेंगे नोट js पे तो नोट js आप क्लिक करो नोट जेएस पे क्लिक करने के बाद एक गेटअप
का पेज ओपन होगा इस गेट के पेज पे टेबल ऑफ कंटेंट पे अगर आप आओगे तो यहां पे आपको पता चलेगा कि हां भाई टेबल ऑफ कंटेंट कहां
है इसका हम इन्हने अपडेट किया है डॉक्यूमेंटेशन होता है मेरे साथ बहुत बार होता है। जब भी
मैं एक नई डॉक्यूमेंटेशन कुछ भी क्लास में जब पढ़ाता हूं, ऑफलाइन सेंटर पे जब मैं पढ़ाता हूं तो वहां पे भी बहुत सारी चीजें
होती हैं कि भाई मैं कुछ पढ़ाने गया हूं क्योंकि अ होता क्या है कि दो-ती महीने बाद मैं एक टॉपिक पे आ रहा होता हूं वापस
से मल्टीपल बैचेस चलते हैं। तो दो-ती महीने बाद मैं अगर एक टॉपिक पे आता हूं तो बहुत ज्यादा चांसेस रहते हैं कि भाई उसकी
डॉक्यूमेंटेशन ही चेंज हो गई। जैसे कि अभी हुआ है। यहां पे लाइव हुआ है। ये अभी मैं देख रहा हूं कि हां भाई इसकी जो
डॉक्यूमेंटेशन है वो चेंज हो चुकी है। पहले इसमें टेबल ऑफ कंटेंट एंड बहुत सारी चीजें थी लेकिन अब वो टेबल ऑफ कंटेंट
इन्हने हटा दिया है और अब मुझे डायरेक्ट थोड़ा देखना पड़ेगा कि भाई किस तरीके से इन्हने इंप्लीमेंट किया है। तो कोई इशू
नहीं है। एक अच्छा डेवलपर वही होता है जो भाई डॉक्यूमेंटेशन चेंज हो जाए तो उससे डरे ना वो उसको फिगर आउट कर ले। तो देखो
अब होता क्या सीन है कि सबसे पहले हमें यहां पे इंस्टॉल करना है। इंस्टॉल क्या करना है? इमेज किट। इमेज किट की जो हमारी
डॉक्यूमेंटेशन है इससे हम सबसे पहले इमेज किट को यहां पे इंस्टॉल करेंगे। तो इमेज किट हम यहां पे इंस्टॉल कर रहे होंगे। सो
एनपीएम इंस्टॉल @ इमेज किट नोट js तो नोट js हम यहां पे इंस्टॉल कर रहे होंगे और इमेज किट के जो नोट js वाला एसडीके इसे
हमने इंस्टॉल किया इंस्टॉल करने के बाद अब हम यहां पे क्या करेंगे अ यूसेज इसका क्या जा रहा है तो क्लाइंट्स डॉट फाइल ओके
प्राइवेट की दिस इज़ द डिफ़ॉल्ट एंड कैन बी ऑटेड ओके सो अब अगर हम यहां पे बात करते हैं इमेज किट को किस तरीके से सेटअप करना
है सो बढ़िया सो इमेज किट को सेटअप करने के लिए कुछ ये वाला कोड है लेकिन ये वाला कोड काम
नहीं करेगा। प्लस हम कोड कहां लिखने वाले हैं? सुनो। इमेज किट है क्या? पहले इसके रूट पे आते हैं। तो इमेज किट हमारे पास है
क्या? एक जनरिक इसका नाम क्या है? क्लाउड स्टोरेज प्रोवाइडर। कि इमेज किट इन द एंड है क्या? है क्लाउड स्टोरेज प्रोवाइडर
जिसके पास मैं अपनी फाइल को स्टोर करूंगा और फाइल के बदले में ये मुझे एक यूआरएल देगा और उस यूआरएल का देन आगे चलके मैं
यूज़ करने वाला हूं। सिंपल सी कहानी क्लाउड स्टोरेज प्रोवाइडर है। अब सीन है क्या कि हमारे पास क्लाउड स्टोरेज प्रोवाइडर और भी
हैं। कौन-कौन से? हमारे पास एक क्लाउडडी क्लाउडनरी। तो जो हमारा क्लाउडनरी है ये क्या एक क्लाउड स्विच प्रोवाइडर है। अब
मुझे एक चीज यहां पे दिखी मैंने क्लाउडनरी सर्च किया लेकिन इमेज किट यहां पर आया है। क्यों? क्योंकि स्पॉन्सर्ड है। तो इन
लोगों ने टारगेट करके रखा है। मार्केटिंग में बहुत सारी चीजें होती हैं। उसमें ये एक और पार्ट है कि भाई क्लाउडनरी सर्च
करने पे इमेज किट आ रहा है। तो अब जो मिलेगा उसके साथ इंसान चला जाता है। ये एक चीज रहती है। तो क्लाउडनरी हमारे पास एक
और क्लाउड स्टोरेज प्रोवाइडर है। और अब अगर मैं इसका यूज़ करना चाहूं तो इसका यूज़ कर सकता हूं। इसके अलावा जो मेरे पास
AWS S3 है अगर AWS S3 पे भी मैंने इमेज किट निकाल दिया ठीक है तो इमेज किट नहीं है तो जो अपना क्लाउड स्टोरेज प्रोवाइडर
S3 है ये भी मेरे पास एक क्लाउड स्टोरेज प्रोवाइडर है तो मेरे पास क्लाउड स्टोरेज प्रोवाइडर बहुत सारे हैं लेकिन कौन सा मैं
यूज़ करने वाला हूं वो डिपेंड करता है कि भाई प्राइसिंग कैसी है और सर्विस की क्वालिटी कैसी है जैसे कि अभी इमेज किट की
जो प्राइसिंग वो बढ़िया चलती है कोई मुझे हमें तो इशू नहीं दिखता शेरियंस में भी हम इमेज किट अभी के लिए यूज़ करते हैं लेकिन
अभी क्योंकि प्राइसिंग उसकी बढ़िया है कोई इशू नहीं है तो हम उसका यूज़ कर सकते हैं। लेकिन आगे चलके अगर मुझे क्लाउडनरी अच्छी
प्राइसिंग देने लगे और सर्विस अच्छी प्रोवाइड करने लगे तो ऑफ कोर्स मैं क्लाउडनरी की तरफ चला जाऊंगा या AWS S3 की
तरफ मैं जा सकता हूं। जिसकी प्राइसिंग और जिसकी सर्विस अच्छी रहती है मैं उस पर्टिकुलर क्लाउड स्टोरेज प्रोवाइडिंग की
तरफ चला जाता हूं। कोई इशू नहीं है उसमें। भाई ऐसे ही रहता है। सबको अपने पैसे बचाने रहते हैं। सबको अच्छी सर्विस चाहिए रहती
है। तो जो कम प्राइसिंग के साथ अच्छी क्वालिटी की सर्विस दे दे डेवलपर्स उसके साइड जाते हैं। क्यों नहीं जाएंगे भाई? जब
उनकी रनिंग कॉस्ट कम होती है तो हर कंपनी जाती है। ये तो कंपनी है। कंपनी है भाई। कंपनी है जो कंपनी कम प्राइसिंग में अच्छी
क्वालिटी सर्विस प्रोवाइड कर दे। कंपनी उसको सेलेक्ट करती है प्रोजेक्ट में। बस ये ये कहानी रहती है। तो अब देखो सीन क्या
रहता है। ऐसा जरूरी नहीं है कि हम यहां पे हमेशा एज अ क्लाउड स्टोरेज प्रोवाइडर इमेज किट का यूज़ करेंगे। हो सकता है कल परसों
या कुछ टाइम बाद हम क्लाउड इन का यूज़ करने लगे। उसके बाद अगर क्लाउड इन अच्छी सर्विस प्रोवाइड नहीं कर पा रहा है, S3 अच्छी
प्राइसिंग में अच्छी क्वालिटी प्रोवाइड कर पा रहा है तो हम S3 के पास चले जाएंगे। तो फिक्स नहीं रहता कि हम कौन सा क्लाउड
स्टोरेज प्रोवाइडर यूज़ करेंगे। तो अब सीन क्या है क्या? देखो जिन सर्विस को आपका फिक्स नहीं है कि भाई आप परमानेंटली
इन्हीं सर्विस को यूज़ करोगे तो उनका जो कोड रहता है उन सर्विसेस का जो कोड रहता है वो आप अलग फोल्डर में लिखते हो। कौन से
फोल्डर के अंदर? सर्विसेस फोल्डर के अंदर। और यहां पे हम स्टोरेज रिलेटेड बात कर रहे हैं तो स्टोरेज डॉट सर्विस डॉट जेS
स्टोरेज डॉट सर्विस डॉट जेS ये एक पर्टिकुलर फाइल क्रिएट करेंगे और इस फाइल के अंदर इमेज किट का कोड लिखेंगे लेकिन हम
ये फाइल क्यों क्रिएट कर रहे हैं सर्विस फोल्डर के अंदर क्योंकि हमें पता नहीं है कि हम आज तो इमेज किट यूज़ कर रहे हैं।
लेकिन हो सकता है कल हम क्लाउडरी का यूज़ करने लगे। परसों हम S3 का यूज़ करने लगे तो फिक्स नहीं है कि भाई कौन से क्लाउड
स्टोरेज प्रोवाइडर का यूज़ हम यहां पे कर रहे हैं। तो जिस भी क्लाउड स्टोरेज प्रोवाइडर का आप यूज़ करोगे उसका कोड आप
यहां पे लिख रहेगे। जैसे कि मुझे यहां पे इमेज किट यूज़ करना है। तो सबसे पहले मैं यहां पर आऊंगा जो मेरा इमेज किट है इसे
यहां पे करूंगा रिक्वायर। सो कॉन्स्ट इमेज किट इक्व टू रिक्वायर और रिक्वायर के अंदर मैं यहां पे बोलूंगा @ इमेज किट नोट जेएस।
नोट जेएस हम यहां पे करेंगे रिक्वायर और रिक्वायर करने के बाद कॉन्स्ट इमेज किट इमेज किट इक्व
न्यू इमेज किट। और इधर पर आपको कुछ चीजें देनी रहेंगी। क्या-क्या? सबसे पहले आपको आई थिंक यहां पे देना रहेगा
हम। ओके। सो यहां पे मुझे प्राइवेट की देनी है। आई
थिंक प्राइवेट की। क्या मैं इसको एक्सेस कर पा रहा हूं? ठीक
है? रिक्वायर अगर मैं यहां पे करता हूं। सो इमेज किट रिक्वायर डॉक्यूमेंटेशन चेंज हुई है तो थोड़ा सा फर्क पड़ेगा लेकिन कोई
इशू नहीं है उसमें भी। बस मुझे यहां पे क्या क्रेडेंशियल्स के अंदर देना है? कॉन्फिग
प्राइवेट की जो मेरी यहां पे प्राइवेट की रहेगी।
प्राइवेट की एक मेरी जाएगी। प्राइवेट की के बाद मुझे यहां पे पब्लिक की देनी रहेगी। एंड बाकी भी चीज़ मुझे यहां पे देनी
है। तो प्राइवेट की यहां पे आ रहा है। सो लेट्स से प्राइवेट की यहां पे जो होने वाली है प्रोसेस इमेज किट पब्लिक की। ओके
सो आई थिंक मुझे यहां पे सिर्फ प्राइवेट की देनी है। अब ये प्राइवेट की मिलेगी कहां से तुम्हें? तो देखो ये जो प्राइवेट
की तुम्हारी होने वाली है इमेज किट का जहां पे तुमने अकाउंट क्रिएट किया होगा। सो इमेज किट का जो तुमने अकाउंट क्रिएट
किया है। ठीक है? तो इमेज किट का यहां पे तुमने एक अकाउंट क्रिएट किया होगा। यहां पे लेफ्ट
साइड पे थोड़ा स्क्रॉल डाउन करोगे तो यहां पे तुम्हें एक ऑप्शन मिलेगा डेवलपर ऑप्शंस। तो डेवलपर्स ऑप्शन पे आना। यहां
पे जो प्राइवेट की होने वाली है इस प्राइवेट की को तुम कर सकते हो कॉपी। अब कॉपी के साथ एक प्रॉब्लम है कि मुझे इसका
पासवर्ड याद नहीं है। तो मैं इसको हमेशा लॉग इन करता हूं Safari से। सो Safari पे अगर मैं इमेज Kit.iio पे आता हूं। सो ये
रहा Safari। बस मुझे इसका पासवर्ड याद नहीं है। इस वजह से मैं Safari पे इसको लॉग इन करके रखता हूं। ठीक है?
ठीक है? लॉग इन हुआ। लॉग इन होने के बाद अब अगर मैं वापस से आता हूं डेवलपर ऑप्शंस। डेवलपर ऑप्शंस के अंदर ये रहा
मेरे क्रेडेंशियल्स। तो इसे किया हमने शो। ठीक है? सबमिट किया। सबमिट करने के बाद जो मेरी प्राइवेट की है, इसे किया कॉपी और
कॉपी करने के बाद अब प्राइवेट की जो मेरी होने वाली है, इस प्राइवेट की को मैं डायरेक्टली यूज़ यहां पे कर सकता हूं। तो,
यह हो गई मेरी प्राइवेट की। अब प्राइवेट की क्रिएट करने के बाद मैं यहां पे एक फंक्शन क्रिएट करूंगा। फंक्शन कौन सा
रहेगा? फंक्शन मेरा होने वाला है अ सिंक। फंक्शन और फंक्शन का नाम हम यहां पर रखेंगे अपलोड अपलोड
फाइल और अपलोड फाइल हम यहां पे क्रिएट करेंगे फाइल और फाइल के अंदर जो भी मेरी फाइल फाइल नहीं रहेगा एक्चुअल में हम यहां
पे भेजेंगे बफर जिस फाइल को मुझे अपलोड करवाना है उसका बफर मैं यहां पे शेयर कर रहा होगा तो बफर के बाद हमारे पास
डॉक्यूमेंटेशन की अगर मैं बात करता हूं तो डॉक्यूमेंटेशन में क्या बोला है कि भाई क्लाइंट डॉट फाइल्स डॉट अपलोड एफएस दिस
दिस दिस फाइल का नाम दो चीज तो मुझे फाइल और फाइल का नाम ये दोनों चीजें भेजनी है। तो देखो कैसे अपलोड करेंगे। इट्स प्रीटी
सिंपल। बस एक आप यहां पे लिखना रिजल्ट इक्व टू अवेट इमेज किट डॉट क्लाइंट इमेज किट डॉट क्लाइंट एक्सपोर्ट दिस दिस
दिस। ओके। सो इमेज किट एरर दिस दिस दिस। ठीक है? तो इमेज किट हमने यहां पे अपलोड
करवाए। इमेज किट क्लाइंट डॉट अपलोड और अपलोड मेरे पास आ रहा है। अपलोड के बाद
अपलोड के बाद हमारे पास यहां पे एक ऑप्शन रहेगा फाइल का। सो फाइल हम यहां पे बोलेंगे बफर और फिर हमारे पास होगा फाइल
नेम। तो फाइल नेम अभी के लिए हम यहां पे इमेज डॉट जेpg बोल सकते हैं। बढ़िया। और ये जो हमारा एक फंक्शन होने वाला है, इस
फंक्शन को मैं यहां से करूंगा एक्सपोर्ट। सो मॉड्यूल डॉट एक्सपोर्ट अपलोड फाइल फंक्शन को किया हमने एक्सपोर्ट। अब सुनो
यहां पे कर क्या रहे हैं? हम यहां पर एक चीज़ और रिटर्न करवा देते हैं रिटर्न रिजल्ट। तो देखो आप कर क्या रहे हैं? हमने
यहां पे एक फंक्शन क्रिएट किया कि ये फंक्शन हम आर्गुमेंट में क्या मांगेगा? एक बफर मांगेगा। और इस बफर की हेल्प से जो
हमारा बफर है इसी की हेल्प से हम इमेज किट पे हमारी फाइल को अपलोड करेंगे। और इमेज किट हमें जो भी रिजल्ट रिटर्न कर रहा होगा
उसे हम यहां पे रिटर्न करवा देंगे। फंक्शन जहां पे भी कॉल कर रहे होंगे। तो देखो फंक्शन तो हमने क्रिएट किया। इस फंक्शन को
क्रिएट करने के बाद fjs में इस फंक्शन को कर रहा हूं मैं रिक्वायर। सो कॉस्ट अपलोड फाइल इक्व टू रिक्वायर रिक्वायर में
हम यहां पे बोलेंगे कि एसआरसी फोल्डर के अंदर एसआरसी नहीं सर्विस फोल्डर के अंदर जो हमारे पास स्टोरेज सर्विस फाइल है इसे
किया रिक्वायर और रिक्वायर करने के बाद हमारे पास ये जो रिक्वेस्ट डॉट फाइल के अंदर बफर आने वाला है इसका करेंगे यूज़। तो
रिजल्ट इक्व टू अवेट अपलोड फाइल अपलोड फाइल और अपलोड फाइल के अंदर
रिक्वेस्ट डॉट फाइल डॉट बफर हम यहां पे सेलेक्ट कर रहे होंगे और इसके बाद जो भी रिजल्ट आने
वाला है उसे अभी मैं यहां पे कंसोल करवा रहा हूं रिजल्ट को बढ़िया तो फाइल हमारी होने वाली है। सबसे पहले जो हमारा सर्वर
है उसको स्टार्ट करते हैं। सर्वर हमने वापस से स्टार्ट किया। सर्वर स्टार्ट करने के बाद अब अगर मैं पोस्टमैन पे आता हूं तो
पोस्टमैन पे आने के बाद फिर से रिक्वेस्ट हमने सेंड की है और इधर पे अब मेरे पास एक एरर आ रहा है कैन नॉट रीड प्रॉपर्टीज ऑफ़
अनडिफाइंड रीडिंग अपलोड फाइल। ओके। सो जो हमारी डॉक्यूमेंटेशन है उसको हम फॉलो तो कर रहे हैं बट द प्रॉब्लम इज
हम ये काम नहीं कर रहा है। जो क्लाइंट वाला अपना पार्ट है वो यहां पे काम नहीं कर रहा है।
तो स्टोरेज पे क्या मुझे ठीक है। सो ठीक है। प्राइवेट की। ठीक है। प्राइवेट की
हमारे पास आ जाएगी। प्राइवेट की जो अभी हमने यहां पे ऐड किए हैं। ठीक है? तो ये अपनी प्राइवेट की गई।
प्राइवेट की जाने के बाद अब एक बार फिर से हम ट्राई करते हैं। तो कैन नॉट रीड प्रॉपर्टीज ऑफ अपलोड फाइल। ओके? सो अगेन
एक बार सर्वर स्टार्ट करते हैं। डॉक्यूमेंटेशन नहीं है। थोड़ी सी प्रॉब्लम हो गई बट हो जाएगा। मेन कांसेप्ट चेंज
नहीं होते कभी भी। मेन कांसेप्ट कभी चेंज नहीं होते। डॉक्यूमेंटेशन तो चेंज होती रहेगी। तुम्हें भी सीखना ही पड़ेगा इस चीज
से। तो कैन नॉट रीड प्रॉपर्टीज ऑफ़ अनडिफाइंड रीडिंग अपलोड। सो आई थिंक अ हमारे पास हम यहां पे जो इमेज किट का एक
क्लाइंट क्रिएट कर रहे हैं। सो इमेज किट डॉट बिल्ड फाइल्स
डॉट अपलोड। ठीक है? तो इमेज किट डॉट फाइल्स डॉट अपलोड का भी मैं यूज़ कर रहा हूं। हां।
तो क्लाइंट डॉट फाइल्स डॉट अपलोड यही मुझे यूज़ करना था। सो यहां पे बस मैंने नाम थोड़ा चेंज कर दिया। तो क्लाइंट डॉट फाइल्स
की जगह मैंने इमेज किड यूज़ कर लिया। तो इमेज किड डॉट फाइल्स डॉट अपलोड का मैं यहां पे यूज़ कर रहा हूं। और अब अगर हम
यहां पे आगे बढ़ते हैं। सो पोस्टमैन पे आते हैं। सेंड किया। सेंड करने के बाद जो हमारी फाइल रहेगी वो अपलोड होना चालू हो
जाएगी। फाइल अपलोड हुई होगी। और जो भी रिजल्ट आया होगा जो भी यहां पे रिजल्ट आया होगा हमने उसको कंसोल करवाया था। सो apps
में आते हैं। जो भी रिजल्ट आया उसको हमने यहां पे कंसोल करवाया। तो कंसोल करने के बाद योर रिक्वेस्ट रिक्वेस्ट इज़ मिसिंग
फाइल। ओके फाइल मिसिंग है यहां पे। हम योर रिक्वेस्ट इज़ मिसिंग फाइल 400। सो अपलोड फाइल के अंदर हमारा जो बफर होने
वाला है, बफर हम यहां पर भेज रहे हैं। बफर यहां पर आएगा एंड बफर हम एज इट इज यहां पर भेज सकते हैं। सो फाइल हमारे पास जा रही
है। बफर ओके सो एक बार थोड़ा कंसोल करवाते हैं। डोंट वरी डोंट वरी। कोई कोई इशू नहीं है। डेवलपमेंट
का पार्ट होता है। डॉक्यूमेंटेशन चेंज होती रहती हैं। अपडेट होती रहती हैं। थोड़ा सा टाइम लगेगा। मैं समझाऊंगा
तुम्हें। डोंट वरी। कोई प्रॉब्लम नहीं है। ठीक है? बफर यहां पे आया। बफर यहां पे भी आ रहा है। मतलब कि फाइल अपलोड हो रही है।
एंड जो हमारा बाइनरी डाटा मल्टीपार्ट फॉन्ट डेटा दिस दिस दिस बेस 64 स्ट्रिंग। ठीक है। हम
ठीक है। तो टू स्ट्रिंग बेस 64
एक बार फिर से ट्राई करते हैं। बढ़िया। अब फाइल अपलोड हो गई। अब यहां पे फाइल अपलोड हो चुकी है। बढ़िया। तो पिछले
कुछ कांसेप्ट याद हैं। डॉक्यूमेंटेशन यूज़ हो गई तो कोई प्रॉब्लम नहीं थी। कॉन्सेप्ट याद अगर रहते हैं थोड़े बहुत तो काम हो
जाता है। तो देखो पहले यहां पे क्या हो रहा था? मैं डायरेक्ट बफर पास कर रहा था। लेकिन बफर मुझे पता चला कि भई बफर
डायरेक्ट नहीं दिया जा सकता। तो अब मैंने किया क्या? वीएस कोड की एक अच्छी बात होती है कि अगर जिस भी पैरामीटर पे आप यहां पे
हवर करते हो तो वहां पे आपको बताता है कि भाई इस पैरामीटर के क्या-क्या टाइप आप यहां पे हो सकते हैं। जैसे कि बाइनरी डेटा
दे सकते हो। बाइनरी डेटा के बाद एचटीटीपी यूआरएल आप यहां पे डायरेक्टली दे सकते हो या बेस 64 स्ट्रिंग दे सकते हो। तो मेरे
पास बफर आ रहा था। था। उस बफर को मैंने कन्वर्ट कर दिया बेस 64 स्ट्रिंग में। और ये स्ट्रिंग में कन्वर्ट करने के बाद मेरी
इमेज फाइनली अपलोड हुई और जो रिजल्ट मेरे पास आया है वो रिजल्ट मेरे पास कुछ ऐसा है कि एक यूआरएल मेरे पास आ रही है। अगर मैं
इस यूआरएल को ओपन करता हूं। देखो ये यूआरएल यहां पे ओपन हो गई। और ये जो यूआरएल है ये जो यहां मेरे पास यूआरएल है
ये यूआरएल कहां पे है? देखो ये यूआरएल आ रही है मेरे इमेज किट से। ये यूआरएल कहां से आ रही है? इमेज किट पे। सिमिलर वे पे
जो इमेज किट रहता है क्योंकि वो आपका एक क्लाउड स्टोरेज प्रोवाइडर है तो यहां पे दो टाइप के आपको इमेज बना के देता है। एक
आपकी रहती है ओरिजिनल इमेज और दूसरी रहती है आपकी थंबनेल इमेज। थंबनेल इमेज कौन सी रहती है? ये साइज में कम रहती है। मतलब कि
इसको जब आप लोड करने जाओगे तो ये कम टाइम में जल्दी लोड हो जाएगा और इसका साइज भी कम रहता है। ऑफ कोर्स आपको पता चल गया
होगा। ये आपकी ओरिजिनल इमेज है और ये आपकी छोटी उसका छोटा वर्जन है आपके पास यहां पे। तो ये दोनों इमेज आपके पास अवेलेबल
रहते हैं जिनका आप यूज़ कर सकते हो। तो इमेज किट कुछ इस तरीके से यूज़ कर रहा होता है। तो देखो अब हम यहां पे कौन सी स्टोर
करेंगे? हम यहां पे यूआरएल स्टोर करने वाले हैं। तो देखो हमारे पास जो हमारी apps फाइल है इसमें अभी तक हम क्या कर
चुके हैं? हमने इमेज किट पे अकाउंट सेटअप किया था। इमेज किट पे अकाउंट सेटअप करने के बाद प्राइवेट की हेल्प से इमेज किट का
जो एक एसडीके है उसको स्टोरेज डॉट सर्विस फाइल में हमने बनाया था। सर्विस फोल्डर के अंदर स्टोरेज डॉट सर्विस फाइल इसके अंदर
इमेज किट का जो हमारा सेटअप है इमेज किट हमने सेटअप किया था। इसमें बस इंपोर्ट के टाइम पे थोड़ी सी प्रॉब्लम हो रही थी। तो
इंपोर्ट के लिए हमने इमेज किट को एक डीस्ट्रक्चर करके इंपोर्ट किया, रिक्वायर किया और रिक्वायर करने के बाद प्राइवेट की
के साथ हमने सेटअप किया था। अब एक चीज का ध्यान रखना ये प्राइवेट की जिसके पास भी होगी वो तुम्हारे अकाउंट में कुछ भी अपलोड
कर सकता है। जैसे कि अभी जो इमेज मैंने अपलोड किया हूं ये इमेज मेरे मीडिया ये देखो ये इमेज यहां पे दिख आना चालू हो
गई। तो ये प्राइवेट की जिसके पास भी होगी ये वो बंदा तुम्हारे अकाउंट में लिटरली कुछ भी अपलोड कर सकता है और कुछ भी डिलीट
कर सकता है। जितनी भी तुम्हारी स्टोरेज है वो अपलोड कर सकता है। तो अपलोड कर देगा तो प्रॉब्लम क्या है? करने दो अपलोड हमें
हमें क्या? प्रॉब्लम ये है कि वो जो भी अपलोड करेगा उसकी प्राइसिंग तुम्हें पे करनी पड़ती है। 5 GB तक इमेज किट फ्री में
तुम्हारा काम कर देगा। लेकिन 5 GB के बाद जैसे ही तुम्हारा काम होता है। तो अगर मैं यहां पे आता हूं इमेज किट की प्राइसिंग।
इमेज किट प्राइसिंग अगर मैं यहां पर सर्च करता हूं तो प्राइसिंग प्लान्स में इमेज किट की अगर मैं यहां पर बात करता हूं तो
यह है अपने पास इमेज किट का प्राइसिंग प्लान। यहां पे तुम्हें फ्री में कितनी GB की स्टोरेज मिल जाएगी? 3 GB की फ्री
स्टोरेज मिल जाएगी और 20 GB की बैंडविथ मिल जाती है। $9 पर मंथ में अगर तुम यहां पे देखोगे तुम्हें 10 GB की स्टोरेज
मिलेगी और 40 GB की बैंडविथ मिलती है। ये चीज़ यहां पे इतनी सारी अपने पास रहती है। तो जितनी भी तुम स्टोरेज यूज़ करोगे उस
हिसाब से तुम्हें पे करना पड़ता है। तो अगर तुम्हारी प्राइवेट की कहीं पे लीक होती है तो वो तुम्हारे अकाउंट में लिटरली बहुत
जंक भर सकता है। एक बहुत उसने 2ाई 3 GB की मूवी अपलोड कर देगा वो। ये एक प्रॉब्लम रहती है। तो ये प्राइवेट की को हम ऐसे ओपन
नहीं रखते हैं। जितनी भी हमारी प्राइवेट की रहती है इन सभी की को हम अपनी env फाइल के अंदर स्टोर करके रख रहे होते हैं। तो
ईएनb फाइल कैसे सेव करते हैं? देखो एक तुम फाइल क्रिएट करोगे और फाइल के अंदर तुम यहां पे एक वेरिएबल क्रिएट करोगे। वेरिएबल
का नाम क्या रहेगा? इमेज किट प्राइवेट
प्राइवेट की ये तुम क्रिएट कर रहे हो। अगर इमेज किट प्राइवेट की ये तुम्हारा जो वेरिएबल है इसकी वैल्यू यहां पे सेट करोगे
तो यहां पे जाएगा तुम्हारा प्राइवेट की प्राइवेट कीNB फाइल में तुम्हें की नहीं दिखेगी मैंने कुछ एक्सटेंशन डाउनलोड करके
रखा हूं इससे नहीं दिखेगी सिमिलर वे पे जो तुम्हारी डेटाबेस की यूआरएल होती है ये जो तुम्हारे पास डेटाबेस की यूआरएल है इस
डेटाबेस की यूआरएल को भी तुम यहां पे ओपनली कोड में नहीं रखते हो इसे भी तुम फाइल में रखते हो ताकि कोई इसको और ना देख
पाए। अब कैसे ना देख पाए उस पे भी हम बात करेंगे। लेकिन जो हमारी क्रेडेंशियल वाली चीजें रहती हैं उन्हें हम प्राइवेट की जो
भी रहती हैं उनको हम ईएनb फाइल में रख रहे होते हैं ना कि ओपनली कोड में लिखते हैं। तो जो हमारी मोंगो डीबी यूआरएल होगी मोंगo
अंडरs urri इसे भी हम सेव करेंगे हमारी env फाइल के अंदर। अब सुनो तुमने फाइल के अंदर दो वेरिएबल क्रिएट किए। वेरिएबल का
नाम क्या है? इमेज किट प्राइवेट की और मोंगो यूआरआई। अब इन दोनों वेरिएबल को यूज़ करने के लिए कहां यूज़ करना है? एक मुझे
यूज़ करना है अपने डीबी फोल्डर के अंदर। एक तो मुझे यहां पर यूज़ करना है डीवी फोल्डर के अंदर DB.S फाइल में और एक मुझे यहां पर
यूज़ करना है स्टोरेज सर्विस फाइल के अंदर। तो अब यह कैसे यूज़ करते हैं? तो सुनो ENV फाइल के अंदर तुम वेरिएबल्स तो क्रिएट
करते हो लेकिन इन वेरिएबल्स को यूज़ करने के लिए तुम्हें यहां पे एक पैकेज की जरूरत और पड़ती है। पैकेज का नाम क्या रहता है?
npmi.v तो ईएमवी पैकेज तुम्हें यहां पे यूज़ करना रहेगा। अभी प्रॉब्लम सुनो। अगर तुम यहां
पे ईएनb पैकेज यूज़ करना चाह रहे हो और अगर तुम इंपोर्ट स्टेटमेंट यूज़ कर रहे हो मुझे फॉलो नहीं कर रहे हो। अगर तुम इंपोर्ट यूज़
स्टेटमेंट यूज़ कर रहे हो तो डॉट ENV उस तरीके से काम नहीं करेगी। वह तुम्हें खुद से फिगर आउट करना पड़ेगा। रिक्वायर के साथ
बहुत अच्छे से काम कर जाएगी। तो रिक्वायर यूज़ कर लो या फिगर आउट करो कि भाई किस तरीके से इंपोर्ट स्टेटमेंट पे ये काम कर
सकती है। तो Eenv पैकेज तुमने इंस्टॉल किया होगा। अब यहां पे रिक्वायर करो। रिक्वायर करना रहेगा तुम्हें ENV और ENV
के बाद डॉट कॉन्फ़िग फाइल को लिख रहेगे। तो इससे होता क्या है? ये पैकेज हमने इंस्टॉल क्यों किया? और ENV डॉट कॉन्फिग फाइल हम
यहां पे लिखे क्यों रहे हैं? तो सिंपल सी कहानी है कि भाई यहां पे जब तुम ये लाइन लिखते हो को रिक्वायर किया और डॉट कॉन्फिग
कॉल करते हो तो जोv फाइल के अंदर जो तुमने वेरिएबल्स क्रिएट किए हो इनकी जो वैल्यूज़ होगी तभी तुम इनको एक्सेस कर सकते हो।
उसके बिना इनकी जो वैल्यूज़ हैं जो इनकी कीज़ हैं इन्हें तुम एक्सेस नहीं कर पाओगे। तो देखो अगर मुझे इनको एक्सेस करना है तो
क्या लिखना पड़ेगा? मैं यहां पे लिखूंगा प्रोसेस डॉटV डॉट मोंगo अंडरs uri ये यहां पे लिख
रहाऊंगा और सिमिलर वे पे स्टोरेज सर्विस के अंदर मुझे यहां पर लिखूंगा मैं प्रोसेस डॉटV इमेज गेट प्राइवेट की ये यहां पे लिख
रहा होगा तो ये यहां पे लिखना रहेगा इमेज गेट प्राइवेट की यहां पे लिखना रहेगा प्रोसेस जो वेरिएबल तुम यूज़ करना चाहते हो
डॉट लगा के उस वेरिएबल का नाम तुम्हें यहां पे देना रहेगा। इस तरीके से एक्सेस किया जाता है। तो ये एक और अपनी बात रहती
है जो हम प्रोडक्शन लेवल पे कर रहे होते हैं। हम कभी भी क्रेडेंशियल को ओपनली कोड में नहीं रखते। हम हमेशा उसको फाइल के
अंदर सेव कर रहे होते हैं। बढ़िया है। अब वापस आते हैं हमारी एपीआई पे। तो एपीआई में अभी तक हम क्या कर चुके हैं? हम अपनी
इमेज फाइल को अपलोड कर चुके हैं हमारे इमेज किट पे। और इमेज किट पे अपलोड करने के बाद उसकी यूआरएल मुझे मिल चुकी है। अब
उस यूआरएल को मैं सेव करूंगा मेरे डेटाबेस के अंदर। और डेटाबेस के अंदर सेव करने के लिए मैंने यहां पर पोस्ट मॉडल ऑलरेडी
क्रिएट करके रखा हूं। तो रिक्वायर रिक्वायर हम यहां पे बोलेंगे क्या कि भाई मॉडल्स फोल्डर के अंदर हम यहां पे
रिक्वायर करेंगे पोस्ट मॉडल और पोस्ट मॉडल रिक्वायर करने के बाद हम यहां पर सेव करेंगे एक पोस्ट तो कॉस्ट पोस्ट इक्व टू
अवेट पोस्ट मॉडल पोस्ट मॉडल डॉट क्रिएट और क्रिएट के अंदर हम
यहां पे बोलेंगे कि जो इमेज आपकी आ रही है वो इमेज आप सेव करोगे रिजल्ट डॉट urlल और जो आपका कैप्शन होने वाला है जो
रिक्वेस्ट डॉट बॉडी से आएगा वो कैप्शन आप यहां पे सेव करोगे और देन हम यहां पे रिटर्न करवाएंगे रिटर्न रिस्पांस डॉट
स्टेटस 2001 2001 हम यहां पे स्टेटस कोड जाएगा 2001 स्टेटस कोड क्यों जाएगा वो याद करो मैंने
तुम्हें बताया था 2001 स्टेटस कोड क्यों जा रहा है क्योंकि एक नया रिसोर्स हम यहां पे क्रिएट कर रहे हैं इस वजह से यहां पे
2001 स्टेटस कोड यहां पे जा रहा है। अब मैसेज हम यहां पे भेजेंगे। मैसेज क्या जाएगा? मैसेज हमारा जाएगा
पोस्ट क्रिएटेड सक्सेसफुली और साथ ही साथ जो हमने पोस्ट क्रिएट किए हैं इस पोस्ट का डेटा हम यहां
पे शेयर कर रहे होंगे। बढ़िया। तो एक एपीआई आपने क्रिएट कर दिया। एपीआई में हो क्या रहा है कि भाई इमेज और कैप्शन आपके
पास आएगा। इमेज को आप अपलोड करोगे इमेज किट पे। इमेज किट बदले में एक यूआरएल रिटर्न करेगी। उस यूआरएल को आप सेव करोगे
अपने डेटाबेस के अंदर और कैप्शन आप सेव करोगे डेटाबेस के अंदर। जो पोस्ट फाइनली आपकी सेव होगी उस पोस्ट को आप रिटर्न करवा
दोगे और डेटाबेस के अंदर सेव भी कर लोगे। तो ये एपीआई आपकी फाइनली क्रिएट हुई। इस एपीआई पे अगर मैं आता हूं। सो फॉर्म डेटा
फॉर्म डेटा के अंदर हमारे पास इमेज है। लेट्स से इमेज मैं चेंज कर रहा हूं। न्यू इमेज हम इस पर्टिकुलर इमेज के साथ जा रहे
हैं। इसे किया हमने यहां पे ओपन। ओपन करने के बाद दो फाइल नहीं एक सिंगल ही फाइल मैं रखूंगा। एक सिंगल फाइल हम अपलोड कर रहे
हैं। टेक्स्ट कैप्शन अभी के लिए रखने वाले हैं। सेंड किया। सेंड करने के बाद जो हमारी इमेज आ सर्वर बंद है npx
नोमोन सर्वरjs सर्वर हमने स्टार्ट किया सर्वर स्टार्ट करने के बाद अब अगर मैं इसको सेंड
करता हूं तो जो मेरी इमेज है वो पहले इमेज गेट पे अपलोड होगी एक लिंक आएगी उस लिंक के साथ हम हमारे डेटाबेस के अंदर सेव
करेंगे अब इमेज की लिंक ये रही इसे अगर मैं ओपन करता हूं तो ये रही इमेज और ये कहां पे सेव हुई है हमारी इमेज गेट पे
इमेज किट पे ये सेव हुई है और जो इसका कैप्शन होना चाहिए वो कैप्शन है अच्छा तो क्या ये इमेज डेटाबेस में सेव हो चुकी है
हां हो चुकी है अगर रीलोड करोगे तो रीलोड करने के बाद प्रोजेक्ट वन एक मेरे पास डेटाबेस आ रहा है। इसे अगर मैं ओपन करता
हूं तो पोस्ट के अंदर ये रही मेरी इमेज की यूआरएल और ये रहा मेरा कैप्शन। तो एक पोस्ट अब हम फाइनली क्रिएट कर चुके हैं
हमारे डेटाबेस के अंदर और डेटाबेस के अंदर पोस्ट क्रिएट करने के बाद उसका कैप्शन ये सारी चीजें क्रिएट हो चुकी हैं। और हम
एक्चुअल जो हमारी इमेज की फाइल है उसे कहां पे सेव कर रहे हैं? उसे हम सेव करके रख रहे हैं हमारे इमेज किट के अंदर। तो
इमेज कट [गला साफ़ करने की आवाज़] को एक बार आ के देखोगे तो ये रही तुम्हारी फाइल और इस फाइल की यूआरएल तुमने कहां पे सेव
करी तुम्हारे डेटाबेस के अंदर तो यही अपना रहता है। हम अपनी फाइल को क्लाउड स्टोरेज प्रोवाइडर के पास रखते हैं और फाइल की
यूआरएल हम डेटाबेस के अंदर सेव कर रहे होते हैं। तो आई होप आपको ये चीज समझ में आ रही होगी। अब इसके बाद हम यहां पे एक
यूआरएल और क्रिएट करेंगे। यूआरएल कौन सी रहेगी? या एक एपीआई हम और क्रिएट करेंगे app डॉट गेट। अच्छा गेट मेथड है तो इसके
इसमें क्या होगा? इसमें होगा ये कि जितने भी डेटा या बोल सकते हो जितने भी पोस्ट तुमने क्रिएट करके रखे होंगे वो सारा का
सारा हम रिटर्न करवाएंगे हमारे इस पर्टिकुलर एपीआई में। मतलब क्या? मतलब ये कि सर्वर से डेटा जा रहा होगा फ्रंट एंड
पे। जब हम गेट मेथड का यूज़ करते हैं तो सर्वर से डेटा फ्रंट एंड पे जा रहा होता है।
क्या तुम सोए हो? तुमसे बात कर रहा हूं अभी मैं। क्या तुम सो रहे हो? उठ जाओ। उठ जाओ। उठ जाओ। उठ
जाओ। उठ जाओ। जल्दी जल्दी जल्दी जल्दी उठ जाओ क्योंकि हमारा बैक एंड कंप्लीट होने वाला है। बैक एंड कंप्लीट होते ही हमारी
दो एपीआई यहां पे बन जाएंगी और इन दोनों को हमें इंटीग्रेट करना रहेगा हमारे फ्रंट एंड पे। तो सो रहे थे तो एक बार उठ जाओ और
जितना कोड अभी तक मैंने लिखा हूं वीडियो यहीं पे पॉज करो और इतना कोड पूरा इंप्लीमेंट करके देखो कि तुम्हारी फाइल
इमेज किट पे सेव हो रही है या नहीं हो रही है। तुम्हें करना पड़ेगा। अगर तुम ये सोच रहे हो कि भाई मुझे समझ में आ गया और मैं
इसको नहीं करूंगा बाद में करूंगा तो नहीं। तुम अभी करोगे। तुम अभी अगर तुमने इसको नहीं किया बाद में भूल जाओगे। अभी करो।
जैसे ही इंप्लीमेंट कर लोगे इमेज किट पे जैसे ही फाइल पहुंच जाएगी, उसकी यूआरएल जैसे ही डेटाबेस पे पहुंच जाएगी, तुम उसके
बाद आगे बढ़ोगे। उसके पहले आगे नहीं बढ़ोगे। अगर तुम ऐसा करोगे तभी तुम्हारे से चीजें बन पाएंगी। मुझे पता है यार मुझे
पता है। तुमने अगर यहां पे मक्कारी की और थोड़ा सोच लिया कि नहीं यार मेरे को समझ में आ रहा है मैं इसको बाद में कर लूंगा।
नहीं बैक एंड ऐसे काम नहीं करता। बैक एंड जब तुम पढ़ रहे होते तो जो भी तुम्हारे पास चीजें अभी समझो उसको तुरंत इंप्लीमेंट
करना रहता है। मैं यहां पे समवेयर अराउंड ऑफलाइन सेंटर में अच्छे खासे नंबर ऑफ स्टूडेंट्स के बैच
पढ़ा रहा होता हूं। अच्छे खासे नंबर के स्टूडेंट्स के बैच पढ़ाता हूं। पहले जो बैच हम पढ़ाते थे वो समवेयर अराउंड 120
150 की एक स्ट्रेंट रहती थी एक बैच के अंदर। अब उसको हम हाफ कर रहे हैं। समवेयर अराउंड 60 पे लेकर आ रहे हैं। 50-60 पे हम
उसको लेकर आएंगे। अब जो नए बैच चालू होंगे ऑफलाइन सेंटर पे। लेकिन पहले जब मैं 120 स्टूडेंट की स्ट्रेंथ पे पढ़ाता था तो
मुझे पता था। मैं सबसे बोलता हूं कि भाई आप जो भी पढ़ रहे हो उसकी प्रैक्टिस करो। आप उसकी प्रैक्टिस करो। सब नहीं करते हैं।
तुम्हें पता है कि भाई 120 स्टूडेंट से अगर मैं बोलूंगा तो 120 के 120 स्टूडेंट मेरी बात नहीं मानने वाले। उनमें से कोई
ना कोई तो होगा कि उसकी कुछ प्रॉब्लम होगी या वो खुद से मक्कारी कर रहा है कि भाई वो मेरी बात ना माने। अब जो बात नहीं मानता
था किसी भी कारण से कि उसकी कोई कुछ प्रॉब्लम है या वो उसकी इच्छा नहीं हो रही वो आलसी खा रहा है मक्कारी कर रहा है कुछ
भी कारण हो जो मेरी बात नहीं मानता था और जो खुद से प्रैक्टिस नहीं करता था लास्ट तक वो आता भी नहीं था लास्ट तक उसको बैक
एंड आ भी नहीं पाता था और जो मेरी बात मानते थे जो भाई प्रैक्टिस कर पा रहे हैं उनका काम हो भी जाता था उनको बैक एंड आता
था मुझे तो पता है ना पूरा बैच मैं पढ़ाया हूं मुझे तो पता रहता ना कि हां भाई किसने मेरी बात मानी किसने मेरी बात नहीं मानी
और किसने आखिरी में बैक एंड आ गया और किसको आखिरी में बैक एंड नहीं आया तो मुझे पता है और मैं क्या नहीं चाह रहा? मैं यह
नहीं चाह रहा कि भाई तुमने इतना वीडियो देखा और इतना वीडियो देखने के बाद तुम्हें बैक एंड ना आए। यह मैं बिल्कुल नहीं चाह
रहा हूं। मैं चाह रहा हूं कि भाई तुम ये तुमने यह बैक एंड का वीडियो देखा और तुम्हें पूरा बैक एंड आ जाए। यह मैं चाह
रहा हूं यार। तो बस जो मैं बोल रहा हूं वो तुम करो। तुम्हें बैक एंड आ जाएगा। बस जो मैं बोल रहा हूं वो करो। जो मैं इधर पे
पढ़ा रहा हूं उसकी प्रैक्टिस करो तुम। तुम्हें बैक एंड आ जाएगा। ये मेरी गारंटी है। जो मैं बोल रहा हूं, जो मैं प्रैक्टिस
करने के लिए बोल रहा हूं, उसकी प्रैक्टिस करो। तुम्हें बैक एंड आ जाएगा यार। आ जाएगा। ट्रस्ट मी आ जाएगा। अब आगे बढ़ते
हैं। एक एपीआई हम क्रिएट करेंगे। इस एपीआई पे होगा क्या? जितनी भी पोस्ट हमने क्रिएट किए होंगे, उन सभी पोस्ट का डेट हमें लेकर
आना है। तो पोस्ट्स इक्व टू अवेट हम यहां पे पोस्ट मॉडल डॉट फाइंड का यूज़ करेंगे। डॉटलीन और एक्सप्लेन एग्जीक्यूट ये क्या
होता है? इन पे हम जब ऑप्टिमाइजेशन की बात करेंगे उस पे बात कर रहे होंगे। अभी के लिए डॉट फाइंड वन फाइंड का यूज़ करेंगे।
रिटर्न इस मैसेज अपना जाएगा। पोस्ट सक्सेसफुली और पोस्ट का डेट हम यहां पर रिस्पांस में सेंड कर रहे होंगे। तो देखो
ये एपीआई हमने क्रिएट कर ली। सर्वर हमारा स्टार्ट हो रहा है। वापस आते हैं पोस्टमैन पे। एक और एपीआई क्रिएट करेंगे। मेथड गेट
रहेगी लोकल लोकल पोस्ट कॉलन 3000 स्लैश नोट्स। इसे किया हमने सेंड। सेंड
करने के बाद यहां पे आएगा कैन नॉट गेट स्लैश नोट्स। नोट्स नहीं है। हमने यहां पे पोस्ट क्रिएट करके रखा है। इसे किया सेंड।
तो सेंड करने के बाद जितनी भी पोस्ट मैंने अपने डेटाबेस के अंदर सेव करके रखी होंगे वो सारी आ जाएंगी। एक पोस्ट और क्रिएट
करते हैं। चलो एक पोस्ट हम यहां पे और क्रिएट करते हैं। फाइल मैं चेंज कर रहा हूं। लेट्स से दिस वन। यह हमारे पास एक और
इमेज है। इसे हमने सेव किया। और जो कैप्शन है, कैप्शन की वैल्यू मैं चेंज कर रहा हूं। अंडरस्कोर टू के साथ इसे
किया सेंड। सेंड करने के बाद हमारा ये एक पोस्ट और क्रिएट होगी। और पोस्ट क्रिएट होने के बाद अब अगर मैं फैच करता हूं तो
अब मेरे पास यहां पे दो पोस्ट हो चुके हैं। बढ़िया है। अगर मैं इस यूआरएल को एक्सेस करता हूं तो जो मेरी इमेज है उस
इमेज को मैं यहां पे एक्सेस कर पाऊंगा। बढ़िया है। अच्छा है। तो अब हमारे पास दोनों एपीआई हम क्रिएट कर चुके हैं। कहीं
एक एपीआई से मैं अपनी पोस्ट को क्रिएट कर सकता हूं। दूसरी एपीआई से जितनी पोस्ट मैंने क्रिएट किया होगा वो सारी की सारी
पोस्ट को मैं फैच कर सकता हूं। दोनों एपीआई अब मैं यहां पे क्रिएट कर चुका हूं। बढ़िया है। तो जो हमारा बैक एंड है जो
हमारा बैक एंड है ये बैक एंड हमारा कंप्लीट होता है। अब हम यहां पे डिज़ाइन करेंगे इसका फ्रंट एंड। फ्रंट एंड क्रिएट
करने के बाद हम इधर पे हमें दोनों चीज को फ्रंट एंड और बैक एंड को दोनों को इंटीग्रेट करना रहेगा। अब तुम्हारे मन में
एक छोटा सा डाउट आ रहा होगा। क्या हमें पहले बैक एंड बनाना रहता है? उसके बाद ही हम फ्रंट एंड बनाते हैं? क्या हम पहले
फ्रंट एंड बना सकते हैं? उसके बाद बैक एंड बना सकते हैं? तो इसका आंसर काफी सिंपल है। एक लाइन में बैक एंड पहले ही बनेगा।
उसके बाद फ्रंट एंड बनता है। बस जो तुम्हारी एक आदत लग चुकी है पहले मैं फ्रंट एंड बनाऊंगा उसके बाद में बैक एंड
बनाऊंगा। गलत आदत है। वो आदत गलत है। पहले तुम बैक एंड बनाते हो उसके बाद तुम फ्रंट एंड बनाते हो। यही इंडस्ट्री की बातें हैं
और यही काम करते हैं। पहले बैक एंड ही बनेगा और उसके बाद फ्रंट एंड बनता है। जब तक बैक एंड बन रहा होता है तब तक
डिजाइनिंग का कांसेप्ट चलता है कि भाई टाइम वेस्ट किसी का नहीं होता। जब तक बैक एंड डेवलपर काम कर रहा होगा। बैक एंड वो
बना रहा होगा तब तक डिज़ाइनर अपना काम करता है कि भाई UI कैसे दिखेगी? UX कैसा होने वाला है? ये डिज़ाइनर का काम रहता है। जब
तक बैक एंड बनेगा तब तक डिज़ाइन होती है। डिज़ाइन बनते ही बैक एंड बनते ही फ्रंट एंड पे काम आता है। और फ्रंट एंड के बाद फिर
इंटीग्रेशन का काम आता है। इंटीग्रेशन फ्रंट एंड डेवलपर, बैक एंड डेवलपर कोई भी कर सकता है। लेकिन अधिकतर जो इसने फ्रंट
एंड बनाया है वो इंटीग्रेट करता है। बस बैक एंड डेवलपर जो आपका रहेगा वो आपको एपीआई की डॉक्यूमेंटेशन बना के देता है कि
हां भाई ये एपीआई है। ये एपीआई ये काम करती है। ये एपीआई इस टाइप से डाटा मांगेगी। ये एपीआई इतना डाटा रिटर्न
करेंगी। बस ये डॉक्यूमेंटेशन बना के दे देता है। फ्रंट एंड डेवलपर उनको पढ़ते-पढ़ते उनको इंटीग्रेट करता है। ये
कहानी यहां पे रहती है। तो अब अब अगर हमारा देखें हमारे पास जो दो एपीआई हमें बैक एंड पे डेवलप करनी थी वो दोनों एपीआई
हम डेवलप कर चुके हैं। अब इसके बाद हम यहां पे फ्रंट एंड बनाना चालू करेंगे। चलो बैक एंड हम यहां पे क्रिएट कर चुके थे। दो
एपीआई हमने बैक एंड पे क्रिएट किए थे जिसमें इमेज किट सेटअप हम ऑलरेडी कर चुके थे। अब हमें करना क्या है? हमें यहां पे
फ्रंट एंड क्रिएट करना है। फ्रंट एंड पे दो पेज हमें यहां पे क्रिएट करने रहेंगे। रिएक्ट राउटर डाउन की हेल्प से दो पेज
अलग-अलग क्रिएट करेंगे। फिर उसके बाद एक पेज जहां पे हम इमेज सेलेक्ट करने के बाद कैप्शन लिखने के बाद एक पोस्ट को क्रिएट
कर पाएं। एक ये वाला यूआई जाएगा और दूसरे पेज पे जितनी भी पोस्ट हमने क्रिएट की वो सारी की सारी पोस्ट हम वहां पे देख सकें।
ये आपका दूसरा पेज यहां पे जाने वाला है। तो रिएक्ट के हेल्प से हम इसको क्रिएट करेंगे। स्क्रीन शेयर मैं करता हूं। देखो
ये जो अभी तुम पूरा कोड देख रहे हो ये पूरा कोड है अपने बैक एंड का। तो बैक एंड का जो कोड है एक नया फोल्डर मैं क्रिएट कर
रहा हूं। लेट्स से हमने यहां पर एक नया फोल्डर क्रिएट किया। फोल्डर का नाम है बैक एंड और बैक एंड फोल्डर के अंदर जितना भी
अभी मेरा ये पूरा जितनी भी फाइल्स हैं इन सारी फाइल्स को मैं मूव कर रहा हूं बैक एंड फोल्डर के अंदर। बढ़िया तो बैक एंड
फोल्डर के अंदर मूव किया और मूव करने के बाद एक और मैं फोल्डर क्रिएट करूंगा। फोल्डर का नाम है फ्रंट एंड और फ्रंट एंड
फोल्डर के अंदर अब अगर मैं यहां पे चलता हूं। सो इसे किया यहां पर क्रिएट तो सीडी हम यहां पर पहले चलते हैं बैक एंड फोल्डर
के अंदर और एनपीx नोडम सर्वर डॉट जेS सर्वर जेs को मतलब जो हमारा सर्वर है उसको किया स्टार्ट एक नया टर्मिनल मैं क्रिएट
करूंगा नए टर्मिनल के बाद हम यहां पे जाएंगे सीडी फ्रंट एंड फोल्डर के अंदर और फ्रंट एंड फोल्डर के अंदर मैं यहां पे
बोलूंगा एनपीएम क्रिएट वाइट @ लेटेस्ट @ लेटेस्ट के बाद वी कैन यूज़ यूज़ और डॉट। ठीक है? सो अगर तुम्हें रिएक्ट नहीं भी
आती कोई इशू नहीं है। बहुत ज्यादा हैवी लेवल पे यूज़ नहीं करने वाला हूं। जितना मैं यहां पे यूज़ करूंगा बस उतना आप फॉलो
करते रहना। बहुत ज्यादा हैवी लेवल पे रिएक्ट मैं यूज़ नहीं करूंगा। जितना भी यूज़ करूंगा वो भी तुम्हें क्लियर हो रहा होगा।
बहुत ज्यादा घबराना मत। ज्यादा अगर प्रॉब्लम हो बस कोड जो मैं लिख रहाऊंगा उस कोड को तुम फॉलो करते रहना। रिएक्ट
मैंडेटरी नहीं है। बस किस तरीके से इंटीग्रेट करते हैं उसका एक आईडिया मुझे देना है। तो बस उसके लिए तुम ताकि देख लो
ताकि अगर तुम्हें बैक एंड बना भी लिया और उसको अगर इंटीग्रेट करना है फ्रंट एंड के साथ तो एटलीस्ट तुम उसको इंटीग्रेट कर
पाओ। तो अगर तुम्हें रिएक्ट बहुत अच्छे से आती भी नहीं है तो भी एक बार इस वीडियो को देख लेना। 1.5x पे करके देख लेना। लेकिन
एक बार एटलीस्ट ये वाला पार्ट भी देख लेना। तो रिएक्ट फिर हम यहां पे जावास्क्रिप्ट का यूज़ करेंगे।
जावास्क्रिप्ट यूज़ करने के बाद हम नो इंस्टॉल एनपीएम स्टार्ट नाउ यस ठीक है तो अब हम यहां पे देखते हैं जो हमारा RT वाइट
ऐप है ये क्रिएट होगा क्रिएट होने के बाद देन ये स्टार्ट होगा स्टार्ट होने के लिए थोड़ा सा वेट करते हैं सो जो हमारा
पर्टिकुलर RT एप्लीकेशन है अगर मैं इसे ओपन करता हूं सो लोकल होस्ट पे ये ओपन होता है ब्राउज़र दिस वन ब्रेव ब्राउज़र
मेरा ये रहा इसे किया हमने ओपन तो ओपन करने के बाद कुछ इस तरीके का मुझे देखने के लिए मिलता है मैं इसको डेस्कटॉप व्यू
पे क्रिएट नहीं करने वाला इसे मैं क्रिएट करूंगा मेरे मोबाइल व्यू पे। सो अब अगर मैं यहां पर आता हूं
फिट टू विंडो ये एक पर्टिकुलर यूआई मुझे देखने के लिए मिल जाएगा। अब देखो करना क्या है? यहां पे रिएक्ट का जो भी हमारा
कोड रहता है इसे सेटअप करते हैं। सो लेट्स से हमें यहां पे एक पैकेज की जरूरत पड़ेगी। पैकेज का नाम है एनपीएमआई
रिएक्ट राउटर। सो रिएक्ट राउटर यह एक पर्टिकुलर पैकेज हम इंस्टॉल करेंगे। यह पैकेज करता क्या है?
अलग-अलग पेजेस या अलग-अलग राउट्स क्रिएट करने में हमारी मदद कर रहा होता है। तो इसे किया क्लियर और एनपीएम रन डेव से इसे
करते हैं वापस से स्टार्ट। अच्छा यहां पे एक पैकेज की जरूरत मुझे और पड़ेगी अ रिक्वेस्ट करने के लिए लेकिन उसे हम
इंस्टॉल करेंगे जब हम इंटीग्रेशन की बात कर रहे होंगे अभी के लिए वापस से इसे स्टार्ट करते हैं। अब देखो sआरसी फोल्डर
के अंदर जो तुम्हारे पास appcss फाइल है इस फाइल को तुम पूरा क्लियर कर सकते हो। app.j6x पे अगर तुम आओगे इसको पूरा कोड
क्लियर कर दो और यहां पे लिखना रिएक्ट फंक्शनल कंपोनेंट एक्सपोर्ट इतना कोड तुम्हें यहां पे वापस से लिखना रहेगा। अगर
तुम्हारे पास रिएक्ट के स्निपेट्स हैं तो रिएक्ट के स्निपिड तुम यूज़ कर सकते हो। वरना ये जो पूरा कोड है इस कोड को तुम
मैनुअली भी लिख सकते हो। बढ़िया। रिएक्ट स्निपेट क्या है? एक एक्सटेंशन रहता है। एक एक्सटेंशन होता है। अ लेट्स से दिस वन।
तो हमारे पास एक एक्सटेंशन होता है जिसका नाम होता है रिएक्ट स्निपेट। सो अगर मैं तुम्हें यहां पे दिखाता हूं ES7 प्लस
रिएक्ट रिडक्स रिडक्ट नेटिव स्निपेट तो ये पर्टिकुलर एक्सटेंशन तुम डाउनलोड कर सकते हो। इससे ये जो कोड है ये बहुत ईजीली
लिखाया जा सकता है। इतना कोड लिखा है। इंडेक्स डॉट CSS में आते हैं। इसे हमने कट किया। जो हमारी एक बेसिक बोईलर प्लेट होती
है CSS की वो हमने ऐड की है। इसमें एक कंपोनेंट मैं और ऐड करूंगा। दैट इज़ रूट। तो रूट कंपोनेंट हमने यहां पे ऐड किया।
रूट कंपोनेंट ऐड करने के बाद मेन डॉटs में इतना कोड हम यहां पे बहुत ईजीली लिख सकते हैं। अब देखो हम यहां पे करेंगे क्या? जो
रिएक्ट राउटर डोम वाला पार्ट है उसे उसके कुछ कंपोनेंट हमें यहां पे रिक्वायर करने हैं। क्या देखो हम यहां पे फ्रॉम rक्ट
राउटर dom क्या-क्या रिक्वायर करने वाले हैं? हम यहां पे रिक्वायर करेंगे ब्राउज़र राउटर
एज राउटर एंड हमें यहां पे जरूरत पड़ेगी राउट्स की और हमें यहां पे जरूरत पड़ेगी राउट की। ठीक
है? तो कुछ इतनी चीजों की हमें यहां पे जरूरत पड़ने वाली है। तो राउटर एंड आई थिंक इतने में अपना काम हो जाएगा। तो राउटर
राउट्स एंड राउट। तो अब देखो अब हम यहां पे क्या कर रहे हैं? सिंपल कुछ एप्लीकेशन या बोल सकते हो कुछ राउट हम यहां पे
क्रिएट किए। किस तरीके से कि देखो अगर मैं स्लैश एपीआई पे जाता हूं। अब अगर मैं अपने फ्रंट एंड पे जो कि चल रहा है लोकल होस्ट
कॉलन 5173 पे। सो 5173 पे मेरा रिएक्ट की एप्लीकेशन चल रही है। तो अगर मैं आता हूं ब्राउज़र पे। ब्राउज़र पे आने के बाद अगर
मैं इधर पे एंटर करता हूं लोकल होस्ट कॉलन 5173 तो मुझे यहां पे क्या देखने के लिए मिल जाएगा? हेलो वर्ल्ड
देखने के लिए मिल जाएगा। बढ़िया। तो अब देखो सिमिलर वे पे अगर मैं यहां पे एक एपीआई और क्रिएट करता हूं। एपीआई नहीं एक
राउट मैं क्रिएट करता हूं। लेट्स से दिस वन विल बी अबाउट। तो अगर मैं यहां पे अबाउट क्रिएट करता हूं। यहां पे आएगा
अबाउट अस। तो अगर मैं स्लैश अबाउट हिट करूंगा तो मुझे कहां यहां पे क्या दिखेगा? अबाउट अस यहां पे दिख रहा होगा। तो अगर
मैं यहां पे स्लैश अबाउट हिट करता हूं तो अबाउट अस मुझे यहां पे देखने के लिए मिल जाएगा। बढ़िया है। तो
अबाउट अस मुझे यहां पे देखने के लिए मिलेगा। तो सिंपल रिएक्ट राउटर डोम इसलिए हम यूज़ करते हैं कि भाई अलग-अलग पाथ पे
हमें अलग-अलग कंपोनेंट देखने के लिए मिल जाए। अब करना क्या है कि हम यहां पे एक बोल सकते हो दो अलग-अलग स्क्रीनंस या दो
अलग-अलग पेजेस हमें क्रिएट करने हैं। एक पेज पे हमें फॉर्म दिखाना है। जहां पे यूजर एक पोस्ट को क्रिएट कर सकता है। और
दूसरे पर्टिकुलर पेज पे हमें जितनी भी पोस्ट क्रिएट हुई हैं वो सारी की सारी पोस्ट हमें दिखानी है। बस इतना हमें यहां
पे करना है। तो एसआरजी फोल्डर के अंदर आएंगे। एक और फोल्डर क्रिएट करते हैं। फोल्डर का नाम रख सकते हैं पेजेस। पेजेस
फोल्डर के अंदर हम यहां पे एक फाइल क्रिएट करेंगे। फाइल का नाम हम यहां पे क्या रख सकते हैं? लेट्स से क्रिएट
क्रिएट पोस्ट डॉट जेsx और जेएसx के बाद हम यहां पे बोल सकते हैं रिएक्ट फंक्शनल कंपोनेंट एक्सपोर्ट और रिएक्ट फंक्शनल
कंपोनेंट एक्सपोर्ट के बाद हम यहां पे एक फॉर्म क्रिएट करेंगे। फॉर्म का नाम वी कैन से कि भाई यह जो अपना होने वाला है यह
रहेगा सेक्शन के अंदर और सेक्शन क्रिएट करने के लिए
सेक्शन और सेक्शन के बाद हम यहां पे एक क्लास देंगे। सो क्लास क्रिएट पोस्ट
सेक्शन। ठीक है? तो क्रिएट पोस्ट सेक्शन हमने यहां पे दिया और क्रिएट पोस्ट सेक्शन देने के बाद हम सीधा यहां पर एक H1 दे
सकते हैं और H1 के अंदर सिंपल हम यहां पे बोल सकते हैं क्रिएट पोस्ट। बढ़िया। क्रिएट पोस्ट और क्रिएट
पोस्ट के बाद हमारे पास यहां पे एक फॉर्म आएगा। फॉर्म के अंदर एक्शन एस सच नीड नहीं है। एक्शन आपको नहीं देना। फिर एक्शन के
बाद आपको यहां पे एक इनपुट फील्ड देनी रहेगी। सो इनपुट और इनपुट का टाइप जो रहेगा वो रहेगा
फाइल और फाइल के बाद वी कैन से नेम इमेज और एक्सेप्ट इमेज आप यहां पे एक्सेप्ट कर रहेगे तो इनपुट टाइप फाइल रहेगा नेम इसका
इमेज जाएगा और एक्सेप्ट इसका क्या रहेगा भाई सिर्फ इमेज आप यहां पे एक्सेप्ट कर रहे होगे फिर यहां पे इनपुट वी कैन से
इनपुट जो हमारा रहेगा टाइप टेक्स्ट और नेम इसका हम दे रहे होंगे कैप्शन तो नेम कैप्शन हमने यहां पे दे दिया और वी कैन से
ये रहेगा रिक्वायर्ड रिक्वायर्ड के बाद एक हमारे पास बटन आ रही होगी सबमिट की। बढ़िया। तो अब देखो ये जो हमने एक क्रिएट
पोस्ट पूरा पेज बनाया है इस पेज को अगर मैं रेंडर करता हूं कहां पे? app डॉट जेsx के अंदर स्लैश क्रिएट
पोस्ट पे। तो यहां पे H1 में मैं हेलो वर्ल्ड नहीं दिखाऊंगा। इधर पे अब मैं क्या दिखा रहा होगा? यहां पे जो मेरा एक क्रिएट
पोस्ट कंपोनेंट है ये कंपोनेंट या बोल सकते हो ये पेज मुझे यहां पे दिखाना रहेगा। तो ये पेज यहां पे आया। अब देखो
क्या करना रहेगा? जो मेरा appsx में स्लैश क्रिएट पोस्ट एपीआई या बोल सकते हो राउट मैंने क्रिएट किया हूं। इस राउट को अगर
मैं हिट करता हूं फ्रंट एंड से। सो स्लैश अबाउट की जगह मैं यहां पे बोलूंगा स्लैश क्रिएट पोस्ट एंटर किया। तो यहां पे मुझे
क्रिएट पोस्ट चूज़ फाइल एक पर्टिकुलर फॉर्म मुझे देखने के लिए मिल जाएगा। और इधर पे प्लेस होल्डर के अंदर मैं यहां पे बोल
सकता हूं प्लेस होल्डर। प्लेस होल्डर अपना रहेगा। एंटर कैप्शन। बढ़िया। एंटर कैप्शन दे दिया। तो एंटर कैप्शन यहां पे भी
रिफ्लेक्ट हो रहा है। अब करना क्या है? सीएसएस की हेल्प से हमें यहां पर ये जो पर्टिकुलर एक फॉर्म आ रहा है इस फॉर्म को
थोड़ा बहुत अच्छा दिखाना है। तो इसके लिए क्रिएट पोस्ट इंडेक्स डॉटcs हमारे पास apps की अगर बात करता हूं तो यहां पे तो
लिंक नहीं है। इंडेक्स डॉटcs main डॉट जेsx के अंदर इंडेक्स css ऑलरेडी लिंक है। बढ़िया। तो अब अगर मैं यहां पे आता हूं
क्रिएट पोस्ट सेक्शन डिस्प्ले फ्लेक्स फ्लेक्स डायरेक्शन कॉलम हाइट विड्थ अ हाइट मैं यहां पे बोलूंगा 100% एंड विड्थ 100%
मैं यहां पे बोल सकता हूं। ये जो है इट्स नॉट अबाउट रिएक्ट। रिएक्ट के बारे में नहीं है। बस एक हमें फ्रंट एंड चाहिए जिस
पे हम देख सके भाई किस तरीके से इंटीग्रेट करते हैं हमारी एपीआई को। तो उसको समझने के लिए बस मैं थोड़ा जल्दी-जल्दी यहां पे
लेके जा रहा हूं। इसका जो कोड रहेगा ये कोड आपको एक ज़िप फॉर्मेट में मिल जाएगा। तो उसकी टेंशन मत लेना। इसका कोड आपको एक
ज़िप फॉर्मेट में मिल जाएगा। बढ़िया। तो अब अगर मैं यहां पे आता हूं। देखो जो हमारा फ्रंट एंड है वो कुछ अभी इस तरीके के दिख
रहा है। और अब इसके बाद डिस्प्ले फ्लेक्स फ्लेक्स डायरेक्शन कॉलम। अब हम यहां पे बोलेंगे क्रिएट पोस्ट के अंदर जो हमारे
पास फॉर्म है फॉर्म को डिस्प्ले फ्लेक्स सेम चीज हम यहां पे दे रहे होंगे पैडिंग एंड ऑल और वी कैन से
क्रिएट पोस्ट सेक्शन इनपुट एंड टेक्स्ट एरिया विड्थ दिस दिस दिस एआई का यूज़ अभी बहुत ज्यादा कर रहा हूं मैं तो क्योंकि
काम मुझे थोड़ा जल्दी करवाना है इस वजह से एआई का यूज़ मैं यहां पे कर रहा हूं। ओके। और अब अगर हम यहां पे फाइनली आते हैं। सो
बटन बढ़िया। तो ये बटन हमारे पास आ चुकी है। और इस बटन के बाद हमारे पास जो हमारा फॉर्म
है ये फॉर्म रेडी हो चुका है। और इस फॉर्म में अब बस हमें कुछ चीजें और मॉडिफाई करनी है। जैसे कि इसका फोंट फैमिली। तो फॉन्ट
फैमिली हम पे आते हैं। और फोंट फैमिली के लिए व्हाट वी कैन डू HTML को सेलेक्ट करेंगे। HTML और HTML सेलेक्ट करने के बाद
जो हमारी फॉन्ट फैमिली होने वाली है इसे मैं सेट कर दूंगा सिस्टम यूआई पे। बढ़िया। तो सिस्टम UI पे हमने सेट कर दिया। तो
फॉन्ट फैमिली थोड़ी अच्छी दिख रही है। और क्रिएट पोस्ट सेक्शन में मैं यहां पे गैप ऐड कर रहाऊंगा। सो जो मेरा गैप रहेगा वी
कैन ऐड समवेयर अराउंड 20 पिक्सल। प्रोडक्शन लेवल पे नहीं है ये कोड। रिएक्ट का जो बैक एंड का कोड है वो प्रोडक्शन
लेवल पे। वीडियो इज़ अबाउट बैक एंड। तो बैक एंड पे अभी सिखा रहा हूं। रिएक्ट पे अगर बोलोगे तो रिएक्ट पे लेकर आऊंगा। अब तो
सुनो क्रिएट पोस्ट सेलेक्ट किया। एक फाइल मैं यहां पे सेलेक्ट कर सकता हूं। कैप्शन मैं यहां पे एंटर कर सकता हूं। और जिस इस
फॉर्म को मैं यहां पे सबमिट कर सकता हूं। सिमिलर वे पे अब हमें यहां पे एक पेज और क्रिएट करना रहेगा। पेज हमारा कौन सा रहने
वाला है? फीड पेज। तो फीड डॉट जेएसx नाम का एक फाइल क्रिएट करेंगे। रिएक्ट फंक्शनल कंपोनेंट एक्सपोर्ट और यहां पर हम अगेन एक
सेक्शन क्रिएट करेंगे। फीड सेक्शन और फीड सेक्शन के अंदर देखो अब होगा क्या कि एक फीड हमें दिखानी है। फीड के अंदर क्या
रहेगा? पोस्ट हमारी होने वाली है। मल्टीपल पोस्ट रहेंगी। तो हम यहां पे एक स्टेट वेरिएबल क्रिएट कर रहे हैं। यूज़ स्टेट
स्निपेट और यहां पे हम बोलेंगे पोस्ट और पोस्ट के अंदर हम यहां पे बोलेंगे एक अरे एंड देन
यूज़ स्टेट हम यहां पे इंपोर्ट करवाएंगे। तो यूज़ स्टेट हमारा इंपोर्ट होगा। और जो भी हमारा पोस्ट वाला पार्ट है इधर पे हम
मैप कर रहे होंगे हमारे पोस्ट का। अच्छा देखो एक पोस्ट के अंदर एक कैसा दिख रहा होगा तो हमारे पास यहां पे अंडरस्कोर आईडी
होगी अंडरस्कोर आईडी के अंदर वन फिर हमारे पास यहां पे इमेज होगी इमेज की यहां पे क्या होने वाली है यूआरएल मतलब कि जिस
तरीके से हमने डेटाबेस में सेव करके रखी हैं चीजें उसी तरीके से हम यहां पे भी दिखा रहे हैं तो ये एक यूआरएल बढ़िया ये
यूआरएल हमारे पास आ चुकी है और इसे ही हम यहां पे लिस्ट भी करेंगे एस मैप की तरह सो वी कैन से मैप और मैप हम यहां पे बहुत
ईज़ली कर रहे होंगे बट बढ़िया। तो ये हमने पोस्ट को यहां पे मैप कर दिया। पोस्ट मैप करने के बाद अब अगर
मैं फ्रंट एंड पे आता हूं तो फ्रंट एंड पे बस ये जो मेरा फीड्स वाला फीड अपना कंपोनेंट है ये कंपोनेंट रेंडर करना है एक
अलग एपीआई पे। एपीआई पे एपीआई की मुझे आदत है। इस वजह से एपीआई में बार-बार बोल रहा हूं। बट इट्स नॉट एपीआई इट्स राउट। सो फीड
और फीड कंपोनेंट को यहां से एक्सपोर्ट इंपोर्ट भी करना है। तो इंपोर्ट किया। अब इंपोर्ट करने के बाद अब अगर मैं आता हूं
पर्टिकुलर फ़्रंट एंड पे फ़ीड एपीआई पे। तो, यह रही मेरी फ़ीड अह फ़ीड
पर्टिकुलर राउट। और फिर राउट पे मुझे एक ये पर्टिकुलर इमेज देखने के लिए मिल रही है जो कि बिल्कुल सही नहीं है अभी के लिए।
हम आते हैं एंड यहां पे जो मेरा फीड सेक्शन है, इस फैक्ट इस सेक्शन में सीएसएस ऐड करना चालू करते
हैं। तो सीएसएस हम यहां पे बोलेंगे फीड सेक्शन। फीड सेक्शन डिस्प्ले फ्लेक्स। फ्लेक्स के बाद कॉलम अलाइन आइटम दिस दिस
दिस हाइट एंड विड्थ बैकग्राउंड कलर पैडिंग ये हमारे पास आ रही हैं सारी चीजें और इसके बाद हमें यहां पे
पोस्ट कार्ड पोस्ट कार्ड जो हमारे पास होने वाला है सो पोस्ट कार्ड ठीक है और पोस्ट कार्ड के अंदर हमारे पास पोस्ट
कार्ड H3 ठीक है तो कुछ इस तरीके का हमें देखने के लिए मिल रहा है और बस हमें कुछ चीजें यहां पे और ठीक करनी रहेगी पोस्ट
कार्ड इमेज मैक्सिड्स 100% % बॉर्डर रेडियस 8 पिक्सल मार्जिन टॉप दिस बढ़िया। तो अब जो मेरी एक पोस्ट होने वाली है वो
एक पोस्ट मुझे कुछ इस तरीके के लिए देखने के लिए मिल जाएगी। बस मुझे यहां पे कुछ चीजें ठीक करनी है। अलाइन आइटम सेंटर नहीं
हमें जस्टिफाई कंटेंट जो होने वाला है ये स्टार्ट पे हमें सेट करना रहेगा। तो स्टार्ट पे सारी चीजें आएंगी। मतलब कि
एकदम अपपर से लग के आ रही होंगे। तो ये बढ़िया है। अब सुनो हमारे पास यहां पे दो पेज होने थे। दोनों पेज हम यहां पे क्रिएट
कर चुके हैं। एक हमारा है फीड और एक है हमारा क्रिएट पोस्ट। तो क्रिएट पोस्ट पे अगर मैं तुम्हें दिखाऊं तो क्रिएट पोस्ट
कुछ इस तरीके का अभी हमें यहां पे देखने के लिए मिल रहा है। तो ये एक बढ़िया है। ये कोड अभी हमें कुछ ऐसा देखने के लिए मिल
रहा है। तो अभी जो हमारा फ्रंट एंड है फ्रंट एंड हम यहां पे डेवलप कर चुके हैं। फ्रंट एंड डेवलप करने के बाद अब जो हमारा
बैक एंड और फ्रंट एंड होने वाला है। इन दोनों को इंटीग्रेट करना है। तो इंटीग्रेट कैसे करते हैं? उसके लिए हमें यहां पे एक
पैकेज की जरूरत और पड़ेगी जिसका नाम होने वाला है एक्सियस। तो एक्सियस पैकेज का हम यहां पे यूज़ करेंगे। अच्छा एक चीज सुनो।
अगर तुम्हें रिएक्ट नहीं आती फिर भी कोई इशू नहीं है। वीडियो बैक एंड के बारे में है। बैक एंड पे अभी यहां पे मेन हमें फोकस
रखना है। ये जो कोड होने वाला है रिएक्ट का ये कोड आपको एज इट इज़ मिल जाएगा। बस अभी के लिए थोड़ा सा इसमें एक्सपेरिमेंट
करके देख लेना। ट्राई करके देख लेना कि किस तरीके से हम एपीआई कॉल करते हैं और एपीआई कॉल करने के बाद हमारे पास डेटा
वहां पे कैसा आता है। थोड़ा बहुत अगर डेवलपमेंट तुम कर रहे हो तो एक्सपेरिमेंट करना तुम्हें आना चाहिए। एक्सपेरिमेंट
करने से कभी भी घबराना मत। थोड़ा बहुत कर लेना। प्रोडक्शन पे मत करना कि प्रोडक्शन की एप्लीकेशन पे एक्सपेरिमेंट कर रहे हो
वो मत करना। डेवलपमेंट के टाइम पे थोड़ा बहुत एक्सपेरिमेंट कर सकते हो। तो वहां पे कोई प्रॉब्लम नहीं होती है। चलो तो अब
यहां पे फ्रंट एंड और बैक एंड दोनों को किस तरीके से इंटीग्रेट करना है यूजिंग एक्सियस एंड यहां पे एक चीज हमें और समझनी
रहेगी जिसका नाम क्या रहेगा? कोर्स। तो कोर्स समझते हुए फ्रंट एंड और बैक एंड को इंटीग्रेट करते हैं। चलो। तो भाइयों अभी
तक हम यहां पे फ्रंट एंड और बैक एंड दोनों अलग-अलग कोड कर चुके हैं। दोनों के हमने एपीआई क्रिएट कर लिए थे बैक एंड पे और
यूआई हमने क्रिएट कर लिया था हमारे फ्रंट एंड पे। अब फ्रंट एंड पे अगर तुम्हें कोई भी डाउट है तो कोई प्रॉब्लम नहीं है।
फ्रंट एंड बस एक बोल सकते हो साइड टास्क की तरह है जो हमारा मेन टास्क जो है हमारा इस वीडियो में और अब बैक एंड होने वाला
है। तो अगर तुम्हें कोड चाहिए रहेगा तो कोड तुम्हें ज़िप फोल्डर में मिल जाएगा। तो ज़िप फोल्डर को तुम डाउनलोड करना और उसमें
फ्रंट एंड और बैक एंड दोनों का ही कोड रहेगा। तुम उसको देख के भी कोड को लिख सकते हो। तो सुनो फ्रंट एंड और बैक एंड हम
कोड कर चुके थे। अब करना क्या है? दोनों को किस तरीके से हम इंटीग्रेट करते हैं और कोर्स क्या होता है? अभी आने वाला है कुछ
टाइम में। तो वो हमें यहां पे समझना रहेगा। तो देखो अब अगर यहां पे आता हूं स्क्रीन में शेयर करूंगा तो ये अपने फ्रंट
एंड का कोड है और फ्रंट एंड के कोड में हम सबसे पहले एक सिंपल एपीआई जो हमारा है पेजेस दो पेजेस हैं। एक हमारे पास क्रिएट
पोस्टs है। इस पर्टिकुलर में हमारे पास एक फॉर्म है जिस फॉर्म के अंदर इमेज और कैप्शन के साथ मैं एक पोस्ट को क्रिएट कर
सकता हूं। और फीड डॉटs में मेरे पास जितनी भी पोस्ट रहेंगी उन सारी पोस्ट को मैं यहां पे लिस्ट कर सकता हूं। सिंपल हमने
यहां पे दो अलग-अलग पेजेस क्रिएट करके रखे हैं। अब देखो करना क्या है? करना काफी सिंपल है कि ये जो मेरा फीडsx पेज है अगर
मैं इसको रन करता हूं तो आई थिंक ये ऑलरेडी रन है। फ्रंट एंड पे अगर मैं आता हूं तो फ्रंट एंड पे ऑलरेडी रन है। और अब
अगर मैं ब्राउज़र पे आता हूं। ब्राउज़र पे आने के बाद अब अगर मैं यहां पे सर्च करता हूं लेट्स से लोकल होस्ट 5173
फीड एंटर किया। एंटर करने के बाद इसे मैं मोबाइल व्यू पे डालूंगा। तो मोबाइल व्यू पे डालने के बाद अब देखो होता क्या है?
मोबाइल व्यू पे डालने के बाद यहां पे एक जो डमी पोस्ट हमने क्रिएट करके रखी है वो डमी पोस्ट यहां पे आपको दिख जाएगी। और डमी
पोस्ट के बाद जितनी भी पोस्ट हमारे पास होनी यहां पे होनी चाहिए वो सारी की सारी यहां पे दिख जाएगी। अगर मैं डेटाबेस आपको
ओपन करके दिखाता हूं। सो मोंगो डीबी कंपस तो मोंगo डीb कंपस यहां पर ओपन किया और ओपन करने के बाद जो हमारा क्लस्टर
है क्लस्टर का नाम क्या है? वाईटी कंप्लीट पैक एंड ये हमारा क्लस्टर है। सो इस क्लस्टर के अंदर जो हमारे पास एक डेटाबेस
है डेटाबेस का नाम क्या है? प्रोजेक्ट वन। प्रोजेक्ट वन के अंदर एक कलेक्शन है। कलेक्शन का नाम पोस्ट और पोस्ट के अंदर
हमारे पास दो पर्टिकुलर पोस्ट का डेटा एक पोस्ट ये है और दूसरी पोस्ट हमारे पास यहां पे प्रेजेंट है। करना क्या है कि जो
डेटाबेस के अंदर डेटा सेव है जो पोस्ट है हमारी जितनी पोस्ट का डेटा हमारे पास डेटाबेस के अंदर सेव है वो सारी पोस्ट
मुझे शो करनी है मेरे फीड पेज पे। तो देखो इसके लिए मैंने क्या किया था जो मेरा बैक एंड है बैक एंड पे मैंने एक एपीआई क्रिएट
किया था। अ बैक एंड फोल्डर अगर मैं ओपन करता हूं। एसआरसी फोल्डर के अंदर app.js में एक पर्टिकुलर app डॉट गेट मतलब कि गेट
मेथड के साथ स्लैश पोस्ट नाम की एपीआई क्रिएट किया था। और इस एपीआई पे अगर मैं रिक्वेस्ट करता हूं तो जितनी भी पोस्ट
मेरे डेटाबेस में सेव होंगी या मेरी एप्लीकेशन पे क्रिएट हुई होंगी वो सारी की सारी पोस्ट का डेटा मुझे यहां पे दिख
जाएगा। जैसे कि हमने ये एपीआई क्रिएट किए थे। तो अगर मैं इसे सेंड करता हूं तो सेंड करने के बाद जितनी भी मेरे पास पोस्ट का
डेटा रहेगा वो सारी की सारी पोस्ट का डेटा मुझे यहां पे दिख जाएगा। बढ़िया है। अब देखो हम यहां पे करेंगे क्या? सेम एपीआई
हम कॉल करेंगे हमारी रिएक्ट की एप्लीकेशन से। रिएक्ट एप्लीकेशन जो हमारी है यानी कि फ्रंट एंड के अंदर जो हमारे पास फीड डॉट
जे6 पेज है इस पर्टिकुलर के अंदर से हम एपीआई कॉल करेंगे। कौन सी एपीआई कॉल करेंगे? हमने जो बैक एंड पे गेट मेथड के
साथ स्लैश पोस्ट एपीआई क्रिएट किया है। इस एपीआई को हम कॉल कर रहे होंगे। और ये एपीआई रिटर्न में हमें देगी पोस्ट का डेटा
और उस पोस्ट के डेटा को हम यहां पे शो कर पा रहे होंगे। अब ये पोस्ट का डेटा यहां पे शो क्या करता है? जो पोस्ट पे हमने
यहां पे मैप लगा के रखा है। मतलब ये जो हमारा एक स्टेट वेरिएबल है इसे वो शो करता है। तो पोस्ट का डेटा जो भी हमारे पास आने
वाला है उसे इस पोस्ट वेरिएबल पे सेट करवा देंगे और वही डेटा देन हम यहां पे रेंडर कर रहे होंगे। अच्छा ये करेंगे कैसे? तो
इसको करने के लिए हम यहां पे एक पैकेज यूज़ करेंगे। पैकेज का नाम क्या होने वाला है? एक्सियस। तो रिएक्ट जो आपकी एप्लीकेशन
होने वाली है, उसमें एक पैकेज इंस्टॉल करो। पैकेज का नाम रहेगा एक्सियस। और एक्सजीएस के हेल्प से हम यहां पे एपीआई
कॉल करेंगे और एपीआई की वजह से हमारे पास डेटा आएगा और उस डेटा को हम यहां पे रेंडर करवाएंगे। तो इंपोर्ट अगर मैं यहां पे
करवाता हूं इंपोर्ट और इंपोर्ट मैं यहां पे बोलूंगा एक्सियस फ्रॉम एक्सियस एक्सियस हमने यहां पे इंपोर्ट
किया। इंपोर्ट करने के बाद मुझे यहां पे एक हुक की जरूरत पड़ेगी। यूज़ इफेक्ट। यूज़ इफेक्ट हम यहां पे क्यों यूज़ कर रहे हैं?
ताकि जो हमारी एपीआई रहेगी वो सिर्फ एक बार कॉल हो। अगर यूज़ इफ़ेक्ट यूज़ नहीं करोगे तो जो तुम्हारी एपीआई होने वाली है
वो मल्टीपल टाइम्स कंटीन्यूअसली कॉल होती रहेगी। तो हम यहां पे यूज़ करेंगे यूज़ इफ़ेक्ट और यूज़ इफ़ेक्ट के अंदर हमारे पास
आएगा एक कॉल बैकक और इस कॉल बैकक के बाद हमारे पास रहेगा एक डिपेंडेंसी अरे। डिपेंडेंसी अरे क्या होता है वो जानना
जरूरी नहीं है अभी के लिए। तो इसे तुम इग्नोर करो। डिपेंडेंसी अरे बस तुम एंप्टी ध्यान से पास तुम्हें करना रहेगा।
डिपेंडेंसी अरे पास करना है। ये जो एक यहां पे एम्प्टी अरे है इसे हम डिपेंडेंसी अरे बोलते हैं। तो ये तुम्हें पास करना ही
रहेगा। और इस कॉल बैकक के अंदर हम यहां पे लिखेंगे एक्सियस डॉट गेट एक्सियस डॉट देखो तुम्हें करना क्या है जो तुम्हारी एपीआई
एपीआई कौन सी है तुम्हारी अ स्लश नो स्लैश पोस्ट और ये कौन से पोर्ट पे चल रही है पोर्ट नंबर 3000 पे और मेथड क्या है इसकी
गेट है तो एक्सियस डॉट गेट एक्सियस डॉट गेट यहां पे क्या बताती है कि भाई एक एपीआई हम कॉल करने वाले हैं उसकी मेथड
क्या रहेगी गेट मेथड यहां पे होने वाली है और इधर पे अगर मैं लिखता हूं http कॉलन स्लश लोकल
लोकल पोस्ट कॉल कॉलन 3000 स्लश पोस्ट मैं यहां पे ईजीली लिख सकता हूं और ये एपीआई जो भी रिजल्ट हमें लेकर आएगी देन
के अंदर हम उस रिजल्ट को कंसोल करवाएंगे तो कंसोल डॉट log रिस्पांस डॉट डेटा और अब देखो अब अगर मैं यहां पे आता हूं फीड पेज
पे एक बार अगर मैं इसे रीलोड करवाता हूं तो ये अभी नहीं चलेगा क्यों क्योंकि आई थिंक हमने सर्वर को बंद करके रखा है तो
एनपीएम रन डेव अगर मैं यहां पे करवाता हूं तो एनपीएम रन डेव करवाने के बाद ये सक्सेसफुली हमारा प्रॉपर रन हो रहा है और
अब अगर एक बार रीलोड करते तो रीलोड करने के बाद यहां देखो यहां पे अब एक एरर आ रही है। हां और ये एरर ये हमारी कौन सी एरर
है? कोर्स एरर। अब मतलब क्या हुआ इसका? देखो ये जो सबसे पहली एरर दिख रही है कौन सी? कि एक्सेस टू xml http रिक्वेस्ट एट
http कॉलन स्लैश लोकल होस्ट कॉलन 3000 मतलब कि क्या कि लोकल होस्ट कॉलन 3000 की यहां पे मतलब जो हमारा सर्वर है उसकी बात
की जा रही है। ठीक? फ्रॉम ओरिजिन कि भाई यहां पे ओरिजिन कौन सा है अपना? लोकल होस्ट कॉलन 5173 सुनना। हमारे पास यहां पे
दो अलग-अलग ओरिजिन है। हमारे पास यहां पे दो अलग-अलग सर्वर्स हैं। कौन-कौन से? एक जिस पे हमारा बैक एंड का सर्वर चल रहा है।
और दूसरा हमारा है जिसप हमारा फ्रंट एंड अभी चल रहा है। तो हमारे पास यहां पे दो अलग-अलग ओरिजिन है। एक ओरिजिन अपना लोकल
होस्ट कॉलन 3000 है और दूसरा ओरिजिन है मेरा लोकल होस्ट कॉलन 5173। ये दो अलग-अलग ओरिजिन मेरे पास प्रेजेंट है। तो अब यहां
पे बोला क्या जा रहा है? भाई जो आपने एक एचटीटीपी रिक्वेस्ट किए थे आपके बैक एंड के ओरिजिन पे फ्रॉम कहां से? आपके फ्रंट
एंड से इसे ब्लॉक किया गया है किसके थ्रू? कोर्स पॉलिसी के थ्रू। तो हां, यह बाय डिफॉल्ट रहता है। क्योंकि कोर्स पॉलिसी
कुछ आपका रहता है ब्राउज़र में इनबिल्ट फीचर रहता है। यूजर की सिक्योरिटी के लिए ब्राउज़र उसे अपने आप खुद से उसमें
इंप्लीमेंट करके रखता है। तो देखो कोर्स पॉलिसी क्या बोलती है? कोर्स पॉलिसी काफी सिंपल है। अगर मैं यहां पे सर्च करके आपको
दिखाता हूं। व्हाट इज़ कोर्स? जब मैं इतना सर्च करूंगा तो सर्च करने के बाद यहां पे आपको पूरा जो
आपका जेमिनाई जो भी आपको सर्च करके मिलने वाला है वो देखो वो कुछ ऐसा है कि सिक्योरिटी मैकेनिज्म दैट अलाउ वेब
सर्वर्स टू टेल ब्राउज़र दैट रिसोर्स फ्रॉम अ डिफरेंट डोमेन कैन बी शेयरर्ड विद योर वेब एप्लीकेशन। अब ये तो है कि यहां पे
अभी बहुत सारी चीजें समझ में नहीं आएंगी। लेकिन यहां पे अ इफ आई कैन शो यू अ बाय डिफॉल्ट वेब ब्राउज़र रिस्ट्रिक्ट
वेब पेज फ्रॉम मेकिंग रिक्वेस्ट टू रिसोर्स फ्रॉम अ डिफरेंट ओरिजिन। हां तो देखो जो कोर्स पॉलिसी अपनी रहती है। कोर्स
पॉलिसी जो अपनी रहती है वो वो क्या रहती है? बाय डिफॉल्ट कैसे काम करती है कि भाई वेब ब्राउज़र रिस्ट्रिक्ट करते हैं एक
पर्टिकुलर वेब पेज को मेकिंग रिक्वेस्ट टू रिसोर्स फ्रॉम डिफरेंट ओरिजिन। मतलब इसका क्या हो? मतलब इसका ये है कि भाई जो आपके
वेब ब्राउज़र है जो भी आपके ब्राउज़र्स हैं वो किसी भी वेबसाइट को या किसी भी वेब पेज को रिस्ट्रिक्ट करते हैं कि भाई वो
वेबसाइट किसी और ओरिजिन से कुछ भी रिसोर्स को नहीं मांग सकती। अच्छा तो ये चीज यहां पे कैसे अप्लाई होती है? तो यहां पे ये
चीज इसलिए अप्लाई होती है क्योंकि देखो जो हमारा फ्रंट एंड है जो हमारा फ्रंट एंड है ये रन कौन से पोर्ट पे होता है? ये पोर्ट
आपका यूज़ करता है पोर्ट 5173। ये पोर्ट 5173 का यूज़ यहां पे करता है। तो पोर्ट 5173 से अगर आप रिक्वेस्ट करोगे कौन से
पोर्ट पे? पोर्ट नंबर 3000 पे। तो यहां पे वो रिसोर्स नहीं माना जाएगा। देखो हम यहां पे कर क्या रहे थे? हमने एक्सियस के हेल्प
से एक गेट मेथड पे एपीआई कॉल कर रहे थे स्लैश पोस्ट। तो मतलब क्या कि हम अपने बैक एंड के सर्वर से कुछ डेटा मांग रहे थे।
कुछ रिसोर्स की डिमांड कर रहे थे। कहां से कर रहे थे? हमारे फ्रंट एंड से। फ्रंट एंड कौन से ओरिजिन पे चलता है? 5173 पे। और जो
हमारा बैक एंड है वो कौन से ओरिजिन पे चलता है? पोर्ट नंबर 3000 पे। तो यहां पे दोनों के ओरिजिन अलग-अलग है। मतलब कि
फ्रंट एंड का एक अलग ओरिजिन है, बैक एंड का एक अलग ओरिजिन है। तो इस वजह से जो ब्राउज़र में इनबिल्ट सिक्योरिटी लगी रहती
है हमारे यूजर के लिए वो ऐसा करने नहीं देगी। क्या नहीं करने देगी? कि फ्रंट एंड से आप रिक्वेस्ट कर लो आपके बैक एंड के
सर्वर पे कि भाई बैक एंड कुछ उसको कुछ डेटा वहां पे दे दे। तो ये बाय डिफॉल्ट नहीं चलती। अच्छा इसका सॉल्यूशन क्या रहता
है? इसका सॉल्यूशन काफी सिंपल है। जो बैक एंड का सर्वर है, बैक एंड के सर्वर पे एक पैकेज तुम्हें और इंस्टॉल करना रहेगा।
एनपीएमआई कोर्स कोर्स तुम यहां पे इंस्टॉल करोगे और कोर्स इंस्टॉल करने के बाद एनपीएम या हम वापस से सर्वर स्टार्ट
करेंगे एनपीx नोडम ऑन server डॉट जेएस तो एनpx nummon server डॉट जेएस स्टार्ट करेंगे एंड जो आपकी apps फाइल है apps
फाइल में आप यहां पे रिक्वायर करोगे कॉनस्ट कोर्स इक्वल्स टू रिक्वायर कोर्स कोर्स रिक्वायर करने के बाद सबसे पहला
मिडिल वेयर आप यहां पे एज अ कोर्स यूज़ कर रहे होगे हां कोर्स जो आपका रहता वो भी एज अ मिडिल वेयर की तरह आप यूज़ कर रहे होते
हैं। मिडिल वेयर मिडिल वेयर मिडिल वेयर बहुत बार आ रहा है। मुझे पता है मिडिलवेयर बस जल्दी आने वाला है। इसका इस प्रोजेक्ट
के बाद जो हमें एक टॉपिक पढ़ना है वो ऑथेंटिकेशन है और ऑथेंटिकेशन के अंदर ही हमारे पास मिडिल वेयर्स भी आ रहे होंगे।
तो बस मिडिल वेयर इस टॉपिक के बाद अपने पास मिडिल वेयर आएगा। बस थोड़ा सा और वेट कर लो। तो एज अ मिडिल वेयर इसे हमें यहां
पे यूज़ करना रहेगा। तो देखो मिडिल वेयर्स हमने यहां पे यूज़ किया। यूज़ करने के बाद सर्वर हमारा ऑलरेडी रन कर रहा है। और अब
देखो अब अगर मैं यहां पे आता हूं ब्राउज़र पे एक बार इस पेज को रीलोड करूंगा तो अब देखो अब हमारे पास यहां पे डेटा आ रहा है।
और जो पहले एरर आ रही थी कोर्स पॉलिसी की वो कोर्स पॉलिसी की एरर अब हमारे पास नहीं आ रही है। और जो हमारे पास पोस्ट का डेटा
है ये पोस्ट का डेटा मेरे पास प्रॉपर्ली यहां पर आ रहा है। तो देखो जैसे कि ये टेस्ट कैप्शन टेस्ट कैप्शन टू और इमेज भी
मेरे पास प्रॉपर तरीके से आ रही है। तो अभी जो डेटा पोस्ट के अंदर आ रहा है इस डेटा का मैं करूंगा क्या? वापस आऊंगा फीड
जे में और जो डाटा मेरे पास आ रहा है इसे मैं सेट करूंगा सेट पोस्ट्स और सेट पोस्ट में रिस्पांस डॉट डेटा के अंदर जो पोस्ट
का डेटा मेरे पास है इसे करूंगा मैं यहां पे सेट तो अब देखो अब अगर मैं यहां पे रीलोड करता हूं तो पोस्ट का डेटा मेरे पास
आएगा और जितनी भी पोस्ट रहेंगी वो यहां पे रेंडर हो जाएंगी। अभी मैंने यहां मेरे सर्वर पे दो पर्टिकुलर पोस्ट थी और वो
दोनों की दोनों की पोस्ट यहां पे रेंडर हो चुकी हैं। हमने किया क्या? फ्रंट एंड से मतलब फ्रंट एंड पे रहते हुए हमने बैक एंड
पे एक एपीआई कॉल की। गेट मेथड की वो हमारी एपीआई थी। देखो गेट मेथड उस एपीआई का नाम था और सॉरी गेट तो उसकी मेथड थी और एपीआई
का नाम क्या था? स्लैश पोस्ट। ओरिजिन क्या था? पोर्ट नंबर 3000। तो ये उसका ओरिजिन था। तो पोर्ट नंबर 3000 पे स्लैश पोस्ट
एपीआई पे जिसकी मेथड गेट है। इस एपीआई पे हमने रिक्वेस्ट किए। इस एपीआई ने जितनी पोस्ट हमारे सर्वर पे क्रिएट होएंगी वो
सारी पोस्ट का डेटा हमें रिटर्न किया और उस डेटा को हमने यहां पे सेट कर दिया हमारे पोस्ट स्टेट वेरिएबल में और इस
स्टेट वेरिएबल को हमने देन आगे चल के रेंडर कर दिया जिसमें इमेज और कैप्शन दोनों चीजें हमने यहां पे लिस्ट कर चुके
हैं और तभी आपको यहां पे ये एक पर्टिकुलर पोस्ट यहां पे देखने के लिए मिल रही है। बढ़िया है। तो अब जो हमारी एक एपीआई थी एक
एपीआई हमने यहां पे इंटीग्रेट कर चुके हैं। अब दूसरी एपीआई हमें यहां पे इंटीग्रेट करनी रहेगी जब हम जहां पे हम
फाइल को शेयर कर रहे होंगे। तो फाइल फाइल नेम जहां पे हमें एक बोल सकते हो पोस्ट क्रिएट करनी है। तो पोस्ट क्रिएट करने के
लिए अगेन हमें यहां पे जरूरत पड़ने वाली है एक्सियस की। सो इंपोर्ट इंपोर्ट की हमें यहां पे जरूरत पड़ेगी और
इंपोर्ट हम यहां पे करवाएंगे एक्सियस फ्रॉम एक्सियस और हमें यहां पर एक फंक्शन की जरूरत पड़ने वाली है। कॉस्ट
हैंडल सबमिट हैंडल सबमिट असिंक फंक्शन और असिंक फंक्शन के बाद हम यहां पे ई डॉट प्रिवेंट
डिफ़ॉल्ट ई डॉट प्रिवेंट डिफ़ॉल्ट क्यों जा रहा है? ताकि जब जब हम इस पर्टिकुलर फॉर्म को सबमिट करेंगे तब जो हमारा पेज है वो
रीलोड ना हो। बाय डिफ़ॉल्ट HTML में होता क्या है कि अगर आप किसी भी फॉर्म को सबमिट करते हो तो वो पूरे पेज को रीलोड कर देता
है। लेकिन रीएट के कांसेप्ट अलग रहते हैं। वो ये बोलता है कि भाई वेबसाइट अभी आप कभी आपकी रीलोड नहीं होनी चाहिए। जब तक यूजर
ना चाहे जब तक यूजर ना चाहे तब तक आपकी वेबसाइट रीलोड नहीं होनी चाहिए। तो वेबसाइट हमारी रीलोड ना हो। इस वजह से
यहां पे जब भी फॉर्म हमारा सबमिट होगा हम यहां पे बोलेंगे ई डॉट प्रिवेंट डिफॉल्ट। तो बस हमें एक काम करना रहेगा कि जब भी
आपका फॉर्म सबमिट होगा तो ऑन सबमिट पे हम यहां पे फंक्शन लगाएंगे हैंडल सबमिट। तो हैंडल सबमिट यहां पे फंक्शन लगा दिया। तो
अब होगा क्या? कि भाई ये जो आपका फॉर्म है ये जो आपका फॉर्म है ये फॉर्म जब भी सबमिट होगा तब ये जो आपका फंक्शन है हैंडल सबमिट
ये फंक्शन चलेगा और इस फंक्शन के चलने पे ई डॉट प्रिवेंट डिफॉल्ट का मतलब क्या हुआ कि भाई जो फॉर्म सबमिट होने पे पूरा पेज
आपका रीलोड होता है वो पेज रीलोड नहीं होगा और हम इससे बच जाएंगे। मतलब पेज रीलोड नहीं होता। वो एक अच्छा यूज़ वहां पे
देता है। और अब यहां पे हम क्या करेंगे? कॉस्ट फॉर्म डेटा फॉर्म डेटा हमें यहां पे क्रिएट करना रहेगा। और फॉर्म डेटा क्रिएट
करने के बाद एक्सियस डॉट पोस्ट जो हमने एक एपीआई क्रिएट किए थे। जिस एपीआई के हेल्प से हम एक पर्टिकुलर पोस्ट को क्रिएट कर
सकते थे। लोकल होस्ट कॉलन 3000 स्लश क्रिएट हफन पोस्ट। फॉर्म डेटा हम यहां पे एंटर करेंगे। और फॉर्म डेटा एंटर करने के
बाद अब यहां पे जो भी रिस्पांस आएगा सो देन वी कैन यूज़ देन कंसोल एंड आई थिंक इतना काफी होगा। ठीक है? ई डॉट टारगेट
रिसेट न्यू उधर पे अभी के लिए हम यहां पे कंसोल करवाएंगे रिस्पांस। बढ़िया। तो हमने यहां पे कंसोल करवा दिया रिस्पांस।
रिस्पांस हमने यहां पे कंसोल करवा दिया। बढ़िया। अब अगर मैं यहां पे आता हूं ब्रेव पे एंड मैं चलता हूं
क्रिएट पोस्ट एंटर किया। एंटर करने के बाद अब यहां पर एक फाइल मैं सेलेक्ट कर रहा हूं। फाइल जो हमारी होने वाली है इमेजेस
कहां गई? ये रही इमेजज़। लेट्स से वी कैन यूज़ दिस फाइल। ओपन किया। कैप्शन हम यहां पे बोलते हैं टेस्ट अंडरस्कोर
कैप्शन अंडर थ्री। इसे किया सबमिट। तो सबमिट करने के बाद यहां पे एक लॉग आना चाहिए। बढ़िया। तो लॉग यहां पे आ रहा है।
इसके पास मेरे पास डेटा के अंदर पोस्ट में पोस्ट के अंदर मेरे पास इमेज की यूआरएल आ रही है और आईडी आ रही है। अब देखो तो हुआ
क्या? पोस्ट मैंने यहां पे सबमिट किया मतलब कि इमेज और कैप्शन मैंने सबमिट किया फॉर्म के अंदर। ये जो इमेज और कैप्शन
मैंने सेलेक्ट किया। ये गया मेरे फॉर्म पे मतलब फॉर्म के अंदर और फिर ये गई एपीआई के थ्रू मेरे सर्वर पे। सर्वर पे हमने इमेज
को अपलोड किए इमेज किट पे। ये जो यूआरएल आई उसके साथ हमने हमारी पोस्ट को सेव किया हमारे डेटाबेस में। और फिर फाइनली हमने
यहां पे रिस्पांस भेजा कि एक पोस्ट क्रिएट हुई जिसका कैप्शन ये है। इमेज यूआरएल यहां पे है। उसकी आईडी एंड वर्जन हमारे पास
यहां पे आ रहा है। और अब अगर मैं यहां पर स्लैश फीड पे आता हूं तो स्लैश फीड पे आने के बाद जो एक मेरी तीसरी पोस्ट है वो मुझे
यहां पे देखने के लिए मिल जाएगी। चलो एक पोस्ट यहां पे और क्रिएट करेंगे। बस यहां पे एक काम हमें करना रहेगा भाई। अगर पोस्ट
क्रिएट होती है तो यूजर को अपने आप नेविगेट करना रहेगा स्लैश फीड पे। तो इसके लिए हमें यहां पे इंपोर्ट करेंगे यूज़
नेविगेट यूज़ नेविगेट फ्रॉम रिएक्ट राउटर DM नेविगेट एक हुक का यूज़ करेंगे और जब भी
रिस्पांस आएगा हम यहां पर नेविगेट करवा देंगे यूजर को स्लैश फीड पे। बढ़िया। तो नेविगेट करवाया यूजर को स्लैश फीड पे। अब
वापस आते हैं। जस्ट बैक किया। एक इमेज सेलेक्ट करते हैं। इमेज इस बार हम कौन सी सेलेक्ट कर सकते हैं? लेट्स से दिस वन। ये
हमारी एक इमेज है। इस इमेज को हम सेलेक्ट करेंगे। ओपन किया। ओपन करने के बाद कैप्शन टेस्ट अंडरस्कोर कैप्शन अंडरस्कोर फोर और
इसे किया सबमिट। तो अब देखो जैसे ही मैं फॉर्म को सबमिट करूंगा तो इमेज और कैप्शन दोनों एपीआई के थ्रू जाएंगे मेरे सर्वर
पे। इमेज अपलोड होगी इमेज किट पे। इमेज किट मुझे रिटर्न में देगा यूआरएल। और उस यूआरएल को और कैप्शन को सेव करेंगे
डेटाबेस में। फिर हमारे पास रिस्पांस आएगा। और जैसे ही रिस्पांस मेरे पास आएगा, हम नेविगेट करवाई जा कर देंगे कहां पे?
हमारे फीड पेज पे। तो इसको करते हैं सबमिट। सबमिट करने के बाद अगर मैं नेविगेट होता हूं मतलब कि पूरा काम बढ़िया चल रहा
है। तो देखो मैं नेविगेट हुआ और नेविगेट होने के बाद मेरी जो चौथी पोस्ट मैंने यहां पे क्रिएट किया था वो पोस्ट भी यहां
पे लिस्ट हो रही है। बढ़िया। तो अभी-अभी आपने यहां पे क्या किया? अभी-अभी आपने एक बहुत बहुत छोटा मर्न एप्लीकेशन क्रिएट
किया जो कि फुल स्टक एप्लीकेशन है। जहां पे आपने बैक एंड की एपीआई पहले डेवलप किए। फिर आपने फ्रंट एंड यहां पे क्रिएट किया
और फिर देन आपने दोनों को इंटीग्रेट किया। तो बढ़िया है। इस चीज की प्रैक्टिस करो। एक चीज का ध्यान रखना।
अगर तुम्हें एप्लीकेशन छोटी लग रही है किसी भी कारण से तो ऐसा नहीं है। आगे जो एप्लीकेशन बैक एंड में तुम क्रिएट करोगे
वो बहुत बड़ी एप्लीकेशनेशंस होने वाली है। स्क्रीन बड़ी करने दो पहले मुझे। देखो आगे जो तुम एप्लीकेशन क्रिएट करने वाले हो वो
एप्लीकेशन बहुत बड़ी होने वाली हैं। लेकिन उनकी शुरुआत इन छोटे-छोटे टास्क इन छोटी-छोटी एप्लीकेशन से होती हैं। अब सुनो
बैक एंड में तुम आगे ऐसा कोड लिखोगे जो लिटरली तुम्हारे दिमाग में फिट नहीं होगा। क्यों? क्योंकि तुम्हारा अभी दिमाग रेडी
नहीं है कि बैक एंड को उस लेवल पर समझ के इंप्लीमेंट कर पाए। तुम्हें अपने दिमाग को रेडी भी करना पड़ेगा उस चीज के लिए। तो वो
तुम कैसे करोगे? ये जो छोटी-छोटी एप्लीकेशनेशंस हैं इन छोटी-छोटी एप्लीकेशनेशंस को बिल्ड करो। एक बार बिल्ड
करो, दूसरी बार बिल्ड करो। जब दूसरी बार बिल्ड करोगे तो और अच्छे से और ज्यादा चीजें क्लियर होंगी। तो इन चीजों को बिल्ड
करो। बार-बार वीडियो को देखो। पॉज़ करो कि यह कोड यहां पे ऐसा ऐसा लिखा गया है। देखो और बार-बार चीजें बिल्ड करो। खुद से नए
फीचर वहां पे इंप्लीमेंट करो कि भाई मैं खुद से कैसे चीजें इंप्लीमेंट कर सकता हूं। तो अब ये जो एप्लीकेशन अभी क्रिएट
किया है इसको ये समझ के बिल्कुल मत रखना कि भाई छोटी एप्लीकेशन में तो मेरे को तो पता है कि कैसे क्रिएट हुई है। मैं इसको
बाद में क्रिएट कर लूंगा। नहीं अभी करना। बैक एंड में जहां पे तुमने चीजें करना छोड़ी मेरे साथ वहां पे बैक एंड भी छूट
जाएगा। इस चीज का ध्यान रखना। तुम्हें करना है। तुम्हें ये जो एप्लीकेशन मैंने अभी क्रिएट करके बताया हूं, ये एप्लीकेशन
तुम्हें क्रिएट करनी है और करनी ही है। दूसरा ऑप्शन नहीं रखना अपने पास। है भी नहीं तुम्हारे पास। है भी नहीं। रखना क्या
है? तुम्हारे पास है भी नहीं। तो तुम्हें ये एप्लीकेशन ये टास्क करना है और इंप्लीमेंट करके पूरा देखना है। इसका कोड
तुम्हें वीडियो के डिस्क्रिप्शन में जहां तक मिल जाएगा। वहां से कोड को देखो और देन इंप्लीमेंट करो। अब हम नेक्स्ट टॉपिक पे
आगे बढ़ेंगे जिसका नाम होने वाला है क्या? ऑथेंटिकेशन कि भाई ऑथेंटिकेशन होता क्या है? और एक ऑथेंटिकेशन सिस्टम में
क्या-क्या चीजें वहां पे प्रेजेंट होती हैं। तो अब ऑथेंटिकेशन सिस्टम क्या होता है? कैसे उसे इंप्लीमेंट करते हैं? उसकी
तरफ आगे बढ़ते हैं। चलो अब हम यहां से एक नया टॉपिक स्टार्ट करने वाले हैं। टॉपिक का नाम क्या रहेगा? ऑथेंटिकेशन सिस्टम। कि
भाई एक पूरा ऑथेंटिकेशन सिस्टम क्या होता है? और उसमें कौन-कौन सी चीजें शामिल होती हैं। तो सबसे पहले इसके हम स्टार्ट
करेंगे। भाई ऑथेंटिकेशन सिस्टम एग्जैक्टली क्या होता है? उस पे हम बाद में बात करेंगे। एक ऑथेंटिकेशन सिस्टम के अंदर चार
चीजें होती हैं। पहले हम इन पे बात करने वाले हैं कि चार चीजें एग्जैक्टली होती क्या हैं? तो सुनो अब ये चार चीजें हैं
क्या? तो ये चार चीजें कुछ इस ऑर्डर में होती हैं। सबसे पहले अगर मैं आपको बात करता हूं तो सबसे पहले हमारे पास आता है
वैलिडेशन कि भाई आपका जो ऑथेंटिकेशन सिस्टम रहेगा उसमें सबसे पहले परफॉर्म किया जाता है वैलिडेशन। फिर यहां पे बात
की जाती है वेरिफिकेशन की। फिर यहां पे हम बात करते हैं ऑथेंटिकेशन की। और फिर लास्ट में हमारे पास आता है क्या? ऑथराइजेशन। सो
ये कुछ हमारे पास चीजें होती हैं। सो ऑथराइजेशन बढ़िया। तो एक ऑथेंटिकेशन सिस्टम में ये चार चीजें होती हैं। वैलिडेशन,
वेरिफिकेशन, ऑथेंटिकेशन एंड ऑथराइजेशन। सबसे पहले हम यहां पे बात करते हैं वैलिडेशन पे। तो वैलिडेशन की अगर मैं यहां
पे बात करता हूं तो वैलिडेशन क्या होता है? तो देखो मान लो कि आप यहां पे एक यूजर को रजिस्टर कर रहे हो। आप यहां पे यूजर को
रजिस्टर करना चाह रहे हो। यूजर को रजिस्टर करने के लिए जो भी आपने वेबसाइट पे फॉर्म्स देखे होंगे जहां पे कुछ इनपुट
फील्ड्स रहेंगी। जहां पे आपको ईमेल एड्रेस देना रहेगा, फुल नेम देना रहेगा और कहीं-कहीं पे आपको अपना मोबाइल नंबर देना
रहेगा। तो लेट्स से अभी के लिए हम यहां पे मान लेते हैं कि आपको अपना मोबाइल नंबर देना है। ठीक है? आपको अपना मोबाइल नंबर
देना रहेगा एक फॉर्म के अंदर। फिर आप वहां पे दोगे अपना ईमेल एड्रेस और ईमेल एड्रेस के बाद आप फिर आप एंटर कर रहेगे फुल नेम
और देन आप यहां पे एंटर करोगे पासवर्ड। तो, यह कुछ चीज़ें आपको यहां पे एंटर करनी है। लेट्स से मोबाइल नंबर आपने यहां पे
बोल दिया 1 2 3 4 5 6 7 8 9 0 यह आपका मोबाइल नंबर हो गया। ईमेल एड्रेस आप कुछ दोगे और फुल नेम लेट्स से आपने यहां पे दे
दिया जॉनो। जॉनडो जडो अगर आपको पता नहीं है तो एक बहुत लेजेंड आदमी हैं। इन पे भी बात होगी कभी। सो और पासवर्ड आपने यहां पे
दे दिया टेस्ट @123 और एक कैपिटल केस आपने दे दिया कि भाई ताकि जो टेस्ट केस अपने पास हो जाए और आपने यहां पे जो ईमेल
एड्रेस दे दिया वो ईमेल एड्रेस आपने कुछ ऐसा दिया है। ये आपने ईमेल एड्रेस दे दिया। अब मुझे
बताओ क्या ये एक सही ईमेल एड्रेस है। आपने बाकी सारी चीजें ठीक दी हैं। बाकी सारी चीजें आपने मोबाइल नंबर ठीक दिया। फुल नेम
आपने सही दिया। पासवर्ड आपने सही दिया। लेकिन जो आपने ईमेल एड्रेस दिया है ये ईमेल एड्रेस है ही नहीं। ये एक गलत ईमेल
एड्रेस है। जो एक सही ईमेल एड्रेस रहता है वो सही ईमेल एड्रेस कैसा दिखता है? test@ test.com जैसा अगर यहां यहां पे मैं
एग्जांपल लेता हूं। एग्जांपल एग्ज़ांपल एग्ज़ांपल @
test.com ये हमारा यहां पे एक वैलिड ईमेल एड्रेस कुछ इस तरीके से दिखता है। तो यहां पे
वैलिडेशन किस काम में आता है? तो वैलिडेशन यहां पे काम में आता है कि भाई जो डेटा हमें मिल रहा है, जो डेटा हमें मिल रहा
है, उस डेटा का फॉर्मेट सही है या नहीं? इसे हम क्या बोलते हैं? इसे हम यहां पे बोल रहे होते हैं वैलिडेशन। तो वैलिडेशन
का मतलब क्या होता है? वैलिडेशन का मतलब होता है कि भाई जो डेटा हमें मिल रहा है वो डेटा सही है या नहीं? उसे हम क्या
बोलते हैं? यहां पे वैलिडेशन बोल रहे होते हैं। तो वैलिडेशन का मतलब जो डेटा यूजर ने हमें दिया है और जो डेटा सर्वर के अंदर आ
रहा है उस को चेक करके बताना कि इसका फॉर्मेट सही है या नहीं। इस पूरी प्रोसेस को हम क्या बोलते हैं? इस पूरी प्रोसेस को
हम यहां पे बोलते हैं वैलिडेशन। अब वैलिडेशन के बाद हमारे पास यहां पे बात करते हैं वेरिफिकेशन पे। वेरिफिकेशन की।
अब वैलिडेशन और वेरिफिकेशन बहुत पतला सा डिफरेंस है लेकिन डिफरेंस है। क्या? वैलिडेशन का मतलब क्या? कि जो डेटा हमें
मिल रहा है वो डेटा सही फॉर्मेट में है या नहीं? उसको हम बोलेंगे वैलिडेशन। अब वेरिफिकेशन का मतलब क्या? कि जो डेटा हमें
मिल रहा है वो डेटा सही है या नहीं? इस प्रोसेस को हम क्या बोलते हैं? वेरिफिकेशन। मतलब क्या? मतलब ये लेट्स से
यहां पे एक यूजर ने एक ईमेल डाला अंकुर@ dev.com तो यहां पे उसने एक पर्टिकुलर ईमेल डाला unkur@ dev.com तो अब ये जो
ईमेल एड्रेस है ये जो हमारा ईमेल एड्रेस है ये उसी पर्टिकुलर यूजर का ईमेल एड्रेस है या नहीं? ये हम कैसे पता कर सकते हैं?
उस ईमेल एड्रेस पे एक ओटीपी भेजेंगे। ओटीपी भेजने के बाद अगर यूजर ने वापस से वो ओटीपी हमें बता पाया तो हम समझ जाएंगे
कि हां भाई ये जो पर्टिकुलर ईमेल एड्रेस है इसी पर्टिकुलर यूजर का ईमेल एड्रेस है। तो हम वहां पे चेक कर रहे हैं कि भाई जो
यूजर इंफॉर्मेशनेशन डाल रहा है ये जो ईमेल एड्रेस है वो बता रहा है कि हां भाई ये ईमेल एड्रेस मेरा है। क्या रियल में ये
ईमेल एड्रेस उसी का है या किसी और का है। तो इंफॉर्मेशन बोल सकते हो कि डेटा जो हमें मिल रहा है वो डेटा सही है या नहीं।
उस प्रोसेस को मतलब कि उस डेटा को चेक करने की प्रोसेस को हम वहां पे क्या बोलते हैं? वेरिफिकेशन। तो अभी आपने यहां पे दो
चीजें समझे। क्या-क्या? पहला था वैलिडेशन। जहां पे डेटा का फॉर्मेट सही है या नहीं? इसे हम चेक करते हैं। इस पूरी प्रोसेस को
हम क्या बोलते हैं? वैलिडेशन। वेरिफिकेशन का मतलब होता है कि डेटा जो आपको मिल रहा है वो डेटा सही है या नहीं? या चेक करने
के प्रोसेस को हम क्या बोलते हैं? हम बोलते हैं यहां पे वेरिफिकेशन। तो आई होप आपको वैलिडेशन और वेरिफिकेशन। ये दोनों
चीजें आपको क्लियर हो चुकी होंगी। अब हम यहां पे बात करते हैं ऑथेंटिकेशन पे। तो ऑथेंटिकेशन की अगर बात करें। अब इसमें
पूरा एक अलग एग्जांपल जाएगा। देखो मैं तुम्हें बता रहा हूं। अब इसके लिए ना मुझे बस देखो। हमारे पास यहां पे मान लो एक
सर्वर है। हम एक सर्वर क्रिएट करेंगे। बिल्कुल क्रिएट करेंगे। और लेट्स से अ हमारे पास अलग-अलग यूज़र्स हैं। एक यूजर
यहां पे है। एंड इस यूजर का नाम हमने दे दिया ए। फिर एक यूजर हमारे पास और एग्ज़िस्ट करता है। लेट्स से इसका नाम हमने
यहां पे दे दिया B और एक यूजर हमारे पास और एग्ज़िस्ट करता है। और इसका नाम हमने यहां पर दे दिया
C। ठीक है? तो हमारे पास यहां पर तीन यूज़र्स हैं A, B एंड C और एक सर्वर है। बढ़िया। तो एक सर्वर हमारे पास है और तीन
यूजर हमारे पास प्रेजेंट है। तो अब देखो हो क्या रहा है? होगा ये कि भाई अभी के लिए मान लो ये जो सर्वर है ये जो हमारे
पास सर्वर है ये Instagram का सर्वर है। मतलब क्या है? ये Instagram का सर्वर है और Instagram पे हम जैसे कि पोस्ट क्रिएट
कर सकते हैं। तो पोस्ट यहां पे भी क्रिएट की जा सकती है। अब यहां पे एक सिंपल सा क्वेश्चन पूछने वाला हूं। बस थोड़ा सा
ट्रिकी रहेगा। ट्रिकी कैसे? देखो मैं बस एक चीज पूछूंगा। यहां पे एक रिक्वेस्ट आने वाली है। मतलब कि तीनों में से कोई एक
यूजर रिक्वेस्ट करेगा। मैं तुम्हें नहीं बता रहा कि कौन सा यूजर रिक्वेस्ट करने वाला है। लेकिन एक रिक्वेस्ट करेगा। तीनों
में से कोई एक यूजर जो होने वाला है वो हमारे सर्वर पे रिक्वेस्ट करेगा। और जो यहां पे रिक्वेस्ट होगी।
ठीक है? सो अब एक सेकंड रुक जाओ। बस थोड़ा सा ही बचा है।
ठीक है? तो देखो अब ये अपना सर्वर है। ये अपना Instagram का सर्वर है। इस Instagram के सर्वर पे एक रिक्वेस्ट आ रही है। क्या
तुम में से कोई अब मैं तो सुन नहीं पाऊंगा। कमेंट करके बता देना। क्या तुम में से कोई यहां पे बता सकता है कि भाई ये
रिक्वेस्ट तीनों में से किस यूजर के पास से आ रही है? सीधा आंसर क्या है? नहीं बता सकते। तुम बस गेस कर सकते हो कि भाई ए, बी
या सी तीनों में से कोई एक होगा। लेकिन जब हमारे पास 1 लाख यूजर होंगे या 10,000 यूजर होंगे, 1 करोड़ यूजर होंगे तो हम
कैसे पता करेंगे? हम कैसे गेस भी नहीं कर पाएंगे यार वहां पे तो कि भाई कौन से यूजर के पास से ये रिक्वेस्ट आ सकती है? तो अभी
ये जो रिक्वेस्ट आ रही है मैं नहीं बता सकता कि ये ए यूजर के पास से आ रही है बी यूजर के पास से आ रही है या सी यूजर के
पास से आ रही है। तो अब ये जो प्रोसेस होती है कौन सी प्रोसेस? कि भाई रिक्वेस्ट कौन से यूजर के पास से आ रही है या
रिक्वेस्ट कौन सा यूजर कर रहा है उसे आइडेंटिफाई करने को ही हम क्या बोलते हैं? ऑथेंटिकेशन। ऑथेंटिकेशन का मतलब क्या होता
है? ऑथेंटिकेशन का मतलब होता है कि रिक्वेस्ट जिस भी यूजर के पास से आ रही है उस यूजर को आइडेंटिफाई करना। इस प्रोसेस
को हम क्या बोलते हैं? ऑथेंटिकेशन। अब ये कैसे हम इंप्लीमेंट करते हैं? इस पे हम बात करेंगे। अब ऑथेंटिकेशन का बस एक मतलब
समझो कि रिक्वेस्ट जिस भी यूजर के पास से आ रही है उस यूजर को आइडेंटिफाई करना। इसे हम क्या बोलते हैं? ऑथेंटिकेशन। अब यहां
पे हम बात करते हैं ऑथराइजेशन पे। एक लास्ट टॉपिक हमारे पास बचता है क्या? ऑथराइजेशन। ऑथराइजेशन का मतलब क्या होता
है? सुनो। तो अब यहां पे मैं एक एग्जांपल लेता हूं। अ देखो हमारे पास सीन क्या है? एक कॉलेज की बिल्डिंग है। कॉलेज की
बिल्डिंग में मेनली हमारे पास तीन अलग-अलग टाइप के रूम्स रहते हैं। एक हमारे पास रहता है क्लास रूम। एक हमारे पास क्लास
रूम रहेगा। फिर एक हमारे पास यहां पे रहता है स्टाफ रूम। स्टाफ रूम हमारे पास प्रेजेंट रहता है। और फिर हमारे पास
फाइनली यहां पे आता है डायरेक्टर रूम। डायरेक्टर रूम मार्कस या डायरेक्टर रूम या चेयरमैन रूम तुम यहां पे बोल सकते हो। और
हमारे जो कॉलेज में तीन अलग-अलग टाइप के यूज़र्स रहते हैं। एक अपने रहते हैं यहां पे स्टूडेंट। फिर
हमारे पास एक रहती हैं फैकल्टीज। फैकल्टी और एक हमारे पास यहां पे प्रेजेंट रहता है
डायरेक्टर या चेयरमैन। दोनों काफी सिमिलर ही होते हैं। सो डायरेक्टर। ठीक है? तो हमारे पास यहां पे
एक कॉलेज के अंदर तीन अलग-अलग टाइप के रूम होते हैं और तीन अलग-अलग टाइप के हमारे पास यहां पे यूजर होते हैं। क्लास रूम,
स्टाफ रूम, डायरेक्टर रूम, स्टूडेंट, फैकल्टी और डायरेक्टर। ये तीन ये हमारे पास इतनी चीज है। अब देखो अगर मैं
स्टूडेंट की बात करता हूं तो स्टूडेंट के पास डायरेक्ट एक्सेस किस चीज का रहता है? क्लास रूम का कि वो क्लास रूम में जाके
सीधा बैठ सकता है। अपनी पढ़ाई वो वहां वहां पे बहुत ईजीली कर सकता है। लेकिन स्टूडेंट बिना पूछे स्टाफ रूम में नहीं जा
सकता और बिना पूछे डायरेक्टर रूम में भी नहीं जा सकता। है। लेकिन अगर मैं फैकल्टी की बात करता हूं तो फैकल्टी क्लास रूम में
जाके पढ़ा सकता है। जब भी उसका मन है वो क्लास रूम में जाके पढ़ा सकता है। सीधा डायरेक्ट एक्सेस उसके पास क्लास रूम का
रहता है। स्टार रूम में जाके बैठ सकता है। अपना काम कर सकता है। लेकिन बिना पूछे डायरेक्टर रूम में नहीं जा सकता। लेकिन
अगर मैं डायरेक्टर की बात करता हूं तो डायरेक्टर के साथ सीन क्या है कि क्लास रूम में भी बिना पूछे जा सकता है। स्टाफ
रूम में भी बिना पूछे जा सकता है और डायरेक्टर रूम तो उसी का है तो भाई उधर पे भी बिना पूछे जा सकता है। तो अब अगर तुम
यहां पे देखोगे तीन अलग-अलग टाइप के यूजर हैं। स्टूडेंट, फैकल्टी और डायरेक्टर। और तीनों यूजर के
पास अलग-अलग सेट ऑफ परमिशंस हैं। स्टूडेंट सिर्फ क्लास रूम एक्सेस कर सकता है। फैकल्टी क्लास रूम और स्टाफ रूम दोनों
एक्सेस कर सकता है। डायरेक्टर क्लास रूम, स्टाफ रूम और डायरेक्टर रूम तीनों को एक्सेस कर सकता है। तो यहां पे अलग-अलग
टाइप के यूजर अलग-अलग ऑपरेशंस, अलग-अलग एकशंस परफॉर्म कर सकते हैं। तो अब सेम चीज को जब आप अपने सर्वर पे इंप्लीमेंट करते
हो, किस तरीके से? जैसे कि अगर मैं यहां पे अगेन एग्जांपल लेता हूं स्पॉटिफाई का तो स्पॉटिफाई में दो टाइप के हमारे पास
यूजर होते हैं। स्पॉटिफाई स्पॉटिफाई आर्टिस्ट एक अपने पास स्पॉटिफाई आर्टिस्ट रहेगा। लेकिन पहले अगर मैं बात करता हूं
स्पॉटिफाई की सो स्पॉट फाई तो स्पॉटिफाई आर्टिस्ट ही फिर से आ रहा है। ओके
मतलब मेरे कहने का मतलब यह है कि भाई अगर तुम स्पॉटिफाई पे बात करते हो तो नॉर्मल यूजर रहते हैं जहां पे आप गानों को सुन
सकते हो, लिसन कर सकते हो और काइंड ऑफ़ खुद की प्लेलिस्ट क्रिएट कर सकते हो। लेकिन गाना क्रिएट नहीं कर सकते। लेकिन गाने
क्रिएट करने के लिए हमारे पास होते हैं स्पॉटिफाई के आर्टिस्ट कि भाई स्पॉटिफाई आर्टिस्ट जो रहते हैं अलग टाइप के यूज़र्स
वो गानों को क्रिएट भी कर सकते हैं स्पॉटिफाई पे। तो अब सीन क्या है? सीन यहां पे ये है कि भाई अब यहां पे मैं
बोलना ये चाह रहा हूं कि जब आप एक सर्वर क्रिएट करते हो तो वहां पे अलग-अलग यूज़र्स आप क्रिएट करते हो और उनके पास अलग-अलग
सेट ऑफ परमिशंस रहती हैं। और इस पूरे कांसेप्ट को क्या बोलते हैं कि भाई अलग-अलग यूजर जो आप क्रिएट कर रहे हो और
उनके पास अलग-अलग सेट ऑफ परमिशंस रहेंगी। इस पूरी चीज को आप बोलते हो ऑथराइजेशन। एक सिंगल लाइन में अगर बताऊं तो एक यूजर
क्या-क्या कर सकता है? जैसे कि आर्टिस्ट गाने क्रिएट भी कर सकता है, गाने सुन भी सकता है। नॉर्मल यूजर गानों को सुन सकता
है लेकिन गाने क्रिएट नहीं कर सकता स्पॉटिफाई पे। तो एक यूजर क्या कर सकता है? एक यूजर क्या नहीं कर सकता? इसे हम
क्या बोलते हैं? ऑथराइजेशन। ऑथेंटिकेशन का मतलब क्या था? ऑथेंटिकेशन का तो मतलब ये था कि भाई रिक्वेस्ट किस यूजर के पास से आ
रही है? उसे आइडेंटिफाई करना। इसे हम क्या बोलेंगे? ऑथेंटिकेशन। फिर हम यहां पे बात करते हैं वेरिफिकेशन की। जो डेटा हमारे
पास आ रहा है सर्वर पे जो डेटा आ रहा है वो डेटा सही है या नहीं? इस प्रोसेस को हम क्या बोलते हैं? वेरिफिकेशन। फिर हम बात
कर रहे हैं वैलिडेशन पे। जो डेटा हमारे पास आ रहा है वो डेटा सही फॉर्मेट में है या नहीं? इसे हम क्या बोलेंगे? वैलिडेशन
बोल रहे होते हैं। तो ये चार कोर पिलर होते हैं एक पूरे ऑथेंटिकेशन सिस्टम के। इन पूरे ऑथेंटिकेशन सिस्टम के साथ हम यहां
पे एक प्रॉपर चीजें जिसमें हम यूजर को प्रॉपर तरीके से ऑथेंटिक ऑथराइज कर सकके। ये सारी चीजें हम डेवलप करने वाले हैं। हम
कौन सा ऑथेंटिकेशन सिस्टम फॉलो करेंगे? मेनली दो टाइप के होते हैं। एक रहता है सेशन बेस्ड दूसरा रहेगा टोकन बेस्ड। हम
यहां पे फॉलो करेंगे टोकन बेस्ड। सेशन बेस्ड क्या होता है? उसकी नीड नहीं है अभी तुम्हें जानने की। तो उसको मत जानो। टोकन
बेस्ड ऑथेंटिकेशन सिस्टम यहां पे फॉलो करने वाले हैं। अब टोकन बेस्ड ऑथेंटिकेशन सिस्टम क्या होता है? कैसे उसको
इंप्लीमेंट करते हैं? पहले उसकी थोड़ी थ्योरी समझेंगे। फिर उसको JWT की हेल्प से हम कोड कर रहे होंगे हमारे एक्सप्रेस के
सर्वर में। चलो अब हम यहां पे सर्वर पे ऑथेंटिकेशन कैसे परफॉर्म करते हैं ये हमें समझना है। देखो होता क्या है? एक एग्जांपल
लेते हैं स्कूल का। अब स्कूल में अ एक एडमिशन ले रहा है एक स्टूडेंट। तो स्कूल में जब एक स्टूडेंट एडमिशन ले रहा होता है
तो वहां पे उसको एक आईडी कार्ड मिलेगा। उस आईडी कार्ड के अंदर उसका एक यूनिक सा रोल नंबर रहेगा। उसका फुल नेम रहता है। उसके
पेरेंट का नाम क्या होने वाला है? उसका पेरेंट का फोन नंबर क्या होने वाला है? और भी बहुत सारी डिटेल्स एक पर्टिकुलर यूजर
के स्टूडेंट के आईडी कार्ड में प्रेजेंट रहती हैं। और इस आईडी कार्ड से होता क्या है? जैसे कि देखो अब जो स्कूल है जिस
स्कूल में एक स्टूडेंट ने एडमिशन लिया है उस स्कूल में अगर लाइब्रेरी है, स्विमिंग पूल है और अगर प्लेग्राउंड या और कोई
फंक्शनैलिटी कंप्यूटर लैब है ये सारी चीजें तो अब अगर किसी को भी इन पर्टिकुलर या किसी स्टूडेंट को इन पर्टिकुलर
रिसोर्सेज के फैसिलिटीज के एक्सेस चाहिए तो उनको क्या चाहिए रहेगा? वहां पे उनका आईडी कार्ड चाहिए रहेगा और आईडी कार्ड के
बाद ही इन सारी फैसिलिटीज का वो एक्सेस कर सकते हैं। सिंपल सा है कि भाई अगर उनको इन फैसिलिटीज का एक्सेस चाहिए तो भाई तुम्हें
प्रूफ करना पड़ेगा कि तुम इसी इसी स्कूल के स्टूडेंट हैं तो वो अपना आईडी कार्ड दिखा के बता सकते हैं कि हां भाई हम इसी
पर्टिकुलर स्कूल के स्टूडेंट हैं। तो ये एक सिंपल सा सिस्टम रहता है। सेम चीज हमारे पास सर्वर पे भी होती है कि सर्वर
पे क्या होता है? सर्वर पे अगर आपको कोई भी रिसोर्स एक्सेस करने हैं तो वहां पे अब रिसोर्स कौन-कौन से एक्सेस कर सकते हैं?
जैसे कि हम यहां पे मानते हैं लेट्स से Instagram Instagram का अभी अभी हमारे पास यहां पे सर्वर है और Instagram पे मुझे एक
पोस्ट क्रिएट करनी है। तो एक पोस्ट क्रिएट करने के लिए Instagram को तुम्हें एटलीस्ट ये तो बताना पड़ेगा ना भाई तुम कौन हो और
Instagram को ये भी एटलीस्ट वहां पे वेरीफाई करना पड़ेगा भाई तुम एक वैलिड Instagram के यूजर हो या नहीं हो ये
Instagram के सर्वर को वेरीफाई करना पड़ेगा। अब ये सारी चीजें होती कैसे हैं? तो सुनो यहां पे होता ये है कि यूजर जब
सबसे पहले हमारे सर्वर पे आएगा लेट्स से हमारे पास यहां पर एक सर्वर है हमारे पास यहां पे एक सर्वर है ये रहा हमारा सर्वर
और इस सर्वर के पास हमारे पास यहां पे एक यूजर है तो हमारे पास यहां पे एक यूजर और प्रेजेंट है बढ़िया और देन हमारे पास यहां
पे क्या रहेगा यूजर सबसे पहले जो रिक्वेस्ट करता है हमारे सर्वर पे वो रिक्वेस्ट किस चीज की रहती है वो
रिक्वेस्ट यहां पे रहती है रजिस्टर की अच्छा रजिस्टर के टाइम पे क्या-क्या डेटा यहां पे भेजा जाता है रजिस्टर के टाइम पे
यहां पे यूजरनेम भेजा जाएगा सो यूजरनेम फिर यहां पे भेजा जाएगा ईमेल और ईमेल के बाद हम यहां पे भेजते हैं पासवर्ड। तो कुछ
इतनी चीजें हम यहां पे शेयर कर रहे होते हैं। तो जब एक यूजर रजिस्टर होता है जब एक यूजर रजिस्टर होता है तो रजिस्टर के टाइम
पे सर्वर पे वो क्या-क्या डिटेल्स भेजता है? यूजर नेम, ईमेल, पासवर्ड और भी बहुत सारी डिटेल्स होती हैं। लेकिन इन डिटेल्स
के साथ जो अपना सर्वर रहेगा वो अकाउंट क्रिएट करेगा। यूजर का डेटा सेव करेगा डेटाबेस में और डेटाबेस में डेटा सेव करने
के बाद यहां पे रिस्पांस भेज देता है। अब ये जो रिस्पांस भेजता है इसमें और भी चीजें प्रेजेंट रहती हैं। क्या-क्या? अब
इस रिस्पांस में और भी चीजें प्रेजेंट रहेंग। जैसे मैं बता रहा हूं क्या? सुनो। अब अगर मैं वापस से अपनी एनालॉजी पे आता
हूं जिसका नाम था क्या? स्कूल। तो स्कूल में एक स्टूडेंट आया। स्टूडेंट अपनी डिटेल्स फिल करेगा। उसका पेरेंट का नाम,
उसकी टीसीईसी जो भी पुराना स्कूल होगा ये सारी चीजों के साथ। वो अपनी डिटेल्स बताता है स्कूल को स्कूल। वो सारी डिटेल अपने
खुद के डेटाबेस में जो भी उनका रजिस्टर रजिस्टर होगा उसमें मेंटेन करेगा और मेंटेन करने के बाद स्टूडेंट को एक आईडी
कार्ड दे देता है कि भाई हां अगर आप ये आईडी कार्ड हमें दिखाओगे तो हम मान लेंगे कि आप हमारे स्कूल के स्टूडेंट हो। तो अब
सेम चीज आपका सर्वर कर रहा होता है कि यूजर अपनी बहुत सारी डिटेल्स यहां पे शेयर करता है हमारे सर्वर के पास और सर्वर इन
सारी डिटेल्स को अपने पास सेव कर लेता है। लेकिन सर्वर बदले में एक चीज देता है जिसका नाम क्या रहता है? टोकन। इसका नाम
क्या रहेगा भाइयों? इसका नाम हमारे पास यहां पे रहता है टोकन। तो सर्वर एक टोकन बनाता है। अच्छा यहां पे सर्वर क्या बनाता
है? सर्वर यहां पे एक टोकन बनाएगा। और इस टोकन के अंदर जैसे कि स्टूडेंट जब स्कूल के अंदर एडमिशन ले रहा था तो एक आईडी
कार्ड मिला और उस आईडी कार्ड के अंदर एक यूनिक चीज रहती है। तो वो यूनिक चीज क्या रहती है? रोल नंबर रहता है और बाकी उसी
स्टूडेंट की डिटेल्स हो रही होती हैं। तो सिमिलर वे पे सर्वर भी यहां पे एक टोकन क्रिएट करता है। सर्वर भी यहां पे एक टोकन
क्रिएट करता है और इस टोकन के अंदर यूजर की डिटेल या बोल सकते हैं यूजर का डेटा यहां पे प्रेजेंट रहता है। लेट्स से ये जो
हमारा यूजर है ये हमारा ए यूजर है। तो यहां पे अपना ए यूजर है। तो ये जो ए यूजर है अभी सर्वर जो टोकन क्रिएट करेगा इस
टोकन के अंदर जो डिटेल होगी आप बोल सकते हो जो डेटा रहेगा वो किस यूजर का रहेगा? ए यूजर का यहां पे डेटा प्रेजेंट होने वाला
है। बढ़िया। तो ए यूजर का यहां पे डेटा प्रेजेंट रहेगा। और अब सर्वर करता क्या है? देखो एक बार फिर से सुनो क्या? कि
देखो ए यूजर रजिस्टर क्रिकेस्ट भेजेगा हमारे सर्वर पे। रिक्वेस्ट भेजने के बाद रिक्वेस्ट के अंदर यूजरनेम, ईमेल, पासवर्ड
और बहुत सारी डिटेल्स रहेंगी हमारे ए यूजर की। फिर सर्वर इन सारी डिटेल्स को अपने पास सेव करता है और एक टोकन क्रिएट करेगा।
इस टोकन के अंदर डेटा किसका रहता है? इस टोकन के अंदर जो भी यूजर रजिस्टर कर रहा होगा मतलब कि अभी जो ए यूजर अपना रजिस्टर
कर रहा है इस ए यूजर की डिटेल्स हमारे इस टोकन के अंदर रहती है। फिर सर्वर ये टोकन हमारे अपने पास नहीं रखेगा। ये टोकन जिस
जो यूजर रजिस्टर कर रहा था उसी यूजर के पास भेज देता है। अपने पास तो रखता भी नहीं है वो टोकन। तो यही सेम चीज हम कर
रहे थे क्या कि भाई जब एक स्टूडेंट रजिस्टर हो रहा था तो जब एडमिशन ले रहा था तो उसकी डिटेल्स हम सेव कर रहे थे हमारे
डेटाबेस में एक और आईडी कार्ड क्रिएट करने के बाद वो आईडी कार्ड स्टूडेंट को दे दे रहे थे कि कोई अगर तुम्हें आगे जाके कुछ
भी अगर रिसोर्स यूज़ करने हैं, कंप्यूटर लैब यूज़ करनी है, लाइब्रेरी एक्सेस करनी है, स्विमिंग पूल एक्सेस करना है तो इन
सारी चीज के लिए तुम आईडी कार्ड दिखा देना और देन तुम इन सारी फैसिलिटीज़ को यूज़ कर पाओगे। तो अब सुनो यूजर ने रजिस्टर किया।
रजिस्टर करने क्या? सर्वर ने एक टोकन क्रिएट किया। टोकन दे दिया किसको? यूजर को। तो अब सर्वर को या बोल सकते हो जो
हमारा यूजर है यूजर को अगर कुछ भी रिसोर्स एक्सेस करने हैं हमारे सर्वर पे। लेट्स से अब यूजर Instagram का हमारा सर्वर है। तो
Instagram के सर्वर पे अब अगर यहां पे उसे पोस्ट क्रिएट करनी है। लेट्स से जो हमारा यूजर है अब इस यूजर को पोस्ट क्रिएट करनी
है हमारे Instagram के सर्वर पे। तो होगा क्या कि यूजर इस बार रिक्वेस्ट तो भेजेगा लेकिन सर्वर ऐसी हर हर किसी की बात नहीं
मानता। Instagram का जो सर्वर है आपको पोस्ट सिर्फ तब क्रिएट करने देता है जब आपने वहां पे लॉगिन किए होंगे। तो होगा
क्या कि भाई यहां पे यूजर रिक्वेस्ट तो करता है कि हां भाई मुझे एक पोस्ट क्रिएट करनी है। लेकिन सर्वर उसको सुनेगा ही
नहीं। क्यों? क्योंकि भाई मुझे पता ही नहीं चल रहा कि भाई ये जो रिक्वेस्ट आ रही है कौन से यूजर के पास से आ रही है। तो
फिर यूजर क्या करता है? यूजर यहां पे जो एक टोकन उसके पास था उसकी एक कॉपी इस पर्टिकुलर रिक्वेस्ट के साथ भेजता है। अब
ये कैसे भेज दे रहा है यार ये बताऊंगा मैं बताऊंगा टेंशन मत लो। ये बताऊंगा कि भाई रिक्वेस्ट के साथ टोकन कैसे भेजते हैं ये
भी इस पे भी हम बात करने वाले हैं। तो सुनो अब जो अपना यूजर रहता है यूजर यहां पे एक रिक्वेस्ट करेगा पोस्ट क्रिएट करने
की और रिक्वेस्ट के साथ हमारा टोकन यहां पे जा रहा होता है। तो सर्वर के पास जब ये पोस्ट क्रिएट करने की रिक्वेस्ट आती है तो
सर्वर पहले यहां पे टोकन पड़ेगा। अच्छा जब टोकन वो पड़ेगा तो टोकन के अंदर डेटा किसका था? ए यूजर का था। तो यहां पे सर्वर
समझता है कि हां भाई ये ए यूजर का डेटा है। ए यूजर इस पर्टिकुलर रिक्वेस्ट को कर रहा है और तब वो यहां पे इस पर्टिकुलर
पोस्ट को क्रिएट करने के लिए अलाउ कर देता है। अब इसको थोड़ा और अच्छे तरीके से समझ सकते हैं। देखो होता क्या है कि लेट्स से
हमारे पास यहां पे अगेन एक सर्वर है। एक सर्वर के पास हमारे पास यहां पे अलग-अलग यूजर हैं। हमारे पास यहां पे तीन यूजर
हैं। मान लो हमारे पास यहां पे तीन यूजर है। ए यूजर है। फिर हमारे पास यहां पे एक यूजर और आता है बी यूजर और फिर हमारे पास
एक यूजर और आता है इसका नाम हम यहां पे बोल देते हैं सी यूजर बढ़िया तीनों यूजर ने यहां पे
सबसे पहला जो काम किया था सर्वर पे आके उन्होंने रजिस्टर किया था भाई सबसे पहले तीनों ने रजिस्टर कर लिया था अब क्योंकि
तीनों रजिस्टर कर चुके हैं और हर बार रजिस्टर करने पे सर्वर एक टोकन क्रिएट करता है और टोकन उसी यूजर को दे देता है
तो इन तीनों के लिए इन तीनों के लिए हमने यहां पे एक टोकन मतलब हमने नहीं हमारा जो सर्वर है सर्वर ने यहां पे एक टोकन क्रिएट
किया। एक ए के लिए टोकन क्रिएट किया। यहां पे अगर मैं आता हूं। सो एक ए के लिए इधर पे टोकन क्रिएट किया गया। फिर इस जगह पे
बी के लिए एक टोकन क्रिएट किया गया। और उसी यूजर को यहां पे टोकन वापस से दे दिया गया। भाई आप इसको सेव कर लो। आगे जो भी
रिक्वेस्ट करोगे उसे आपको यहां पे भेजना रहेगा। तो क्या अब होगा क्या? सुन अब होगा कुछ ऐसा कि भाई अब
अगर यहां पे ए यूजर कुछ भी रिक्वेस्ट करेगा रजिस्टर करने के बाद अगर ए यूजर अब कुछ भी रिक्वेस्ट करेगा रजिस्टर करने के
बाद हमारे सर्वर पे तो जो भी रिक्वेस्ट जाएगी कुछ भी रिक्वेस्ट हो सकती है एक पोस्ट को क्रिएट करने की रिक्वेस्ट हो
सकती है पोस्ट को मंगवाने की रिक्वेस्ट हो सकती है मतलब कि जितनी पोस्ट क्रिएट हुई हैं उन सारी पोस्ट को मंगवाने की फीड शो
करने की रिक्वेस्ट भी यहां पे हो सकती है तो हर रिक्वेस्ट के साथ जो भी टोकन सर्वर ने पहले क्रिएट करके दिया होगा उस टोकन की
एक कॉपी हमें हर एक रिक्वेस्ट के साथ यहां पे भेज भेज रहे होंगे। बी अगर कोई रिक्वेस्ट करेगा तो बी भी अपने टोकन की एक
कॉपी सर्वर के पास भेज रहा होगा। और अगर यहां पे सी रिक्वेस्ट करेगा सर्वर पे तो सी भी अपने टोकन की एक कॉपी रिक्वेस्ट के
साथ भेज रहा होता है। और सर्वर क्या करता है? सर्वर यहां पे ये जो रिक्वेस्ट आ रही हैं इन रिक्वेस्ट के साथ जो टोकन आ रहा है
इन टोकन को पढ़ता है। जैसे कि ये जो रिक्वेस्ट है ये हमारे ए यूजर के पास से आ रही है। ये सर्वर को कैसे पता चलेगा?
रिक्वेस्ट के साथ ये जो टोकन आ रहा है इस टोकन को सर्वर पढ़ेगा और सर्वर को जब ये टोकन पड़ता है तो इसके अंदर डिटेल्स किसकी
रहेंगी? ए यूजर की। क्यों? क्योंकि भाई जो टोकन क्रिएट किया जाता है वो यूजर की डिटेल्स के साथ ही क्रिएट किया जाता है।
तो ये जो रिक्वेस्ट आएगी इसके साथ एक टोकन आएगा। टोकन के जब डेटा को हम पढ़ेंगे तो वो डेटा निकलेगा यूजर का ए यूजर का और उस
डेटा के साथ उस डेटा के साथ हमें पता चलता है कि हां भाई सर्वर को पता चलेगा कि हां ये जो रिक्वेस्ट आ रही है ये ए यूजर के
पास से आ रही है। ये जो रिक्वेस्ट है इसके साथ जो टोकन है इस टोकन के अंदर बी यूजर का डेटा है। तो ये जो पर्टिकुलर रिक्वेस्ट
आ रही है ये अपनी किन किसके पास से आ रही है? बी यूजर के पास। ये जो हमारे पास एक रिक्वेस्ट आ रही है इसके अंदर टोकन किसका
है? सी यूजर का टोकन है। तो हमारे पास ये जो रिक्वेस्ट है ये किसके पास से आएगी? सी यूजर के पास से ये रिक्वेस्ट आ रही है कि
ये हमारा सर्वर अस्यूम कर लेता है। बस इतनी सी कहानी रहती है। और इसी को हम क्या बोलते हैं? ऑथेंटिकेशन जिसमें हम पता करते
हैं कि भाई एक जो रिक्वेस्ट है, एक जो हमारी रिक्वेस्ट है, ये रिक्वेस्ट किस पर्टिकुलर यूजर के पास से आ रही है। हम
सर्वर ये मानता है कि भाई रिक्वेस्ट के साथ जो टोकन है और टोकन के अंदर जिस यूजर की डिटेल है उसी यूजर के पास से रिक्वेस्ट
आ रही होगी। ये हमारा सर्वर मान के चलता है। तो ये पूरा हमारा ऑथेंटिकेशन कुछ इस तरीके से काम करता है। अब इसे किस तरीके
से हम इंप्लीमेंट करेंगे एक्सप्रेस के हेल्प से वो वो हमें यहां पे समझना है। तो अब ये समझते हैं। चलो फाइनली अब हमारे
वीएस कोड पे आ चुके हैं। वीएस कोड पे आने के बाद हम यहां पे एक फोल्डर इनिशिएट करेंगे। नोट js एप्लीकेशन। सो एनपीएट hfन
y और hfन y के बाद जैसे मैं यहां पे एंटर करूंगा तो पैकेज डॉट jsn फाइल मुझे मिल जाएगी। कुछ पैकेज मुझे यहां पे इंस्टॉल
करने रहेंगे। पैकेज का नाम रहेगा एक्सप्रेस और मोंगूस। तो दो पैकेज हम यहां पे इंस्टॉल करेंगे। इंस्टॉल करने के बाद
कुछ पैकेज की जरूरत अभी मुझे और पड़ने वाली है। जैसे कि एक का नाम रहेगाV तो एनवी पैकेज की मुझे यहां पे जरूरत
पड़ेगी। और अब अगर मैं यहां पे आगे बढ़ता हूं तो एक फाइल हम यहां पे क्रिएट कर रहे होंगे। फाइल का नाम क्या रखेंगे? एसआरसी
फोल्डर के अंदर एक फाइल app डॉट जेएस। तो apps फाइल क्रिएट करेंगे। यहां पर हम सबसे पहले रिक्वायर करेंगे मोंगूस इक्व टू
रिक्वायर मोंगूस। मोंगूस रिक्वायर करने के बाद कॉस्ट हां मोंगूस रिक्वायर नहीं करेंगे। सबसे पहले हम यहां पे रिक्वायर
करते हैं एक्सप्रेस इक्वल्स टू रिक्वायर एक्सप्रेस एंड कॉस्ट ऐप इक्व एक्सप्रेस को किया कॉल एक सर्वर
का इंस्टेंस क्रिएट किया और मॉड्यूल डॉट एक्सपोर्ट ऐप हम यहां से बोल सकते हैं। और एक फाइल हम यहां पे और क्रिएट करते हैं।
फाइल का नाम क्या रखते हैं? server डॉट जेएस तो serverjs कॉस्ट
ऐप इक्व रिक्वायर और रिक्वायर के अंदर हम यहां पे बोलेंगे कि एसआरसी फोल्डर के अंदर ऐप फाइल को अगर मैं यहां पे रिक्वायर करता
हूं तो मैं बोल सकता हूं ऐप डॉट लिसन पोर्ट नंबर 3000 कॉल बैकक और कॉल बैकक के अंदर हम यहां पे बोल सकते हैं सर्वर इज़
रनिंग ऑन पोर्ट 3000 बढ़िया है। तो अभी तक सर्वर क्रिएट हो चुका है। सर्वर स्टार्ट हो चुका है। अब हमारा जो नेक्स्ट काम
रहेगा वो रहेगा डेटाबेस से कनेक्ट करना। डेटाबेस से कनेक्ट करने का जो लॉजिक जाता है वो जाता है डीबी फोल्डर के अंदर डीबी
डॉट जेएस फाइल में। बढ़िया तो DBJS फाइल के अंदर ये पूरा लॉजिक हमारा जाएगा। तो कॉस्ट मोंगूस हम यहां पे करेंगे रिक्वायर। तो
रिक्वायर कर रहे होंगे मोंगूस और मोंगूस रिक्वायर करने के बाद इस बार जो हम फंक्शन क्रिएट करने वाले हैं वो फंक्शन थोड़ा
अच्छा रहेगा। थोड़ी बहुत एरर हैंडलिंग उसके अंदर होने वाली है। तो फंक्शन का नाम यहां पे रख रहे हैं कनेक्ट डीबी और कनेक्ट डीबी
फंक्शन के अंदर हम यहां पे बोलेंगे ट्राई एंड कैच। कि भाई कभी-कभी यहां पे हो जाता है कि जो आपका सर्वर है वो डेटाबेस से
कनेक्ट ना कर पाए। तो उस टाइम पे एक एरर आता है। तो उसी एरर को हैंडल करने के लिए हम यहां पे कंसोल लगवा रहे हैं। और बाकी
जो आपका कोड रहेगा वह कोड आपका कैसा जा रहा होगा तो भाई ट्राई के अंदर हम यहां पे बोलेंगे कि
उम वी कैन से अवेट अवेट मोंगूस डॉट कनेक्ट और कनेक्ट के अंदर हम
यहां पे बोल रहे होंगे प्रोसेस डॉट एनv मोंगो यूआर इतना हम यहां पे बोल रहे होंगे और जब हमारा डेटाबेस से कनेक्ट हो जाएगा
देन कंसोल करवाएंगे डेटाबेस कनेक्टेड सक्सेसफुली बढ़िया तो ये फंक्शन हम क्रिएट कर चुके हैं फंक्शन क्रिएट करने के बाद हम
यहां पर मॉड्यूल डॉट एक्सपोर्ट कनेक्ट डीवी फंक्शन को एक्सपोर्ट किया और एक्सपोर्ट करने के बाद सर्वर डॉट जेएस में
इस फंक्शन को करेंगे रिक्वायर तो कनेक्ट डीवी फंक्शन को किया रिक्वायर और रिक्वायर करने के बाद हम यहां पर एक लाइन लिखेंगे
रिक्वायर एनv डॉट कॉन्फिग और कॉन्फिग के बाद हम यहां पे बोल सकते हैं कनेक्ट डीवी फंक्शन को करेंगे कॉल तो ठीक है बढ़िया है
कनेक्ट डीवी फंक्शन को हमने यहां पे कॉल किया अच्छा ये रिक्वायर्ड डॉट कॉन्फिग अगर तुम्हें याद नहीं है तो एक और बता दूं जो
हमने प्रोसेस डॉट मंगो यूआरआई बनाया हूं हूं इस पर्टिकुलर यूआरआई या बोल सकते हो इस वेरिएबल को एक्सेस करने के लिए। अच्छा
ये वेरिएबल कहां पे रहता है? ये वेरिएबल रहता है फाइल के अंदर मोंगो अंडरs यूआरआई नाम से यूरी नहीं यूआरआई नाम से ये
वेरिएबल यहां पे रखा जाएगा। और इस वेरिएबल की वैल्यू आपको कहां से मिल जाएगी? मोंगो डीबी कंपास से। तो जो आपका मोंगो डीबी
कंपास है जहां पे हमारे क्लस्टर को हमने कनेक्ट करके रखा था। इस क्लस्टर पे आते हैं। और क्लस्टर पे आने के बाद जो हमारा
क्लस्टर है कॉपी कनेक्शन स्ट्रिंग। कॉपी कनेक्शन स्ट्रिंग के बाद अब ये यूआरआई मैं आपको नहीं दिखा सकता क्योंकि चेंज मैं उसे
कर चुका हूं। सो यूआरआई मैं आपको नहीं दिखाऊंगा। बस जो डेटाबेस का नाम है डेटाबेस का नाम लेट्स से अ मैं यहां पे रख
सकता हूं। उम लेट्स से डेटाबेस का नाम रखने में थोड़ा सा इधर-उधर लगता है। लेट्स से डेटाबेस का नाम हमने यहां पे रख दिया
प्लूटो। जो हमारे प्लनेट का एक नाम है प्लनेट अब है नहीं शायद वो बट तो प्लूटो हमने यहां पे हमारे डेटाबेस का नाम रख के
रखा हूं और इसको वापस से मैं हाइड कर रहा हूं तो हमारे पास एक मंगो डीबी यूआरआई वेरिएबल हैवी फाइल के अंदर और ये प्लूटो
डेटाबेस से कनेक्ट हां उसी से कनेक्टेड है ट्रस्ट करो उसी से कनेक्टेड ये जो हमारा डेटाबेस है प्लूटो नाम का डेटाबेस है और
उससे अभी हम यहां पे कनेक्ट करके रखे हैं और अब अगर मैं यहां पे आता हूं एंड फाइनली कमांड रन करूंगा एनपीx नोडम ऑन server
डॉटjs तो जो मेरी फाइल रहेगी वो रन होगी सर्वर स्टार्ट होगा और डेटाबेस से कनेक्ट हो जाएगा। अब बढ़िया है। तो अब देखो करना
क्या है? अब मुझे यहां पे करना कुछ ये है कि भाई मुझे एक यूजर को रजिस्टर करना है। जैसा हमारा एक फ्लो जा रहा था क्योंकि
सबसे पहले यूजर आता है वो रजिस्टर करेगा। रजिस्टर के टाइम पे यूजरनेम, ईमेल और पासवर्ड इतनी सारी चीजें वो देता है और
सर्वर उसके बदले में एक टोकन क्रिएट करता है। टोकन क्रिएट करने के लिए अलग पैकेज हमें चाहिए रहेंगे। टोकन क्रिएट करने के
बाद टोकन वो कहां पे सेंड कर देता है? हमारे यूजर के पास और यूजर इस टोकन को अपने पास सेव करेगा और इसके आगे जो भी
रिक्वेस्ट होने वाली हैं उन रिक्वेस्ट हर एक रिक्वेस्ट में टोकन को भेजेगा। अच्छा तो जैसे कि अगर यूजर दो रिक्वेस्ट करेगा
तो क्या दोनों रिक्वेस्ट के साथ टोकन आएगा? हां दोनों रिक्वेस्ट के साथ टोकन आएगा। अगर यूजर 10 रिक्वेस्ट करेगा क्या
10 रिक्वेस्ट के साथ हर 10 रिक्वेस्ट के साथ टोकन जाएगा? हां। हर 10 रिक्वेस्ट के साथ टोकन जा रहा होगा। अगर यूजर 100
रिक्वेस्ट करेगा तो 100 की 100 रिक्वेस्ट के साथ हर रिक्वेस्ट के साथ टोकन जाएगा। अच्छा यूजर 1 लाख रिक्वेस्ट करेगा तो तो 1
लाख रिक्वेस्ट के साथ टोकन आपका जाएगा सर यूजर से सर्वर के पास 1 करोड़ रिक्वेस्ट करेगा तो तो 1 करोड़ रिक्वेस्ट के साथ भी
टोकन जाएगा यूजर के पास से सर्वर पे तो अगर यूजर के पास टोकन है तो वो टोकन यूजर को भेजना पड़ेगा हमारे सर्वर पे ये एक तुम
रूल बोल सकते हो कि भाई सबसे पहले यूजर रजिस्टर करेगा सर्वर एक टोकन क्रिएट करेगा टोकन दे देगा वो यूजर को और फिर इसके बाद
जितनी भी रिक्वेस्ट यूजर करने वाला है। हर एक रिक्वेस्ट के साथ टोकन जाएगा ही जाएगा हमारे सर्वर पे। ये एक रूल तुम बांध सकते
हो कि हां भाई ये एक रूल होता है। ऑथेंटिकेशन सिस्टम है जिसे फॉलो करना पड़ता है। तो यही सेम चीज हमें यहां पे
इंप्लीमेंट करनी है। क्या कि सबसे पहले हमें यहां पे एक यूजर को रजिस्टर करना है हमारी एप्लीकेशन पे। अब रजिस्टर करने के
लिए उसका डेटा हमें सेव करना रहेगा। डेटा सेव करने के लिए हमारे डेटाबेस में एक मॉडल क्रिएट करना पड़ता है। तो मॉडल हम
यहां पे कहां क्रिएट करेंगे? मॉडल्स फोल्डर के अंदर। और मॉडल्स फोल्डर के अंदर यूजर डॉट मॉडल जेS नाम से एक फाइल क्रिएट
करेंगे। रिक्वायर करेंगे हम यहां पर मोंगूस इक्व टू रिक्वायर मोंगूस को रिक्वायर किया और स्कीमा क्रिएट करेंगे
कॉस्ट यूजर स्कीमा इक्व टू न्यू मोंगूस डॉट स्कीमा और न्यू मोंगूस डॉट स्कीमा के अंदर हम सिंपल अभी कुछ चीजें ही
बता रहा हूं कि हमारे पास यहां पे होगा यूजरनेम जिसका टाइप होने वाला है स्ट्रिंग और स्ट्रिंग के बाद अभी जो हमारा स्कीमा
है इसको और अच्छे लेवल पे हमें समझना है कि भाई और स्कीमा वैलिडेशन आगे चल के क्या होता है वो हमें समझना रहेगा। सो यूजरनेम,
ईमेल और पासवर्ड ये सारी चीजें हम अभी के लिए अभी के लिए बस यही तीन चीजें स्टोर करेंगे हमारे डेटाबेस में। फाइनली हम यहां
पे क्रिएट करेंगे कॉस्ट यूजर मॉडल = मंगूस डॉट मॉडल और मॉडल के अंदर मैं यहां पे कलेक्शन का नाम दूंगा यूजर और यूजर स्कीमा
हम यहां पे यूज़ कर रहे होंगे। तो यूजर मॉडल क्रिएट किया और मॉड्यूल डॉट एक्सपोर्ट पे अगर मैं बोलता हूं तो यहां
पे हमने यूजर मॉडल को एक्सपोर्ट कर दिया है। यूजर मॉडल एक्सपोर्ट करने के बाद अब हम यहां पे क्या करेंगे? कुछ एपीआई डेवलप
करनी है। कौन सी एपीआई जहां पे यूजर को रजिस्टर किया जा सकता है। रजिस्टर करने के बाद यूजर का डेटा सेव करेंगे डेटाबेस में
और डेटाबेस में सेव करने के बाद एक टोकन क्रिएट करेंगे और उस टोकन को यूजर को देना रहेगा। तो अब ये टोकन होता क्या है
एग्जैक्टली इस पे भी डिस्कशन करना है। लेकिन अब थोड़ी और देखो जैसे-जैसे वीडियो आगे बढ़ने वाला है वैसे-वैसे प्रोडक्शन का
जो फोल्डर स्ट्रक्चर रहेगा वो और बढ़ता जाएगा। तो अब एक चीज सुनो क्या कि हम एपीआई app.js फाइल में क्रिएट नहीं करते।
हां, यही है। अभी तक क्यों क्रिएट कर रहे थे? क्योंकि तुम्हें मैं सारी चीजें इकट्ठा नहीं पढ़ा सकता। समय-समय पर चीजें
बदलेंगी। समय-समय पर नई चीजें आएंगी। जो चीजें बेहतर होंगी, वैसे-वैसे चीजें आती जाएंगी। तो अब मैं यहां पे बोल रहा हूं कि
भई apps फाइल में हम एपीआई क्रिएट नहीं करते। हम कहां पे क्रिएट करते हैं? हम यहां पे एक फाइल क्रिएट करते हैं। फाइल से
पहले एक फोल्डर क्रिएट करते हैं। फोल्डर का नाम रहता है क्या? राउट्स। और अभी क्योंकि हम एक रजिस्टर एपीआई क्रिएट करने
वाले हैं। रजिस्टर एपीआई एक ऑथेंटिकेशन काइंड ऑफ एपीआई है। मतलब कि ऑथेंटिकेशन की कैटेगरी में वो फॉल होती है। तो हम यहां
पे एक फाइल क्रिएट करेंगे ऑथ डॉट राउट्स डॉटjs और इस पर्टिकुलर फाइल के अंदर हम अपनी एक एपीआई क्रिएट करेंगे। अच्छा तो हम
अब इधर पे कैसे एपीआई क्रिएट करेंगे? app.js में तो हम यहां पे सीधा लिख पा रहे थे कि भाई app डॉट पोस्ट इसकी हेल्प से हम
एक एपीआई क्रिएट कर पा रहे थे। लेकिन ऑथ डॉट राउट्स में तो हमारे पास apps नहीं है। तो क्या हम यहां पे ऐप यहां से जो
एक्सपोर्ट किया है उसको यहां पे रिक्वायर कर लें? नहीं ऐसा नहीं रहता। तुम यहां पे वापस से रिक्वायर करोगे एक्सप्रेस इक्व टू
रिक्वायर एक्सप्रेस को रिक्वायर किया। एक्सप्रेस रिक्वायर करने के बाद तुम यहां पे क्रिएट करोगे क्या? राउटर राउटर
एक्सप्रेस डॉट राउटर रिक्वायर किया। अ सॉरी क्रिएट किया। क्रिएट करने के बाद मॉड्यूल डॉट एक्सपोर्ट राउटर तुम यहां से
एक्सपोर्ट कर दोगे। और ये जो राउटर तुमने क्रिएट किया है, इस राउटर की हेल्प से तुम आगे एपीआई क्रिएट करने वाले हो। जैसे कि
मुझे यहां पे एक एपीआई क्रिएट करनी है। राउटर डॉट पोस्ट और इस पर्टिकुलर पोस्ट एपीआई पे हम यहां पे लिखेंगे स्लैश
रजिस्टर और स्लैश रजिस्टर के बाद अब यहीं पे चीजें और थोड़ी कॉम्प्लेक्स होंगी। क्या कि एपीआई कौन-कौन सी होने वाली है वो
हम यहां पे बताएंगे। और एपीआई पे होगा क्या? मतलब कि एग्जैक्टली हम किस तरीके से रजिस्टर करने वाले हैं। ये हम कहीं और
फाइल में बता रहे होते हैं। जैसे कि अगर मैं यहां पे सिंपल लिखता हूं रिक्वेस्ट एंड रिस्पांस और इस कॉल बैक के अंदर मेरे
पास कुछ डेटा आएगा। डेटा मेरे पास क्या-क्या आएगा? मेरे पास यहां पे रिक्वेस्ट डॉट बॉडी के अंदर यूजरनेम आएगा।
यूजरनेम ईमेल और पासवर्ड रिक्वेस्ट डॉट बॉडी के अंदर आ रहा होगा। लेकिन अभी नहीं आएगा। क्यों? क्योंकि app डॉट जेS में
हमने एक मिडिल वेयर यूज़ नहीं किया। app डॉट यूज़ एक्सप्रेस डॉट json तब तक ये नहीं आता। बढ़िया। तो अब डेटा मेरे पास आ जाएगा
और इस डेटा के बाद मैं लॉजिक लिख दूंगा कि भाई इस यूजर के साथ एक अकाउंट क्रिएट करो। उसका डेटा सेव करो हमारे डेटाबेस में और
एक टोकन क्रिएट करने का। अब टोकन कैसे क्रिएट होना है वो भी हमें समझना है। वो टोकन भेज दो यूजर के पास वापस से। तो ये
लॉजिक इस कंट्रोलर के अंदर इस कॉलबक के अंदर जाएगा। लेकिन आपकी जो राउट्स फाइल होती हैं, आपकी जो राउट्स फाइल होती हैं,
इनके अंदर आप लॉजिक नहीं लिख रहे होते हो कि इस पर्टिकुलर एपीआई पे एग्जैक्टली लॉजिक क्या होगा? लॉजिक लिखने के लिए तो
एक अलग फाइल होती है। अलग फोल्डर होता है। फोल्डर का नाम क्या रखते हैं? कंट्रोलर्स। कंट्रोलर्स फोल्डर का नाम रहेगा। और
कंट्रोलर्स फोल्डर के अंदर हम यहां पे बोलेंगे ऑथ डॉट कंट्रोलर डॉट जेएस। और इस कंट्रोलर फाइल के अंदर हम यहां पे कौन
सबसे पहले यूजर मॉडल जो रहेगा इसे रिक्वायर करेंगे। एक फंक्शन क्रिएट करते हैं। असिंग फंक्शन। फंक्शन का नाम हम यहां
पे बोल सकते हैं रजिस्टर और रजिस्टर यूजर नाम से एक फंक्शन क्रिएट करेंगे। इस फंक्शन के अंदर रिक्वेस्ट रिस्पांस दो
चीजें रहेंगी और अगेन अब हम यहां पे बोलेंगे क्या यूजरनेम ईमेल और पासवर्ड इन्हें करेंगे डिस्ट्रक्चर और बाकी अभी
लॉजिक जाएगा कि भाई किस तरीके से आप यूजर को रजिस्टर करने वाले हो और जब तक हम यहां पे मॉड्यूल डॉट एक्सपोर्ट ऑब्जेक्ट के
फॉर्मेट में रजिस्टर को एक्सपोर्ट करेंगे ये समझ में नहीं आएगा मैं बता रहा हूं फिर से देखो अब जो हमारी कंट्रोलर डॉट जेस
फाइल है इस फाइल से हम एक्सपोर्ट क्या करेंगे एक्सपोर्ट करेंगे एक एम्प्टी ऑब्जेक्ट ओके तो यहां से हमने एक्सपोर्ट
क्या किया एक एम्प्टी ऑब्जेक्ट एक्सपोर्ट किया ठीक और अब जो हमारी राउट्स फाइल फाइल होने वाली है। राउट्स फाइल के अंदर मैं
यहां पर रिक्वायर करूंगा ऑथ कंट्रोलर इक्व टू रिक्वायर। मैं यहां पे क्या बोल रहा हूं? रिक्वायर मैं यहां पे
बोलूंगा कि भाई जो कंट्रोलर्स फोल्डर के अंदर ऑथ कंट्रोलर है इसे आप कर रहे हो रिक्वायर। बढ़िया। ऑथ कंट्रोलर से तुम
एक्सपोर्ट क्या कर रहे हो? बस एक एम्प्टी ऑब्जेक्ट। तो इधर पे रिक्वायर क्या होगा? एक एम्प्टी ऑब्जेक्ट रिक्वायर होगा। हां,
बढ़िया है। तो एम्प्टी ऑब्जेक्ट तुम यहां से रिक्वायर कर रहेगे। लेकिन वही तो नहीं करना है। हमें यहां से ये जो रजिस्टर यूजर
फंक्शन है इसका यूज़ करना है। तो इस एम्प्टी ऑब्जेक्ट के अंदर मैंने रजिस्टर यूजर जो अपना फंक्शन है इसे एक्सपोर्ट
किया। और एक्सपोर्ट करने के बाद अब देखो होगा क्या? अब ये जो एम्प्टी ऑब्जेक्ट है अब ये एम्प्टी ऑब्जेक्ट रहा नहीं। इस
ऑब्जेक्ट के अंदर एक प्रॉपर्टी है। प्रॉपर्टी का नाम क्या है? रजिस्टर यूजर। और इस प्रॉपर्टी की वैल्यू क्या है? हमारा
एक फंक्शन। फंक्शन के दो पैरामीटर रिक्वेस्ट और रिस्पांस। ये दोनों पैराटर्स यहां पे हो रहे हैं। तो अब यहां पे आप एक
एम्प्टी ऑब्जेक्ट एक्सपोर्ट नहीं कर रहे हो। क्या एक्सपोर्ट कर रहे हो? एक ऑब्जेक्ट जिसके अंदर प्रॉपर्टी है रजिस्टर
यूजर नाम की और इस प्रॉपर्टी की वैल्यू क्या है? एक फंक्शन जिसका नाम है रजिस्टर यूजर। ये आप यहां से एक्सपोर्ट कर रहे हो।
तो इधर पे इस बार जो ऑब्जेक्ट आप रिक्वायर कर रहे हो इसके अंदर एक ऑब्जेक्ट तो है लेकिन ऑब्जेक्ट के अंदर एक प्रॉपर्टी है।
प्रॉपर्टी का नाम क्या है? रजिस्टर यूजर और इसे आप यहां पे यूज़ करोगे। सो ऑथ कंट्रोलर डॉट रजिस्टर यूजर आप यहां पे यूज़
कर रहेगे। बढ़िया है। तो रजिस्टर यूजर आपने यूज़ कर लिया। अब फाइनली होगा क्या? ये जो आपने एपीआई क्रिएट की है ये तो अभी भी
नहीं चलने वाली। क्यों? क्योंकि ये जो आपने एपीआई क्रिएट की हो ये एपीआई कहां पे क्रिएट की हो? ऑथ डॉट राउट्स डॉट जेs फाइल
में। लेकिन आपका सर्वर कहां पे क्रिएट हुआ है? आपका सर्वर क्रिएट होता है app.js फाइल में। तो आपके सर्वर को अभी कहीं से
कहीं तक पता ही नहीं है कि भाई आपने कुछ नई एपीआई भी क्रिएट यहां पे किए हो। तो ये एपीआई कैसे आप बताते हो अपने सर्वर के
इंस्टेंस को कि हां भाई यह नई एपीआई भी क्रिएट हुई है। तो इसके लिए कॉस्ट ऑथ राउट्स इक्व टू रिक्वायर और रिक्वायर में
हम यहां पर बोलेंगे कि राउट्स फोल्डर के अंदर जो हमारे पास ऑथ राउट्स है इसे किया रिक्वायर और सिंपल बोलेंगे f डॉट यूज़ एक
प्रीफिक्स प्रीफिक्स हमारा कुछ रहता है सल एपीआई सैश ऑथ प्रीफिक्स क्या है मैं अभी बस थोड़ी देर में तुम्हें बता रहा हूं कि
ये प्रीफिक्स यहां पे क्या होता है तो स्लैश एपीआई स्लश ऑथ और देन जो हमारे ऑथ राउट्स होने वाले हैं इनका यूज़ हम यहां
पे डायरेक्टली कर सकते हैं। तब ये प्रीफिक्स क्या होगा? सुनो जो तुम्हारी एक ऑथ राउट्स डॉट जेS फाइल है इसमें तुमने एक
एपीआई क्रिएट किए थे। एपीआई का नाम क्या था? स्लैश रजिस्टर। ये एपीआई तुमने यहां पे क्रिएट किए थे। बढ़िया है। बढ़िया है।
पोस्ट मेथड की एक पर्टिकुलर एपीआई क्रिएट किए। एपीआई का नाम क्या है? स्लैश रजिस्टर। ये एक एपीआई तुमने क्रिएट किए।
अब सुनो। ये जो एपीआई तुमने क्रिएट किए थे, किसकी हेल्प से किए थे? राउटर की हेल्प से। राउटर को तुमने यहां से
एक्सपोर्ट कर दिया। कर दिया। हां। app डॉट जेs में तुमने इसी राउटर को यहां पे रिक्वायर किया और रिक्वायर करने के बाद
app डॉट यूज़ में स्लैश एपीआई ऑथ के नाम से ये प्रीफिक्स है और उसे यूज़ कर रहे हो। तो इसका मतलब क्या हुआ? इस पूरी लाइन का मतलब
क्या हुआ? सुनो। जो भी तुमने एपीआई राउटर की हेल्प से क्रिएट किए हो उन एपीआई को एक्सेस करने के लिए तुम्हें ये एक
प्रीफिक्स लगाना पड़ेगा। मतलब क्या? मतलब ये कि ये जो राउटर की हेल्प से मैंने स्लैश रजिस्टर एपीआई क्रिएट किया हूं। अगर
मुझे इस एपीआई को एक्सेस करना है तो पहले मुझे स्लैश एपीआई ऑथ लगाना पड़ेगा। ये एक प्रीफिक्स है और इस प्रीफिक्स के बाद जो
एक्चुअल एपीआई है ये मुझे यूज़ करना पड़ेगा। मतलब क्या? मतलब ये कि अगर रजिस्टर एपीआई एक्सेस करनी है तो पहले मुझे लिखना पड़ेगा
स्लैश एपीआई स्लश ऑथ और फिर मैं यहां पे जो मेरी एक्चुअल एपीआई का नाम है दैट इज़ स्लैश रजिस्टर। अब मैं इसको एक्सेस कर
सकता हूं। तो ये एक चीज यहां पे होने वाली है। बढ़िया है। तो ये अब थोड़ा और एक हमने लेवल अप किया है हमारे प्रोडक्शन फोल्डर
स्ट्रक्चर की तरफ। भाई इसी तरीके से हम काम करते हैं। आप एक सिंगल फाइल में लॉजिक्स नहीं लिख रहे होते हो। आप एक
सिंगल फाइल में पूरे राउट्स नहीं क्रिएट करोगे। जैसे कि ऑथ रिलेटेड राउट्स जो आपके अ रजिस्टर, लॉग इन, लॉगउ, रिसेट पासवर्ड,
फॉरगेट पासवर्ड ये सारे राउट्स आप ऑथ फाइल के अंदर क्रिएट करोगे। पोस्ट रिलेटेड राउट जहां पे आप पोस्ट को क्रिएट करोगे, पोस्ट
को फैच करोगे, किसी पोस्ट को सर्च करोगे। तो ये सारी चीजें आप पोस्ट राउट की एक नई फाइल क्रिएट करोगे और उस फाइल के अंदर इन
एपीआई को आप क्रिएट कर रहेगे। तो हम यहां पे आगे बढ़ते हैं। रजिस्टर पर्टिकुलर कंट्रोलर में आएंगे। रजिस्टर कंट्रोलर के
अंदर हम यहां पे करेंगे क्या? एक यूजर क्रिएट करेंगे। तो कॉस्ट यूजर इक्वल्स टू अवेट यूजर मॉडल। डायरेक्टली हम एक यूजर
क्रिएट करेंगे। और इस यूजर के अंदर जो हमारे पास डिटेल होने वाली है, हमारा रहेगा यूजरनेम। फिर हम यहां पे बात करेंगे
ईमेल और फिर हमारे पास यहां पे बात करेंगे पासवर्ड फ्रेम। ये अभी एक बहुत बेसिक है। इस पे अभी बहुत ये बहुत एकदम बेयर मिनिमम
बेयर मिनिमम बस इतना समझो अभी के लिए इसको और लेवल अप अभी हमें बाद में जाके करना है। तो यूजर क्रिएट हुआ। अब सुनो मंगो
डीबी में मैंने मैंने तुम्हें पहले ही बताया था कि भाई जब भी कोई चीज क्रिएट होती है तो हर उस चीज को एक अंडरस्कोर
आईडी मिलती है। और वो आईडी कैसी रहती है? यूनिक रहती है। कैसे? कि अगर दो यूजर क्रिएट किए हैं तो दोनों यूजर की आईडी
अलग-अलग होगी। 10 यूजर क्रिएट हुए। 10 यूजर की आईडी अलग-अलग होगी। 1 लाख यूजर क्रिएट हुए हैं। 1 लाख के 1 लाख यूजर की
सभी यूजर की आईडी अलग-अलग वहां पे रहेगी। करोड़ यूजर करोड़ के करोड़ यूजर की आईडी अलग-अलग रहेगी। तो यहां पे जब आप एक यूजर
क्रिएट करोगे तो इस यूजर की आईडी भी अलग होगी। अब सुनो हमने यूजर क्रिएट किया डेटाबेस में उसको सेव किया। हमारा यूजर
क्रिएट हो गया। अकाउंट क्रिएट उसका हो गया। अब जब सर्वर एक रजिस्टर कर रहा होता है यूजर को तो वह सबसे पहले यूजर की डिटेल
को सेव करेगा डेटाबेस में और डेटाबेस में सेव करने के बाद एक टोकन उसको क्रिएट करना रहता है। अब वो टोकन कैसे क्रिएट करता है?
तो टोकन क्रिएट करने के लिए एक पैकेज यूज़ किया जाता है। पैकेज का नाम क्या है? jसन वेब टोकन। तो एनपीएमआई
jसन वेब टोकन नाम से एक पैकेज आता है। यह पैकेज आपको इंस्टॉल करना पड़ेगा। इस पैकेज को आपने किया इंस्टॉल। इंस्टॉल करने के
बाद इस पैकेज को आप JWT नाम से रिक्वायर करो। तो रिक्वायर आप करोगे JWT नाम से jसन वेब टोकन को और अब आप फाइनली यहां पे एक
टोकन क्रिएट करोगे। तो टोकन क्रिएट करना बहुत इजी होता है। बस इधर पे आओ एक वेरिएबल क्रिएट करो टोकन JWT डॉट sin और
sin के अंदर। अब देखो ये जो आपकी JWT डॉट साइन मेथड है ये करती क्या एग्जैक्टली यही जो यही आपकी वो मेथड है जो लिटरली आपके
लिए टोकन क्रिएट करके देने वाली लेकिन ये ये जो आपकी मेथड है डब्ल्यूटी साइन करेगी क्या टोकन क्रिएट करके दे देगी अब टोकन
क्या है उस पे थोड़ी देर में बात कर रहे हैं अब तो jw टोकन क्रिएट करके आपको दे देगी लेकिन टोकन क्रिएट करने के लिए इसको
दो चीजें चाहिए रहती हैं जैसे कि देखो सर्वर पे अ जैसे हम सर्वर पे टोकन क्रिएट कर रहे थे तो टोकन के अंदर डेटा किसका था
उस यूजर का जो यूजर रजिस्टर हो रहा था तो पहली चीज तो यही मांगी जाएगी कि भाई जिसके लिए टोकन क्रिएट करना है उस यूजर का डेटा।
अब डेटा किस फॉर्मेट में देते हो? आप ऑब्जेक्ट फॉर्मेट में दोगे। अब ऑब्जेक्ट के अंदर जो डेटा आप दे रहे होते हो इसमें
बस दो ही कंडीशन रहती हैं। क्या-क्या कि भाई जो भी आप डेटा दोगे वो डेटा यूनिक होना चाहिए। साथ ही साथ जिस यूजर के लिए
आप वो टोकन क्रिएट कर रहे हो उस यूजर का डेटा होना चाहिए। तो अब देखो जब हम मोगो डीबी की बात करते हैं तो मोंगो डीबी में
एक आईडी करके प्रॉपर्टी होती है अंडरस्कोर आईडी करके। वो आईडी हमेशा यूनिक रहेगी। हर यूजर के लिए यूनिक रहती है। और क्योंकि वो
आईडी यूजर के लिए जनरेट हुई थी तो वो यूजर की आईडी हुई। तो हम यहां पे जो डेटा यूज़ करते हैं वो कौन सी रहती है? हमारी आईडी।
और जो यूजर क्रिएट हुआ है उसकी अंडरस्कोर आईडी हम यहां पे यूज़ कर रहे होते हैं। तो ये तो पहली चीज हो गई। देखो JWTsin आपसे
दो चीजें मांगती है। पहली यूजर का डेटा और वो डेटा कैसा होना चाहिए? यूनिक होना चाहिए। तो अंडरस्कोर आईडी उसमें एकदम फिट
बैठती है। फिर दूसरा क्या रहता है? दूसरा आपका रहता है JWT सीक्रेट। अब ये JWT सीक्रेट कहां से आएगा? तो सुनो JWT
सीक्रेट कुछ रहता है। इस पे हम बात करेंगे क्या रहता है? ब्राउज़र पे आओ पहले तो अभी तुम्हें ब्राउज़र पे आना है। ब्राउज़र पे
आने के बाद सर्च तुम करोगे jw सीक्रेट्स.com और jwक्रेटs.com
सर्च करने के ये एक हमारे पास वेबसाइट आएगी। इस वेबसाइट में थोड़ा स्क्रॉल डाउन करोगे तो इधर पे एक बटन रहेगी जनरेट की।
इस बटन पे करना क्लिक। एक नया सीक्रेट। कुछ रैंडम सी वैल्यू तुम्हें यहां पे जनरेट करने के लिए मिल जाएंगी। इसको करना
तुम जनरेट। जनरेट किया। इसे किया कॉपी। कॉपी करने के बाद हम यहां पे जो jw सीक्रेट है इसका एक वेरिएबल क्रिएट करेंगे
हमारीv फाइल में। सो jw अंडरs सीक्रेट इक्वल्स टू ये जाएगा हमारा सीक्रेट। जो भी सीक्रेट तुमने इस वेबसाइट
से कॉपी किए होगे उसी को यहां पे वापस से आके पेस्ट करोगे। और यही सेम सीक्रेट हमें यूज़ करना रहेगा हमारे टोकन क्रिएट करते
टाइम। अब सुनो जो भी टोकन हम यहां पे क्रिएट करेंगे उसके साथ करेंगे क्या? रिस्पांस में भेजेंगे तो रिस्पांस स्टेटस
2001 जाएगा और रिस्पांस स्टेटस 2001 जाने के बाद जो हमारा मैसेज रहेगा मैसेज जाएगा अपना यूजर रजिस्टर सक्सेसफुली जो यूजर
क्रिएट हुआ है उसका डेटा और जो टोकन क्रिएट हुआ है उसका डेटा भी हम यहां पे शेयर कर रहे होंगे तो अब देखो इतना कर
दिया हम पोस्टमैन पे आते हैं सो पोस्टमैन पे आए सर्वर एक बार स्टार्ट करते हैं हम सो जो हमारा सर्वर है npx nmon server
डॉटgs इसे किया हमने स्टार्ट स्टार्ट करने के बाद स्टार्ट करने के बाद अब पोस्टमैन पे आते हैं पोस्टमैन पे जो हमारी रजिस्टर
एपीआई होने वाली है। इसे करेंगे हिट। तो मेथड हमारी पोस्ट रहेगी लोकल पोस्ट कॉलन 3000 एपीआई ऑथ। ये याद है ये प्रीफिक्स था
अपना एपीआई का। जो राउटर की हेल्प से हमने एक एपीआई क्रिएट किए थे उसका ये प्रीफिक्स है। तो स्लैश एपीआई ऑथ सैश रजिस्टर ये
हमारी एपीआई होने वाली है। भाइयों मुझे पता है थोड़ा सा इधर-उधर तुम अभी भटकेगे। मन इधर-उधर अभी तुम्हारा हुआ
होगा। मन को वापस से लगाओ। अभी स्क्रीन पर थोड़ा सा कॉम्प्लेक्स होता है ऑथेंटिकेशन। मैंने तुम्हें वीडियो की शुरुआत में बताया
था कि थोड़ा सा कठिन होगा। थोड़ा सा कॉम्प्लेक्स हो सकता है। लेकिन किया भी जा सकता है। तो अगर तुम्हारा मन जरा सा भटका
था और तुम कोई सी भी चीज मिस कर रहे हो तो वापस 5 मिनट पीछे जाओ। वीडियो को देखो। वापस यहां तक लेकर आओ और ऑथेंटिकेशन को
समझो। तुम इस कांसेप्ट को ऑथेंटिकेशन के बिना एक चीज समझ लो। बैक एंड नहीं किया जा सकता। ऑथेंटिकेशन बैकबोन होती है पूरे बैक
एंड की। ऑथेंटिकेशन बहुत इंपॉर्टेंट है। कोई सा भी प्रोजेक्ट क्रिएट करने जाओगे उसमें ऑथेंटिकेशन लगेगा ही लगेगा। तो
ऑथेंटिकेशन के बिना कोई सा प्रोजेक्ट कंप्लीट नहीं हो पाएगा। तो बस करो ऑथेंटिकेशन समझो। तो ऑथेंटिकेशन यहां पे
समझो। 5 मिनट पीछे जाओ। वापस से यहां पे देखो। मुझे पता है तुम्हारे तुम्हें यहां पे कॉम्प्लेक्स ये ये टॉपिक तुम्हें
कॉम्प्लेक्स लग रहा होगा। मैं कोहर्ट में जब चीजें पढ़ाता हूं तो कोहर्ट में भी कुछ बहुत सारे स्टूडेंट रहते हैं जिनको ये
चीजें समझ में नहीं आ रही होती हैं। लेकिन इन द एंड उनको भी समझा देता हूं मैं। उन पे भी समझ में आते हो। उन पे भी रिवीजन
करवाता हूं मैं कि भाई हां ऐसा करो ऐसा करो। उनकी प्रैक्टिस होती है। मेंटर्स वहां पे अवेलेबल रहते हैं। तो उनका तो हो
जाता है। लेकिन तुम्हारे पास अभी मेंटर्स वहां पे अवेलेबल नहीं है। मैं तुमसे डायरेक्ट बात नहीं कर सकता। बस जो अभी
वीडियो में बोल रहा हूं बस इतना ही बोल सकता हूं यार। इससे ज्यादा नहीं बोल पाऊंगा। तो सुनो एक चीज। वीडियो में अगर
तुम खो गए थे तो 5 मिनट पीछे जाओ। यह पूरा कांसेप्ट समझो और वापस से यहां से फिर से रिस्टार्ट करो तुम। अब सुनो एपीआई हम हिट
करेंगे। एपीआई ऐड करने के बाद बॉडी फॉर्मेट में रॉ फॉर्मेट में बॉडी के अंदर रॉ फॉर्मेट में हम डेटा भेजेंगे
क्या-क्या? हम यहां पे डेटा भेज रहे होंगे यूजरनेम। यूजरनेम अभी के लिए हम यहां पे यूज़ करेंगे टेस्ट अंडरs यूजरनेम। टेस्ट
अंडरs यूजरनेम भेजने के बाद हम यहां पे भेजेंगे ईमेल। और ईमेल में हम भेजेंगे test@ test.com और फिर हम यहां पे पासवर्ड
भेज रहे होंगे तो जो हमारा पासवर्ड रहेगा वो क्या जाएगा जो हमारा पासवर्ड होने वाला है ये जाएगा अपना टेक्स्ट बढ़िया तो
रिक्वेस्ट डॉट बॉडी के अंदर यूजरनेम ईमेल और पासवर्ड मैं भेजूंगा तो ये जो अपना रिक्वेस्ट डॉट अ यूजरनेम पासवर्ड और ईमेल
ये कौन सी एपीआई पे जा रहा है पोस्ट मेथड के साथ स्लैश एपीआई स्लश ऑथ स्लैश रजिस्टर कौन सी एपीआई है अगर मैं apps के अंदर आता
हूं तो स्लैश एपीआई स्लैश ऑथ तो ये हमें मिल गया। फिर इसके बाद ऑथ राउट्स में आता हूं। तो ये रही मेरी स्लैश रजिस्टर एपीआई।
यहां पे रिक्वेस्ट आएगी। रिक्वेस्ट अगर इस पर्टिकुलर एपीआई पे आएगी तो एक कंट्रोलर के अंदर उसको फॉरवर्ड करेंगे। कंट्रोलर का
नाम क्या है? रजिस्टर यूजर। रजिस्टर यूजर के अंदर रिक्वेस्ट डॉट बॉडी में जो डेटा आएगा यूजर नेम, ईमेल और पासवर्ड इसके साथ
हम एक यूजर क्रिएट करेंगे। यूजर क्रिएट करने के बाद एक टोकन क्रिएट होगा। टोकन और यूजर की डिटेल्स को हम वापस से रिस्पांस
में सेंड कर रहे होंगे। तो देखो अब इसको किया मैंने सेंड। सेंड करने के बाद एक यूजर क्रिएट हुआ। स्टेटस कोड मेरे पास आया
2001 2001 एक नया रिसोर्स एक नया यूजर यहां पे डिनोट किया जा रहा है। और जो यूजर क्रिएट हुआ है उसकी डिटेल्स हमारे पास
यहां पे आ जाएंगी। भाई एक यूजर क्रिएट हुआ है। यूजर के बाद टोकन आया है। अब ये टोकन क्या है? टोकन तुम्हारा रहता है एक
स्ट्रिंग। रैंडम सी स्ट्रिंग नहीं कहूंगा। एक वेल कैलकुलेटेड स्ट्रिंग ये रहती है। ये जो तुम्हारा jwin मेथड ये करती है
क्या? ये बहुत सारी कैलकुलेशंस परफॉर्म करती है। मतलब कि इंक्रिप्शन साइबर सिक्योरिटी साइड पे जाता है।
क्रिप्टोग्राफी साइड में जाता है थोड़ा बहुत। तो बहुत सारी एल्गोरिदम्स परफॉर्म करती है यूजर के इस पर्टिकुलर डेटा के ऊपर
और जेडब्ल्यूटी सीक्रेट के साथ तब जाके हमें एक ये स्ट्रिंग मिलती है और इस स्ट्रिंग को हम क्या बोल रहे होते हैं?
टोकन हम यहां पे बोल रहे हैं। तो तब इसके आगे होगा क्या? क्यों भाई यूजर अब यहां पे जो भी रिक्वेस्ट करने वाला है उस
रिक्वेस्ट में हम इस पर्टिकुलर टोकन को शेयर कर रहे होंगे। तो क्या हम रिस्पांस में ही टोकन भेजते हैं? ऐसा नहीं होता।
कुकीज़ करके हमारे पास कोई चीज होती है। कुकीज़ का हम यहां पे यूज़ करेंगे। अब कुकीज़ क्या होती है? कुकीज़ में कैसे डेटा सेव
करेंगे? और एक अच्छा तरीका क्या होता है रजिस्टर एपीआई को क्रिएट करने का? वो अब हम यहां पे समझना रहेगा। और फिर हम वापस
से आगे बढ़ेंगे एक और एप्लीकेशन एक और प्रोजेक्ट को क्रिएट करते के लिए। चलो। तो अब हम यहां पे कुकीज़ क्या होती है? और
कुकीज़ को कैसे इंप्लीमेंट करते हैं? वो हमें समझते हैं। चलो। तो देखो यार अब हम यहां पे क्या पढ़ेंगे? कुकीज़ स्टोरेज होती
क्या है? कुकी स्टोरेज है क्या? ब्राउज़र में बहुत सारी टाइप की स्टोरेजेस होती हैं। उनमें से एक टाइप की स्टोरेज होती है
हमारी कौन सी? कुकी स्टोरेज। अब कौन-कौन सी स्टोरेज होती हैं एक ब्राउज़र के अंदर? वो अगर मैं आपको दिखाऊं। सो अगर मैं यहां
पे BV जो मेरा एक ब्राउज़र है तो BVE Chrome बेस्ड ब्राउज़र है अपना। तो अगर मैं इसे ओपन करता हूं। सो और इसे इंस्पेक्ट
करता हूं। तो इंस्पेक्ट करने के बाद अगर आप आओगे एप्लीकेशनेशंस के अंदर। एप्लीकेशनेशंस के अंदर आना और यहां पे
आपको स्टोरेज का एक पूरा सेक्शन मिलेगा। अब इधर पे जो आप स्टोरेज देखने वाले हो देखो कौन-कौन सी यहां पे आपको सबसे पहले
मिलेगी लोकल स्टोरेज, सेशन स्टोरेज, एक्सटेंशन स्टोरेज, इंडेक्स डीबी, कुकीज़, कैशे स्टोरेज और स्टोरेज बकेट। इतनी टाइप
के स्टोरेज आपको यहां पे मिल रही होंगे। ठीक है? अब अगर मैं यहां पे सर्च करके आपको दिखाता हूं कि भाई टाइप्स
ऑफ स्टोरेज इन ब्राउज़र। एंटर किया। एंटर करने के बाद यहां पे एक जीपीटी या बोल सकते हो जेमिनाई का मुझे एक रिस्पांस मिल
जाएगा। सो टाइप्स ऑफ स्टोरेज इन वेब ब्राउज़र। तो देखो सबसे पहले हमारे पास कौन-कौन सी आती है हमारे पास कुकी स्मॉल
टेक्स्ट फाइल्स सेंड बाय अ वेब सर्वर एंड स्टोर ऑन द यूज़र्स कंप्यूटर बाय वेब ब्राउज़र। प्राइमरी यूज़फुल ट्रैकिंग सेशन
मैनेजमेंट एग्जांपल लॉग इन स्टेटस एंड पर्सनलाइजेशन ऑटोमेटिकली सेंड विद एव्री रिक्वेस्ट। मैं बताऊंगा इधर पे क्या लिखा
है। लेकिन अभी कुकी स्टोरेज की अगर बात करें। सो सेशन स्टोरेज इंडेक्स टीवी की वेब स्टोरेज हमारे पास है। लोकल स्टोरेज
में स्टोर डेटा विद नो एक्सपायरेशन डेट। अगर परमानेंट तुम्हें डेटा स्टोर करना है तो लोकल स्टोरेज में सेव कर सकते हो। सेशन
स्टोरेज मिली स्टोर्स डेटा फॉर अ सिंगल सेशन कि भाई एक बार वेबसाइट में आप गए तो सिर्फ उस पर्टिकुलर सेशन के लिए डेटा
स्टोर किया जाएगा। इंडेक्स टीवी अ पावरफुल लो लेवल एपीआई फॉर क्लाइंट साइज स्टोरेज ऑफ सिग्नि सिग्निफिकेंट अमाउंट ऑफ
स्ट्रक्चर डेटा। ओके? कैश स्टोरेज कैशिंग के लिए हम यहां पे यूज़ करते हैं। कैशिंग क्या होती है? वो एक अलग टॉपिक जाता है।
वेब सीक्वल डुप्लीकेटेड ये अब यूज़ नहीं करते। तो अब अगर तुम देखोगे ब्राउज़र में बहुत अलग-अलग टाइप की स्टोरेज होती हैं।
लेकिन अभी जो हमें पढ़नी है वो कौन सी है? हमारी बस कुकी स्टोरेज। तो कुकी स्टोरेज यहां पे एक अलग टाइप की स्टोरेज है। सब
सारी स्टोरेज के अपनी-अपनी प्रॉपर्टीज हैं। अपनी-अपनी अच्छी-अच्छी बातें हैं। अपनी-अपनी खराब बातें हैं। लेकिन इन सबके
बारे में हमें नहीं पढ़ना। जो अभी हम यहां पे पढ़ने वाले हैं वो कौन सी है? हमारी कुकीज़ कि भाई कुकीज़ यहां पे क्या होती
है? देखो कुकीज़ तुम्हारी एक ऐसी स्टोरेज होती है। सुनो कुकीज़ स्टोरेज ब्राउज़र में एक ऐसी स्टोरेज का टाइप रहता है जिसमें जो
तुम्हारा सर्वर है सर्वर डायरेक्टली कुकीज़ को एक्सेस कर सकता है। मतलब क्या? कुकीज़ के अंदर अगर कुछ भी तुमने स्टोर करके रखा
होगा तो ब्राउज़र ब्राउज़र नहीं जो तुम्हारा सर्वर है सर्वर उसके अंदर उसके कुकीज़ स्टोरेज के अंदर जितना डाटा रहेगा उस पूरे
डेटा को पढ़ सकता है। साथ ही साथ सर्वर उस डेटा को मॉडिफाई भी कर सकता है। मतलब क्या? कुकीज़ स्टोरेज के अंदर सर्वर नए
डेटा को ऐड कर सकता है। जो पुराना डेटा लिखा गया है वो उसको पढ़ भी सकता है। अगर एक लाइन में बोलूं कुकीज़ स्टोरेज का एडमिन
एक्सेस रहता है तुम्हारे सर्वर के पास। अब सुनो तो कुकीज़ स्टोरेज क्या रहेगा? कुकीज़ स्टोरेज का एडमिन एक्सेस रहता है तुम्हारे
सर्वर के पास। मतलब क्या? सर्वर कुछ भी नया डेटा कुकीज़ के अंदर ऐड कर सकता है। और जो पुराना डेटा होगा उसे रीड भी कर सकता
है। और एक प्रॉपर्टी उसके अंदर और होती है कि भाई कुकीज़ के अंदर अगर तुम कुछ भी स्टोर कर रहे हो। कुकीज़ के अंदर अगर तुम
कुछ भी स्टोर कर रहे हो और फिर अगर ब्राउज़र से अपने सर्वर पे कोई भी रिक्वेस्ट अगर भेजने वाले हो तो जो भी
डाटा कुकीज़ के अंदर स्टोर होगा वो डेटा जाएगा ही जाएगा तुम्हारे सर्वर पे। ये एक चीज यहां पे होती है। मतलब कि जो भी डेटा
तुम कुकीज़ के अंदर सेव करोगे, जो भी डेटा तुम कुकीज़ के अंदर सेव करोगे, वो डेटा सर्वर पे जाएगा ही जाएगा और हर रिक्वेस्ट
के साथ जाता है। कुकीज़ के अंदर जो डेटा रहेगा, हर रिक्वेस्ट के साथ सर्वर पे जा रहा होगा। तो अभी क्या हम सर ब्राउज़र का
यूज़ करेंगे? नहीं। अभी हम यहां पे पोस्टमैन का यूज़ करेंगे। लेकिन पोस्टमैन में भी क्योंकि पोस्टमैन एज अ क्लाइंट की
तरह एक्ट करता है। एज अ ब्राउज़र की तरह एक्ट करता है। तो यहां पे हमारे पास एक सेक्शन आता है कुकीज़ का और इस कुकीज़ में
हमारे पास ये काइंड ऑफ़ सेम कुकीज़ स्टोरेज की तरह काम करती है कि भाई कुकीज़ में जो भी सर्वर डेटा स्टोर करेगा वो डेटा आप
यहां पे देख पाओगे। तो कुकीज़ का हम यहां पे यूज़ करेंगे। सेम स्टोरेज आपको पोस्टन के अंदर भी मिलती है। तो देखो अब करना
क्या है? जो अभी हम यहां पे एक यूजर को रजिस्टर कर रहे हैं। रजिस्टर करने के बाद टोकन क्रिएट हो रहा है और टोकन को
रिस्पांस में सेंड कर रहे हैं। लेकिन टोकन रिस्पांस में सेंड नहीं करते हम। टोकन को कहां पे सेव करवाते हैं? कुकीज़ के अंदर
सेव करवाते हैं। अब कुकीज़ के अंदर सेव कर सकते हैं। बिल्कुल सेव कर सकते हैं। लेकिन एक्सप्रेस सर्वर्स में अगर हमें कुकीज़ का
यूज़ करना रहता है तो हमें अगेन एक मिडिल वेयर की जरूरत पड़ती है। जिस मिडिल वेयर का नाम क्या है? कुकी पार्सर। तो हम यहां पर
एक मिडिल वेयर और यूज़ करेंगे। एनपीएमआई। पहले इसे क्लियर कर लेते हैं। सो क्लियर। और अब हम यहां पे एक पैकेज इंस्टॉल
करेंगे। कुकी पार्सर कुकी पार्सर हमने यहां पे इंस्टॉल किया और इसको एज अ मिडिल वेयर app.js फाइल
में यूज़ कर रहे होंगे। सो कॉस्ट कुकी पार्सर कुकी पार्सर हमने यहां पे रिक्वायर
किया और रिक्वायर करने के बाद हम इसको एज अ मिडिल वेयर यूज़ कर रहे हो। तो जब तक तुम यहां पे मिडिलवेयर नहीं लगाओगे कुकी
पार्सर तुम्हारा सर्वर एक्सेस नहीं कर पाएगा या बोल सकते हो कुछ भी कुकीज़ के अंदर स्टोर नहीं कर पाएगा। अब देखो करेंगे
क्या कि जहां पे हम टोकन क्रिएट कर रहे थे टोकन क्रिएट करने के बाद टोकन को रिस्पांस में सेंड कर दे रहे थे लेकिन ऐसा नहीं
होता। हम क्या करते हैं जो हमारा टोकन रहता है इसे कुकीज़ की हेल्प से सेट करते हैं। देखो रिस्पांस
डॉट कुकी नाम से सेव करते हैं। अच्छा तो देखो अब हो क्या रहा है कि भाई मैं यहां पे रिस्पांस डॉट कुकी का क्या मतलब है कि
कुकी के अंदर मैं कुछ स्टोर करने वाला हूं। किस नाम से स्टोर करूंगा? टोकन नाम से। अच्छा इसका क्या नाम टोकन ही रहेगा?
नहीं। तुम्हें अगर चाहिए मामा नाम रख दो तुम तो इसका तो तुम यहां अब यहां पे करोगे क्या कि भाई तुम कुकी के अंदर ये किस कुकी
की बात हो रही है यहां पे ब्राउज़र वाली कुकी मतलब कि जो अभी क्लाइंट साइट पे हमारा कुकी होने वाला है उस कुकी के अंदर
कुकी स्टोरेज के अंदर मामा नाम से हम टोकन को सेव करवाएंगे इतना हम यहां पे कर रहे हैं सर्वर एक बार स्टार्ट करते हैं एनपीx
नोडेमon sवर जेs एंटर किया एंटर करने के बाद सर्वर मेरा स्टार्ट हुआ पोस्टमैन पे अगर मैं आता हूं देखो कुकीज़ अभी अगर मैं
तुम्हें दिखाऊं यहां पे कुछ भी एक भी कुकी अवेलेबल नहीं है। हमारे पास कुकी स्टोरेज एकदम एम्प्टी पड़ी हुई है। अब सुनो जैसे
ही मैं यहां पे रजिस्टर पे आता हूं तो रजिस्टर पे आने के बाद एक यूजर मेरा रजिस्टर होगा। रजिस्टर होने के बाद
रजिस्टर होने के बाद एक टोकन हम क्रिएट करेंगे और टोकन को कुकी में सेट कर रहे होंगे और देन हमारे पास रिस्पांस आएगा
मैसेज यूजर रजिस्टर सक्सेसफुली और यूजर का डेटा हमारे पास आ रहा होगा। तो देखो इसे किया मैंने सेंड। सेंड करने के बाद
रिस्पांस में डेटा मेरे पास आया। और अब अगर मैं यहां पे देखता हूं कुकीज़ के अंदर तो कुकीज़ के अंदर एक तुम चीज देख रहे हो
यहां पे मामा नाम से कुछ क्रिएट हुआ है और कुकीज़ अभी एम्प्टी नहीं है। तो कुकीज़ में अब मामा नाम से कुछ क्रिएट हुआ है। अगर
मैं मामा नाम पे यहां पे क्लिक करता हूं तो यहां पे तुम देखोगे कि भाई जो मेरा टोकन है वो टोकन मेरे पास यहां पे प्रॉपर
तरीके से आ जा रहा है। बढ़िया है। तो यहां पे हुआ क्या? सुनो। तुमने यूजर को रजिस्टर किया था? हां बिल्कुल रजिस्टर किया। फिर
तुमने टोकन क्रिएट किया। हां बिल्कुल टोकन क्रिएट किया। फिर टोकन को तुम सेव कहां पे कर रहे हो? कुकी के अंदर। तो ये जिसकी
जिसके पास से भी यहां पर रिक्वेस्ट आ रही थी उसके पास पे जो भी कुकी होगी उस कुकी के अंदर हम मामा नाम से हमारे टोकन को सेव
कर रहे हैं। अच्छा क्या सिर्फ मामा नाम नहीं मामा तुम्हें बता चुका हूं कि भाई इसका नाम तुम कुछ भी रख दो लेकिन जनरली
नाम क्या रखा जाता है? टोकन हम इसका नाम रख रहे होते हैं। तो टोकन नाम से अब सेव करेंगे। अब देखो अ इस कुकी को मैं यहां से
डिलीट कर सकता हूं। बहुत ईजीली डिलीट किया। फिर से रिक्वेस्ट सेंड करूंगा। एक नया यूजर क्रिएट हुआ और कुकीज़ में क्योंकि
रिस्पांस फिर से आया है मेरे पास। तो रिस्पांस डॉट कुकी एक नया कुकी क्रिएट हुआ होगा। और उस कुकी का नाम क्या रहेगा?
टोकन। तो टोकन नाम से मेरे कुकीज़ के अंदर एक वेरिएबल आएगा और इसके अंदर वैल्यू क्या रहेगी? मेरे टोकन की वैल्यू यहां पे होने
वाली है। अब सुनो। तो यहां पे तुम टोकन कहां पे सेव करते हो? कुकीज़ के अंदर सेव करते हो। क्यों? क्योंकि कुकीज़ स्टोरेज की
एक बहुत अच्छी बात होती है कि कुकीज़ के अंदर जो भी डेटा रहेगा सर्वर उसे एक्सेस कर सकता है। साथ ही साथ हर रिक्वेस्ट के
साथ जो भी कुकीज़ के अंदर डेटा है वो डेटा हर रिक्वेस्ट के साथ सर्वर पे जाएगा ही जाएगा। मतलब क्या? मतलब देखो अब अगर मैं
यहां पे एक एपीआई क्रिएट करता हूं। एक डमी पे क्विकली हम यहां पे एक एपीआई क्रिएट करेंगे। राउटर डॉट गेट और राउटर डॉट गेस्ट
में स्लैश टेस्ट एपीआई है और इधर पे मैं यहां पे कंसोल करवा रहा हूं कंसोल कुकीज़ कि भाई जो मेरी कुकीज़ है उस कुकीज़ को मैं
यहां पे कंसोल करवा रहा हूं। तो कुकीज़ कंसोल करवाने के लिए रिक्वेस्ट डॉट कुकीज़ मुझे यहां पे एक्सेस करना पड़ता है। और
यहां पे मैसेज रिस्पांस हम सेंड कर देंगे टेस्ट आउट और कुकीज़ में रिक्वेस्ट डॉट कुकीज़ एक्सेस कर रहे होंगे। तो ये हमारा
टेस्ट एपीआई है। लेकिन इसका प्रीफिक्स क्या है? स्लैश एपीआई ऑथ स्लैश टेस्ट। तो ये उस एपीआई का पूरा नाम रहेगा। तो
पोस्टमैन पे आते हैं। पोस्टमैन पे आने के बाद गेट मेथड के साथ लोकल पोस्ट कॉलन 3000
एपीआई स्ल ऑथ स टेस्ट। तो अब देखो यहां अब तुम इस एपीआई पे अगर रिक्वेस्ट करोगे तो कुकीज़ के अंदर तो डेटा तुम्हारा सेव है।
कुकीज़ के अंदर तुम्हारा डेटा सेव है। तो अब होगा क्या? क्योंकि कुकीज़ के अंदर कोई डेटा है तो वो डेटा हर रिक्वेस्ट के साथ
सर्वर पे जाता है। हां बिल्कुल जाता है। तो अब सर्वर पे अगर वो डेटा जाएगा तो उसको हम एक्सेस कैसे कर सकते हैं? रिक्वेस्ट
डॉट कुकीज़ की हेल्प से एक्सेस किया जा सकता है। तो अब मैं ये वही यहां पे कंसोल होने वाला है। तो देखो अब अगर मैं इसको
यहां पे सेंड करवाता हूं तो सेंड करने के बाद यहां पे जो कंसोल हो रहा है वो क्या हो रहा है? कुकीज़ कंसोल हो रहा है। और
कुकीज़ कंसोल होने के बाद रिक्वेस्ट डॉट कुकीज़ जो हमने कंसोल करवाया था। एक ऑब्जेक्ट के फॉर्मेट में टोकन के अंदर
मेरे पास कुकी आ जा रहा है। कुकी नहीं टोकन हमारे पास आ रहा है। तो अब इस टोकन के हेल्प से मैंने तुम्हें बताया था क्या
कि भाई यूजर सबसे पहले आता है। सबसे पहले वो रजिस्टर करेगा। यहां पे होता क्या है कि यूजर सबसे पहले रजिस्टर करता है।
रजिस्टर करने के बाद सर्वर टोकन क्रिएट करेगा। टोकन क्रिएट करने के बाद टोकन वो किसको दे देता है? यूजर को दे देता है। अब
यूजर को एग्जैक्टली किस स्टोरेज के अंदर देगा? तो कुकीज़ स्टोरेज के अंदर वो दे रहा होता है। जो अपना सर्वर रहता है। सर्वर
टोकन को कुकीज़ के अंदर सेव करता है क्लाइंट साइट पे। और फिर क्लाइंट कुछ भी अगर रिक्वेस्ट करता है हमारे सर्वर पे तो
वो टोकन हर बार कुकीज़ के अंदर हमारे पास आता है। और उस टोकन को देख के टोकन आपने क्रिएट किया था किससे? यूजर के डेटा की
हेल्प से। तो यूजर का डेटा हम इस पे रीड कर पाते हैं और हम यहां पे बोल सकते हैं कि भाई ये रिक्वेस्ट किस पर्टिकुलर यूजर
के पास से आ रही है। तो कुकीज़ हम कुछ इस तरीके से इंप्लीमेंट करते हैं। अब हमें कुछ चीजें और समझनी है कि रजिस्टर एपीआई
हम और कितने अच्छे तरीके से इंप्लीमेंट कर सकते हैं और हम यहां पे कैसे टोकन को रीड करते हैं और वेरीफाई करते हैं या ऑथराइ
ऑथेंटिकेट करते हैं कि भाई यह रिक्वेस्ट किस यूजर के पास से आ रही है। तो अब हमें इसकी तरफ आगे बढ़ना है। रजिस्टर एपीआई को
और अच्छे तरीके से क्रिएट करना है। और साथ ही साथ ऑथेंटिकेशन मिडिल वेयर की हेल्प से। हां अब मिडिल वेयर भी आएगा। ये कैसे
हम इंप्लीमेंट करेंगे वो हम समझते हैं। चलो कुकी स्टोरेज क्या होती है कि हमने देखा और मुझे तुमसे थोड़ी सी और बात भी
करनी है। किस बारे में कि क्या तुम्हें चीजें समझ में आ रही है या नहीं आ रही है? अगर तुम्हें चीजें समझ में आ रही है तो
बहुत अच्छी बात है। और अगर तुम्हें चीजें समझ में नहीं आ रही हैं तो ये वीडियो फिर से देखो। 5 मिनट बाद पहले का देखो। 10
मिनट पहले का देखो। जहां पे तुम्हें समझ में नहीं आ रहा है वो इस वीडियो को पूरा देखो। और बस मेरे साथ बने रहो। ये गारंटी
है मेरी कि भाई अगर तुम ये वीडियो देख रहे हो, तुम ये वीडियो समझ रहे हो तो भाई बैक एंड तुम्हें आ जाएगा। ये तो मेरी गारंटी
है यार। बैक एंड इतने अच्छे से पढ़ाया हूं इस वीडियो में तुम्हें बैक एंड आ जाएगा। ये मत समझना कि भाई मैं वीडियो रिपीट करके
देखूंगा टाइम वेस्ट हो जाएगा। नहीं ऐसा नहीं होने वाला। तुम इस वीडियो को देख रहे हो तो उसमें टाइम वेस्ट कैसे हो सकता है?
ये टाइम तुम्हारा है पढ़ने के लिए। तो पढ़ने के लिए यूटिलाइज़ कर रहे हो ना। टाइम वेस्ट तुम्हारा कहां पे होने वाला
है? पता है? जब तुम Instagram चलाओगे, रील स्क्रोल करने वाले हो, उधर पर तुम्हारा टाइम वेस्ट
होगा। तुम कोई सा गेम खेलते हो, लेट्स से PUBG खेल रहे हो, तुम वेलोरेंट खेल रहे हो, कोई दूसरा गेम खेल रहे हो, टेकन कोई
सा भी गेम खेल रहे हो, वहां पे तुम्हारा टाइम वेस्ट हो रहा है। अगर तुम्हारा करियर वहां नहीं बनाना चाह रहे। ऑफ कोर्स तुम
अपनी गर्लफ्रेंड से बात कर रहे हो। यहां पे तुम्हारा टाइम वेस्ट हो रहा है। दो-द दो-द घंटे, 3-3 घंटे तुम अपना गर्लफ्रेंड
से बात कर रहे हो। वहां पे तुम्हारा करियर नहीं बन रहा है। गर्लफ्रेंड बन रही है वो एक अलग बात है। लेकिन तुम्हारा करियर नहीं
बन रहा वहां पे। तो इन सारी जगह पे तुम टाइम वेस्ट कर रहे हो। इस पर्टिकुलर पार्ट पे तुम्हें अपना टाइम लगाना है। अगर
तुम्हें जहां पे भी समझ में नहीं आ रहा है वहां तुम्हें समझनी है चीजों को रिपीट करते हुए समझना है और तुम्हें चीजें समझनी
है। और बस मेरे साथ इस इस वीडियो में बनते रहना बने रहना। तुम्हें सारी चीजें समझ में आ जाएंगी। ये गारंटी है मेरी। पूरा
बैक एंड तुम्हें क्लियर हो जाएगा कि यार बैक एंड से किस तरीके से बैक एंड काम करता है। एप्लीकेशन हम कैसे बनाते हैं। सर्वर
एग्जैक्टली क्या होते हैं वो तो तुम्हें क्लियर हो चुका होगा। अब सर्वर को और अच्छे तरीके से कैसे हम प्रोग्राम करते
हैं ऑथेंटिकेशन में ये अभी हम यहां पे समझ रहे हैं। तो अब एक रजिस्टर एपीआई को अच्छे तरीके से हम कैसे क्रिएट करते हैं वो हमें
यहां पे समझना रहेगा। तो देखो स्क्रीन मैं यहां पे शेयर कर रहा हूं। स्क्रीन शेयर करने के बाद रजिस्टर यूजर तो ये हमारा एक
कंट्रोलर था। इस कंट्रोलर में हो क्या रहा था कि यूजर नेम, ईमेल और पासवर्ड मेरे पास आ रहा था और इसके साथ मैं एक यूजर को
क्रिएट करूंगा। टोकन उसका मैं क्रिएट करता और कुकीज़ में उसे सेव कर देता। ये मैं भी कर रहा था। लेकिन जो हमारा रजिस्टर एपीआई
रहती है, रजिस्टर एपीआई में हमें कुछ और चीजें असाइन करनी पड़ती हैं। जैसे कि क्या देखो होता क्या सीन है कि अ सबसे पहले
जितने भी यूजर अभी मैंने क्रिएट किया हूं इन सभी यूजर को एक बार अगर आपको दिखाता हूं तो देखो तीन यूजर क्रिएट हुए हैं और
तीनों यूजर का ईमेल एड्रेस क्या है? test@ test.com, test@ test.com, test@ test.com तीनों यूजर का सेम ईमेल एड्रेस है। सेम
यूजरनेम भी है। ये सारी चीजें आ रही है। लेकिन एक बात बताओ मुझे क्या आप किसी भी अकाउंट पे लेट्स से Instagram का अगर आप
नाम ले लो तो Instagram पे अगर आपका ईमेल एड्रेस सेम है या कोई भी नंबर अगर सेम रहता है या आपका यूजरनेम सेम रहता है तो
आप Instagram पे सेम यूजरनेम सेम ईमेल के साथ दूसरा अकाउंट क्रिएट कर ही नहीं सकते और लगभग ये सारे एप्लीकेशन के अंदर होने
वाला है कि आप सेम ईमेल सेम यूजरनेम से अकाउंट दूसरा क्रिएट कर ही नहीं सकते। लेकिन हमारी वेबसाइट में हमारे सर्वर में
ये प्रॉब्लम है। क्या प्रॉब्लम है कि भाई यूजर सेम ईमेल का यूज़ करते हुए दूसरे अकाउंट भी क्रिएट कर सकता है। देखो यहां
पे तीन यूजर है। तीन यूजर के अकाउंट है और तीनों यूजर का ईमेल एड्रेस क्या है? test@ test.com इसका भी वही है। test @ test.com
सेम ईमेल एड्रेस test@ test.com सेम ईमेल एड्रेस। तो यहां पे बहुत सारे यूजर हैं और सभी यूजर का ईमेल एड्रेस क्या है? सेम है।
लेकिन ये एक वर्किंग एप्लीकेशन में ऐसा नहीं रहता। आप सेम एप्लीकेशन में सेम ईमेल से दूसरा अकाउंट क्रिएट नहीं कर सकते।
वहां पे आपका क्या रहेगा कि भाई एक ईमेल से एक ही अकाउंट क्रिएट होना चाहिए और बाकी सारे यूजर के जो ईमेल रहेंगे वो
यूनिक होने चाहिए। यूनिक मतलब क्या? कि एक ईमेल से एक ही यूजर एक्सिस्ट करता है। दूसरे यूजर का ईमेल एड्रेस अलग है। ये
आपका होना चाहिए। तो अब इसको हम किस तरीके से इंप्लीमेंट करते हैं? तो देखो इसे सबसे पहले तो हम डेटाबेस लेवल पे इंप्लीमेंट
करते हैं कि भाई अगर मुझे चाहिए कि ईमेल जो रहे वो मेरा यूनिक रहे। तो इसको मैं किस तरीके से बताता हूं। देखो टाइप जो
रहेगा टाइप तो मैं सीधा यहां पे बताऊंगा कि भाई टाइप यहां पे जो होने वाला है वो स्ट्रिंग रहेगा और साथ ही साथ ये रहेगा
क्या यूनिक तो यूनिक का मतलब क्या होता है यूनिक ट्रू का मतलब यहां पे क्या होता है यूनिक ट्रू का मतलब रहेगा कि डेटाबेस के
अंदर जो मैं यूजर क्रिएट करूंगा उस यूजर के अंदर ये जो ईमेल प्रॉपर्टी रहेगी ये कैसी होनी चाहिए यूनिक ट्रू इसका मतलब
क्या कि भाई डेटाबेस के अंदर जितने भी यूजर क्रिएट करूंगा सारे यूजर का ईमेल एड्रेस यूनिक होगा दो यूजर का ईमेल एड्रेस
सेम हो ही नहीं सकता हो ही नहीं सकता कि भाई दो यूजर का ईमेल एड्रेस सेम हो। अच्छा अगर मैं ट्राई कर लूं तो कि भाई मैं दो
यूजर को तो सेम ईमेल से क्रिएट करूंगा। डेटाबेस करने नहीं देगा। ट्राई करके देख लेना तुम अभी तो ट्राई करके देख लेना। अगर
दो दो अलग-अलग यूजर का सेम ईमेल एड्रेस से तुम ट्राई करोगे तो वो एरर देना चालू कर देगा। मैं बताऊंगा कैसे? अभी के लिए जो
हमने इतने यूजर क्रिएट किए इन्हें हम डिलीट कर रहे हैं। और अब डिलीट कर दिए हैं। और हमने यहां पे एक रूल इंप्लीमेंट
कर दिया कि भाई सारे यूजर का ईमेल एड्रेस कैसा होना चाहिए? यूनिक होना चाहिए। तो हमने यहां पे इंप्लीमेंट कर दिया। अब देखो
हम एक बार ट्राई करते हैं। एक बार हम यहां पे ट्राई करते हैं कि भाई कंट्रोलर्स में आएंगे। कंट्रोलर्स पे आने के बाद वही जो
हमारा पहले एक लॉजिक लिखा गया था उसी लॉजिक के साथ हम यहां पे आगे बढ़ते हैं। सो यहां पे क्या है? यूजर नेम आ रहा है,
ईमेल आ रहा है, पासवर्ड आ रहा है। ये सारी चीजें एक टोकन क्रिएट होगा। यूजर क्रिएट होने के बाद टोकन कुकीज़ में सेव होगा और
देन हम यूजर को क्रिएट कर रहे होंगे। तो अभी हमारे डेटाबेस में एक भी यूजर नहीं है। अभी हमारे डेटाबेस में एक भी यूजर
नहीं है। पोस्टमैन पे आते हैं। पोस्टमैन पे आने के बाद एक यूजर मैंने क्रिएट किया जिसमें बॉडी अपने पास कौन-कौन सी बॉडी जा
रही है। सो ओ ये तो अपना ये वाला है। ठीक है? सो अब यहां पे आते हैं बॉडी के अंदर मेरे पास टेस्ट यूजर नेम टेस्ट@.com ईमेल
और पासवर्ड इसे किया सेंड। सेंड करने के बाद एक यूजर मेरा क्रिएट हुआ और ये यूजर डेटाबेस में भी आ चुका होगा। अब देखो मेरा
एक यूजर क्रिएट हो चुका है जिसका ईमेल एड्रेस क्या है? test @ tests.com और मैंने अपने मॉडल या स्कीमा क्रिएट करते
टाइम क्या बोला था कि भ अब ईमेल क्या रहेगा? यूनिक रहेगा। मतलब क्या? सेम ईमेल से दूसरा यूजर क्रिएट नहीं हो सकता। होगा
ही नहीं। तो देखो अब अगर मैं सेम इधर पे तो मैं फिर से एक यूजर रजिस्टर करने की कोशिश कर रहा हूं जिसका ईमेल एड्रेस क्या
है? सेम है। तो अब अगर मैं इसको सेंड करूंगा तो सेंड करने के बाद अब देखो मेरे पास यहां पे क्या एरर आ रही है? 500
इंटरनल सर्वर एरर। और इंटरनल सर्वर एरर में मेरे पास क्या आ रहा है? मैं बता रहा हूं। देखो
यहां पे एक एरर मेरे पास आ रहा है। इस जगह पे मेरे पास एक एरर आ रहा है। और एरर मेरे पास क्या है? मोंगो सर्वर एरर कि भाई
मोंगो डीबी यहां पे एक एरर दे रहा है कि भाई ई 1100 11000 थिंग 11000 डुप्लीकेट की एरर कि डुप्लीकेट की एक एरर आ रही है।
कहां पे? कलेक्शन के अंदर। कौन से कलेक्शन के अंदर? प्लूटो जो डेटाबेस है मेरे पास उसका जो यूज़र्स कलेक्शन है इसमें मेरे पास
एरर आ रही है। कैसे एरर आ रही है? कि भाई ईमेल जो अपना है ईमेल पे डुप्लीकेट की यूज़ की गई है क्या? test @ test.com देखो हुआ
क्या? जब मैंने यहां पे पहली बार जब मैंने रिक्वेस्ट किया कि भाई यूजर रजिस्टर कर दो तो यूजर रजिस्टर हो गया। क्यों? क्योंकि
भाई सेम ईमेल से कोई भी यूजर एक्सिस्ट नहीं करता था। लेकिन जब मैंने दूसरी बार यहां पे ट्राई किया तो हुआ क्या कि सेम
ईमेल्स के साथ फिर से हमने यहां पे एक यूजर क्रिएट करने की कोशिश करेंगे। और हुआ क्या कि यहां पे ईमेल एड्रेस कंट्रोलर के
अंदर गया। कंट्रोलर के अंदर ईमेल एड्रेस गया और मैंने यहां पे ट्राई किया यूजर मॉडल डॉट क्रिएट यूजर नेम, ईमेल और
पासवर्ड। इस बार जो ईमेल आया होगा वो वो ईमेल ऑलरेडी रजिस्टर है किसी और यूजर पे तब हुआ क्या? जब हम यहां पे ट्राई कर रहे
हैं हमारे डेटाबेस में कि भाई सेम ईमेल से दूसरा यूजर रजिस्टर कर दें। लेकिन हमने हमारे मॉडल के अंदर क्या बोला है? स्कीमा
के अंदर हमने क्या बोल के रखा है कि ईमेल क्या रहेगा? यूनिक रहेगा। तो ये जो हमने बोल के रखा कि भाई ईमेल यूनिक होना चाहिए।
और अभी हम जा अभी जो हम यहां पे कर रहे हैं कि भाई सेम ईमेल से दूसरा यूजर क्रिएट कर दो। ये कॉन्फ्लिक्ट हो रहा है। तो
कॉन्फ्लिक्ट जब यहां पे आता है तो यहां पे एरर जनरेट कर देता है। जो तुम्हारा मोंगो डीबी रहता है वो मोंगो डीबी तुम्हें एक
एरर देता है कि भाई डुप्लीकेट की एरर यहां पे आ रहा है। आपने हमसे बोला था ईमेल यूनिक होना चाहिए। लेकिन आप सेम ईमेल से
दूसरा ईमेल दूसरा यूजर क्रिएट करने की कोशिश कर रहे हो। तो हम वैसा नहीं कर सकते। तो यहां पे यही एरर अभी आप देखने के
लिए यहां पे मिलेगा। अब देखो हम करते क्या है? अब हम यहां पे एरर तो नहीं आता। देखो एरर ये जो आ रहा है इस टाइप का एरर कभी भी
हम हमारे फ्रंट एंड के यूजर को नहीं खाते। बैक एंड पे जितने भी एरर आते हैं उन एरर्स को हम फ्रंट एंड को ऐसे ही एज इट इज़ नहीं
पहुंचा सकते। ये रिस्की होता है। सिक्योरिटी के बहुत सारे कंसर्न्स वहां पे रहते हैं। तो ऐसा हम कभी नहीं करते हैं।
तो हम यहां पे करते हैं क्या है? सुनो हम यहां पे चेक करेंगे क्या कि भाई कॉस्ट हिज यूजर ऑलरेडी एग्ज़िस्ट्स इक्व टू अवेट यूजर
मॉडल डॉट फाइंड वन। और फाइंड वन में हम यहां पे बोलेंगे कि भाई ईमेल के बेसिस पे फाइंड करो। ईमेल के बेसिस फाइंड करने के
बाद अब देखो जो हमारे पास ईमेल आया है जो हमारे पास ईमेल यहां पर आया होगा अगर इस पर्टिकुलर ईमेल से कोई यूजर एक्सिस्ट करता
होगा ऑलरेडी तो ये मुझे मिल जाएगा। देखो फाइंड क्या करता है? फाइंड वन यहां पे करता क्या है कि भ जो भी आप वहां पे
क्वेरी लगा रहे हो उस क्वेरी से अगर कोई यूजर मिला तो वो यूजर रिटर्न कर देगा। और अगर यूजर नहीं मिलता है तो क्या रिटर्न
करता है? नल रिटर्न करता है। तो मैं यहां पे बोलता हूं कि भाई इफ इज़ यूजर ऑलरेडी एग्ज़िस्ट। किया यूजर अगर ऑलरेडी एकिस्ट
करता है तो हम यहां पे रिटर्न कर जाएंगे रिस्पांस डॉट स्टेटस और स्टेटस में हम यहां पे
बोलेंगे 409 अब 409 स्टेटस कोड मैंने क्यों बोला जो पीडीएफ आपको डिस्क्रिप्शन में मिलेगी उस पीडीएफ को आप ओपन करके
देखना आपको वहां पे पढ़ोगे 409 स्टेटस कोड का क्या मतलब है तो आपको वहां पे पता चलेगा कि भाई यूजर ऑलरेडी एग्जिस्ट करता
है। बढ़िया और यहीं से हम रिटर्न कर जाएंगे। रिटर्न यहां पे ध्यान से लगाना रहेगा। अगर आपने यहां पे रिटर्न नहीं
लगाया तो मैं बताऊंगा इधर पे और क्या एरर आ सकते हैं। रिटर्न यहां पे ध्यान से लगाना। अब सुनो हमने यहां पे क्या कंडीशन
लगा दी भाई? इस बार हम डायरेक्ट यूजर क्रिएट नहीं कर रहे हैं। इस बार हम डायरेक्ट यूजर को क्रिएट नहीं करेंगे।
पहले हम यूजर को चेक करेंगे कि भाई सेम ईमेल से कोई यूजर ऑलरेडी एक्सिस्ट तो नहीं करता। अगर यूजर ऑलरेडी एग्ज़िस्ट करता होगा
तो हम उसको रिटर्न कर जाएंगे कि भाई स्टेटस कोड 409 और मैसेज जाएगा यूजर ऑलरेडी एग्ज़िस्ट। तो अब देखो सेम ईमेल से
फिर से मैं ट्राई करूंगा रजिस्टर करने की। लेकिन इस बार मेरे पास 409 कॉन्फ्लिक्ट और मैसेज यूजर ऑलरेडी एक्सिस्ट यहां पे आ रहा
होगा। अच्छा तो अगर मैं यहां पे ईमेल चेंज कर देता हूं। टेस्ट अंडरs टू कर दिया तो हां अब ये ईमेल अलग है ना जो तुम्हारे
डेटाबेस में ईमेल पहले एक्सिस्ट करता है वो कौन सा है? टेस्ट @ test.com लेकिन अब जो तुम यहां पे ईमेल के साथ क्रिएट करना
चाह रहे हो वो कौन सा है? टेस्ट अंडरs 2@ test.com तो ईमेल दोनों अलग-अलग हैं। तो इस ईमेल से क्रिएट हो जाएगा। हां क्रिएट
हो जाएगा। ये देखो क्रिएट हो गया क्योंकि ईमेल अब अलग-अलग है ना। दोनों यूजर के ईमेल अलग-अलग हैं तो अब डेटाबेस अलऊ कर
देगा और वो क्रिएट हो जाएगा। बढ़िया है। अब सुनो तो ये एक और लेवल अप था अपना एक रजिस्टर एपीआई की तरफ। अब हम यहां पे
थोड़ा और देखेंगे किस चीज के लिए कि भाई अच्छा कुछ चीज देखने से पहले अब हम यहां पे कुछ चीज तुम्हें कंफ्यूजन हो रही
होंगी। कहीं-कहीं पर तुम्हें थोड़ा बहुत कंफ्यूजन हो रहा होगा किस चीज का कि भाई हम यह रजिस्टर एपीआई क्रिएट कर रहे हैं।
यूजर हमारा रजिस्टर हो भी रहा है। एक टोकन क्रिएट हो रहा है। लेकिन ये टोकन क्रिएट कर क्यों रहे हैं हम? अब इसकी तरफ थोड़ा
आगे बढ़ते हैं कि टोकन हम क्यों क्रिएट कर रहे हैं? इसको हम थोड़ा समझते हैं। तो देखो टोकन हम मेनली क्रिएट क्यों कर रहे
थे? अगर मैं तुम्हें उसका एक एग्जांपल देता हूं। देखो टोकन हम मेनली यूजर के लिए क्रिएट करते
हैं। यूजर को टोकन दे देते हैं। और फिर यूजर को कुछ भी अगर रिक्वेस्ट करनी रहती है तो देन वो टोकन रिक्वेस्ट के साथ टोकन
भेजता है। और क्योंकि कुकीज़ के अंदर हम टोकन को सेव करते हैं तो कुकीज़ के अंदर अगर टोकन रहता है हर रिक्वेस्ट के साथ
टोकन आता ही आता है और सर्वर इस टोकन को देखेगा समझेगा कि भाई ये टोकन किसका है? किस यूजर का है और उसको पता चल जाता है कि
हां भाई ये इस पर्टिकुलर यूजर का टोकन है। तब सुन मैं यहां पे करूंगा क्या? एक पर्टिकुलर एपीआई क्रिएट कर रहा हूं। ऑथर
आउट्स के अंदर टेस्ट का काम तो आई थिंक हो चुका है। टेस्ट की अभी जरूरत नहीं है। सुनो मैं यहां पर एक एपीआई क्रिएट कर रहा
हूं। मैं यहां पर एक एपीआई क्रिएट करते हैं। लेट्स से ओके। सो एक डमी एपीआई है। अ हम यहां पे पोस्ट मुझे क्रिएट करना है।
लेट्स से मुझे एक पोस्ट क्रिएट करना है। तो पोस्ट क्रिएट करने के लिए पोस्ट राउट्स में क्रिएट करूंगा। पोस्ट राउट्स डॉट जेS
और इस जगह पे मैं कॉस्ट रिक्वायर करूंगा एक्सप्रेस इक्व टू रिक्वायर एक्सप्रेस कॉस्ट
राउटर इक्व टू एक्सप्रेस डॉट राउटर एंड मॉड्यूल डॉट एक्सपोर्ट राउटर अभी डमी राउट क्रिएट करने वाला हूं तो ये अपना जो पोस्ट
वाला काम है ये बहुत ज्यादा प्रोडक्शन में नहीं रहेगा डमी होने वाला है और इधर पे मैं एक राउटर
डॉट पोस्ट या लेट्स से अ पोस्ट ही अपन करते हैं लेट्स से यहां यहां पे अपन पोस्ट करते
हैं और इमेज जो हमारी रहेगी स्लैश क्रिएट ठीक है तो एपीआई का नाम स्लैश क्रिएट है और हमारे पास रिक्वेस्ट डॉट बॉडी के अंदर
अ जो भी डेटा आने वाला है सो कंसोल रिक्वेस्ट डॉट बॉडी कंसोल डॉट log रिक्वेस्ट डॉट बॉडी हम यहां पे करवा सकते
हैं। बढ़िया रिक्वेस्ट डॉट डॉट बॉडी हमने यहां पे कंसोल करवाया और कंसोल करवाने के बाद एक चीज मैं यहां पे और कंसोल करवा रहा
हूं कि भाई रिक्वेस्ट डॉट कुकीज़ हम यहां पर कंसोल करवा सकते हैं। रिक्वेस्ट डॉट कुकीज़ बढ़िया। और रिस्पांस में हम यहां पे
बोल सकते हैं रिस्पांस डॉट सेंड सेंड पोस्ट क्रिएटेड सक्सेसफुल। बढ़िया। तो डमी एपीआई प्रोडक्शन वाली एपीआई नहीं है। डमी
एपीआई है। और इस एपीआई को अगर मुझे यूज़ करना है तो उसे app डॉट जेS में लेकर आना पड़ेगा। सो यहां पे मैं आऊंगा कॉस्ट पोस्ट
राउट्स। हमने रिक्वायर किया। रिक्वायर करने के बाद एक प्रीफिक्स के साथ मैं इसे भी यूज़ कर दूंगा। प्रीफिक्स क्या है अपना?
स्लैश एपीआई स्लैश पोस्ट और जो हमारा एक स्लैश क्रिएट है इसके साथ हम बढ़ रहे होंगे आगे तो पोस्टमैन पे आते हैं। एक एपीआई हम
क्रिएट करेंगे। मेथड इसकी रहेगी पोस्ट लोकल पोस्ट कॉलन 3000
स्लश एपीआई स्लश पोस्ट क्रिएट और क्रिएट के बाद बॉडी में अगर मैं आता हूं सो रॉ फॉर्मेट और रॉ फॉर्मेट के
अंदर अभी मैं बोल रहा हूं इमेज हम यहां पे भेजेंगे। इमेज अब फाइल फॉर्मेट में रहती है लेकिन अभी डमी एपीआई है तो मैं बोल रहा
हूं भ कुछ इमेज कुछ इमेज ठीक है और हम यहां पे एक चीज और भेजेंगे कैप्शन तो कैप्शन जो हमारा रहेगा इसे मैं बोल सकता
हूं टेस्ट टेस्ट अंडरस्कोर कैप्शन मैं इसे बोल सकता हूं तो अब अगर मैं इसे सेंड करता हूं सेंड करने के बाद मेरे पास रिस्पांस आ
जाएगा पोस्ट क्रिएटेड सक्सेसफुली और साथ ही साथ जो भी रिक्वेस्ट डॉट बॉडी के अंदर डेटा गया होगा वो डेटा मेरे पास आ जाएगा
और कुकीज़ के अंदर जो डेटा रहेगा वो डेटा भी मेरे पास यहां पे प्रॉपर्ली आ जाएगा। तो अब देखो अब सिंपल सा एक क्वेश्चन है
मेरा Instagram पे अगर तुम्हें कुछ भी पोस्ट क्रिएट करनी है, कोई सी भी पोस्ट अगर
तुम्हें क्रिएट करनी है तो सबसे पहले तुम्हें लॉग इन करना पड़ता है और लॉग इन करने के बाद ही तुम पोस्ट क्रिएट कर सकते
हो। मतलब क्या? मतलब ये कि जब तक तुम लॉग इन नहीं करोगे तब तक अ Instagram तुम्हें पोस्ट क्रिएट करने नहीं देगा। अच्छा ठीक
है। हां यही होता है। और यही होता है। लिटरली यही होता है। कोई सी भी एप्लीकेशन पे तुम चले जाना। Instagram जैसी कोई सी
भी सोशल मीडिया एप्लीकेशन पे तुम चले जाना। तुम्हें पहले वहां पर लॉगिन करना पड़ेगा और लॉग इन करने के बाद भी तुम वहां
पर कुछ भी किसी को मैसेज कर सकते हो या कुछ पोस्ट क्रिएट कर सकते हो। ये एक चीज वहां पे रहती है। तो सेम फीचर हमें बिल्ड
करना है। कैसे? कि भ जब तक यूजर लॉग इन ना हो तब तक हम उसे अलाउ नहीं करेंगे कि वो एक पोस्ट क्रिएट कर सके। ये चीज हमें सेम
करनी है। अच्छा हम लेकिन पता कैसे करते हैं कि यार यूजर लॉग्ड इन है या नहीं है। मतलब कि यूजर ने अपना अकाउंट क्रिएट किया,
लॉग इन किया नहीं है ये हम कैसे पता करते हैं? तो ये हम बहुत ईजीली पता कर सकते हैं कि भाई जिस भी यूजर के पास टोकन होगा हम
बोल सकते हैं कि भाई वो यूजर लॉक्ड इन है। क्यों? क्योंकि देखो टोकन कब क्रिएट होता है? टोकन सिर्फ तब क्रिएट होता है सिर्फ
तो नहीं टोकन तब क्रिएट होता है जब यूजर रजिस्टर करेगा हमारे सर्वर पे। सर्वर एक टोकन क्रिएट करता है और वो टोकन दे देता
है हमारे यूजर को और फिर इसके आगे यूजर कुछ भी अगर रिक्वेस्ट करेगा तो वो रिक्वेस्ट के साथ टोकन हमारा जा रहा होता
है। तो ये एक चीज हमारी रहती है। तो हम बोल सकते हैं कि भाई जिस भी यूजर के पास हमारा टोकन रहता है वो यूजर लॉक्ड इन
रहेगा। सेम चीज है। ठीक है? तो जो टोकन है वो किसके अंदर सेव होता है? कुकीज़ के अंदर सेव होता है। हां बिल्कुल सेव होता है।
बढ़िया है। और कुकीज़ के अंदर हमारे पास टोकन आ भी रहा था। बिल्कुल आ रहा है। ये देखो कुकीज़ के अंदर हमारे पास टोकन आ रहा
है। क्या ये टोकन सही है? लेकिन ये एक बहुत अच्छा क्वेश्चन है। क्या ये टोकन सही है? अभी तो सही है। क्यों? क्योंकि अभी तो
हमने कोई भी यहां पे गलत नहीं किया है। तो अभी जो तुम टोकन देख रहे हो जो कुकीज़ के अंदर टोकन है ये टोकन सही है।
लेकिन क्या अब ये टोकन सही है? नहीं। अब ये टोकन बिल्कुल सही नहीं है। अब तो बिल्कुल नहीं है सही। तो अब जो तुम यहां
पे टोकन देख रहे हो ये टोकन बिल्कुल सही नहीं है। जो सर्वर ने टोकन क्रिएट किया था उस टोकन से तो ये बहुत अलग है। उस टोकन से
ये बहुत अलग है। टोकन ने तो एक बहुत बड़ा टोकन सर्वर ने तो बहुत बड़ा टोकन जनरेट किया था लेकिन उस टोकन से ये टोकन अब बहुत
अलग है। तो अब इस बार जो कुकीज़ के अंदर डेटा जाएगा तो कुकीज़ टोकन इधर पे सेव नहीं हुआ है।
तो ये टोकन गलत है। इसे किया सेव। सेव करने के बाद अब अगर मैं सेंड करूंगा तो देखो अब टोकन गलत था। अब यहां पर जो सर्वर
ने टोकन क्रिएट किया था वो टोकन कुकीज़ में गलत टोकन था। तो इस बार जो सर्वर पे टोकन पहुंचेगा वो टोकन भी कैसा रहेगा? गलत टोकन
है। लेकिन सुनो अब अगर टोकन गलत है। अगर टोकन यहां पे गलत है तो तब तो हम वहां पे अलव कर नहीं सकते यार। क्यों? क्यों? कि
भाई टोकन गलत है ना। हम वहां पे कैसे अलव कर देंगे? देखो दो चीजें चेक करते हैं। क्या कि भाई टोकन है या नहीं? सबसे पहले
तो यही चेक करेंगे। हम सबसे पहले पोस्ट सिर्फ तब क्रिएट करते हैं जब टोकन होता है और टोकन सही होता है तब हम वहां पे टोकन
चेक कर सकते हैं। अच्छा ऐसा हां इसलिए तो देखो सबसे पहले हम यहां पे चेक करेंगे कॉस्ट टोकन
टोकन इक्व टू रिक्वेस्ट डॉट कुकीज़ डॉट टोकन तो अगर रिक्वेस्ट डॉट कुकीज़ के अंदर टोकन है तो तो हम पोस्ट क्रिएट कर देंगे
लेकिन अगर इफ नॉट टोकन कि भाई अगर कुकीज़ के अंदर टोकन नहीं है तो हम रिस्पांस डॉट स्टेटस हम यहां पे बोलते हैं 4O1 41 का
मतलब होता है अन ऑथराइज़्ड और जेसन फॉर्मेट में हमारा मैसेज जाता है मैसेज अनथराइज़्ड क्यों? क्योंकि सुनो भाई जो आप यहां पे
काम कर रहे हो वो काम क्या है कि आपको यहां पे एक पोस्ट क्रिएट करनी है। लेकिन पोस्ट सिर्फ वो यूजर क्रिएट कर सकता है जो
लॉग इन हो। और लॉग इन हम कैसे पता करते हैं? जिसके पास टोकन होगा। तो जिसके पास टोकन होगा हम सिर्फ उसे ही अलाउ करेंगे।
और आपके पास टोकन नहीं है तो हम यहीं से आपको रिटर्न करवा देंगे और रिटर्न में हम यहां आपसे रिस्पांस भेजेंगे 401। 41 का
स्टेटस कोड का मतलब होता है अनथराइज़। और मैसेज में भी क्या जाएगा हमारा? अनअथराइज़्ड। अब सुनो। तो अगर आपके पास
यहां पे टोकन नहीं है। अब आपके पास टोकन नहीं है। टोकन आपका चला गया। तो सुनो अगर आपके पास अब टोकन नहीं होगा तो इधर पे
सर्वर 41 अनऑथराइज़ मैसेज किया जाएगा। अन ऑथराइज़ यहां पे जा रहा होगा। ठीक है? अच्छा और अगर टोकन है तो जैसे कि अब मैं
यहां पे कुकीज़ के अंदर एक टोकन ऐड कर देता हूं। चलो यहां पे कुकी के अंदर मैं एक टोकन ऐड कर रहा हूं। सो मैंने इसका नाम दे
दिया टोकन और टोकन के बाद वैल्यू इसकी मैंने कुछ रैंडम सी वैल्यू यहां पे एंटर कर चुका हूं। इसे किया सेव। सेव करने के
बाद यह मेरा टोकन हो गया। टोकन के बाद अब अगर इसे मैं सेंड करता हूं तो देखो अब हुआ क्या? अब यहां पर हुआ क्या कि टोकन तो
था। हां टोकन तो था। तो यहां पे मतलब कि कुकीज़ के अंदर टोकन आया होगा। हां आया होगा। और ये इफ वाली जो नॉट कंडीशन है ये
नहीं चली होगी। हां नहीं चली। तो इस बार रिस्पांस क्या चला गया? पोस्ट क्रिएटेड सक्सेसफुली। मतलब कि गलत टोकन के साथ
पोस्ट क्रिएट हो गई। क्रिएट नहीं हुई। डमी है। तो मतलब कि गलत टोकन के साथ पोस्ट क्रिएट हो गई। लेकिन वो टोकन तो हमारे
सर्वर ने क्रिएट किया नहीं था। हां नहीं क्रिएट किया था। मतलब कि गलत हुआ है कि भाई जो टोकन हमारे सर्वर ने क्रिएट नहीं
किया उस टोकन का यूज़ करते हुए किसी और ने हमारे सर्वर पे पोस्ट आके क्रिएट कर दिए। लेकिन ये गलत है। हां बिल्कुल गलत है। तो
अब हम यहां पे क्या करते हैं? अगर टोकन आता है कुकीज़ के अंदर तो हम चेक करते हैं कि भाई टोकन सही है या नहीं है। हमारे
सर्वर ने वो टोकन जनरेट किया था या नहीं जनरेट किया था ये हम चेक करते हैं। अब ये कैसे जनरेट करते हैं? ये चेक कैसे करते
हैं? तो तुम्हें याद है जो तुम टोकन क्रिएट कर रहे थे वो टोकन एक पैकेज की हेल्प से क्रिएट हो रहा था। कौन से पैकेज
की हेल्प से? JWT या उसका नाम तुम बोल सकते हो jसन वेब टोकन। तो इसी पैकेज की हेल्प से हम चेक भी कर सकते हैं कि भाई जो
टोकन हमारा है वो टोकन सही है या नहीं है। कैसे? कॉस्ट सिंपल एक तरीका रहता है jw डॉट वेरीफाई और
वेरीफाई के अंदर जो टोकन तुम्हें वेरीफाई करवाना है। टोकन कौन सा वेरीफाई करवाना है जो कुकीज़ के अंदर आ रहा है। तो उस टोकन को
हम वेरीफाई करवाएंगे। और वेरीफाई करने के लिए वो टोकन तुम्हें चाहिए रहेगा। और साथ ही साथ जेडब्ल्यूटी सीक्रेट जो
जेडब्ल्यूटी सीक्रेट तुमने यहां पे यूज़ किया था टोकन को क्रिएट करते टाइम वही सेम जेडब्ल्यूटी सीक्रेट तुम यहां पे भी यूज़
करोगे टोकन को वेरीफाई करवाते टाइम। ये तुम्हें यहां पे चेक करना रहेगा। अच्छा ठीक है। बिल्कुल चेक करेंगे। अच्छा। तो
अभी तो टोकन गलत था। हां। अभी जो हम पोस्टमैन से कुकीज़ के अंदर टोकन भेज रहे हैं। ये टोकन तो गलत है। हां बिल्कुल गलत
है। बिल्कुल गलत टोकन है। हां। तो इस बार जो हम टोकन वेरीफाई करवा रहे होंगे ये टोकन कैसा रहेगा? गलत रहेगा। हां बिल्कुल
गलत रहेगा। अच्छा तो गलत टोकन जब वेरीफाई होता है तो क्या होता है? देखो सेंड किया। सेंड करने के बाद इधर पे अब तुम्हारे पास
एक एरर आती है JWT मेलफॉर्म जो तुम्हारा JSON वेब टोकन है ये तुम्हें एक एरर देता है JWT मेलफॉर्म के जो तुम्हारा टोकन है
वो टोकन सही नहीं है। वो गलत टोकन है। बस इतना ही वहां पे सीन रहता है। तो देखो ये एरर देता है और एरर को हैंडल करने का
तरीका क्या रहता है कि ट्राई एंड कैच। ट्राई एंड कैच हम यहां पे यूज़ कर रहे होते हैं। तो ट्राई एंड कैच हम यहां पे यूज़
करेंगे। और इधर पे हम बोलेंगे रिस्पांस स्टेटस। अच्छा एक चीज सुनो एक चीज सुनो तुम मेरी। तुम्हें यहां पे बहुत सारा
कंफ्यूजन हो रहा होगा। सही भी है। ऑथेंटिकेशन इजी टॉपिक नहीं है। कठिन टॉपिक है। तो कंफ्यूजन अगर हो रही है बार-बार
करो। एक बार फिर से करना। वीडियो को एक बार फिर से देखना। 1.5x पे देखना। लेकिन वीडियो अगर जरा सी भी कंफ्यूजन है
ऑथेंटिकेशन में तो वीडियो फिर से देखो और देखते रहो। जब तक क्लियर ना हो तब तक आगे मत बढ़ना। अगर फिर भी बहुत बार देखने के
बाद भी तुम्हें क्लियर नहीं हो रहा है जाओ डिस्कर्ड पे पूछो। डिस्कर्ड पे हमारे ऑफलाइन स्टूडेंट भी आपको मिलते हैं वहां
पे और साथ ही साथ जो हमारे कोड वन के स्टूडेंट हैं वो भी आपको मिल जाएंगे। वहां पे भी अगर तुम्हें समझ में नहीं आ रहा है
तो यार हो नहीं सकता। तुम डिस्कर्ड पे एक बार पूछो। डिस्कर्ड पे पूछो वो तुम्हें बताएंगे कि भाई क्या प्रॉब्लम वहां पे
होती है। तो वहां पे क्योंकि हमारे जो जनरल साइट्स रहती हैं वहां पे कभी-कभी मेंटर्स आते हैं तो शायद वहां पे तुम्हें
पता चल जाए। वो तुम्हें आंसर करते हैं। लेकिन चीजें क्लियर करो। अगर तुम पे बिल्कुल एकदम सोशल पूछने में बहुत
प्रॉब्लम होती है तो जीपीटी से पहले पूछ लेना। डिस्कर्ड पे जाने से पहले एक बार जीपीटी से पूछ लेना। वहां पे भी हो जाएगा।
डिस्कर्ड पे जाओगे तो क्लियर तो हो जाएगा। बस इतना है। तो देखो अब देखो अगर यहां पे मैं कर क्या रहा हूं? इस जगह पे मैं एक
सिंपल सी चीज़ कर रहा हूं कि JWT डॉट वेरीफ़ाई अगर मैं इधर पे गलत टोकन को वेरीफ़ाई करता हूं जो मेरे सर्वर ने क्रिएट
नहीं किया है तो JWT डॉट वेरीफ़ाई एक एरर रिटर्न करता है। एरर थ्रो करता है और उस एरर को हैंडल करने के लिए मैंने यहां पे
लगाया ट्राई एंड कैच। मतलब क्या कि अगर JWT डॉट वेरीफाई टोकन को सक्सेसफुली वेरीफाई करता है अगर टोकन सही है तो कोई
प्रॉब्लम नहीं है। लेकिन अगर टोकन गलत निकला तो तो यहां पे टोकन गलत निकलता है तो एक एरर थ्रो करी जाती है और उस एरर को
हैंडल करेंगे हम कैश वाले पार्ट में। तो अगर एक एरर आती है तो हम यहीं से रिटर्न करवाएंगे रिस्पांस डॉट स्टेटस 401 और टोकन
गलत यहां पे आएगा तब एरर हम यहां हम हमें यहां पे मिलती है। तो देखो अगर टोकन गलत होगा तो एरर थ्रो करेगा। एरर को हैंडल
कहां पे करेंगे? कैच वाले पार्ट में। कैच वाले पार्ट में एरर को हैंडल करेंगे और अगर एरर आ रही है तो मतलब कि टोकन गलत था।
तो अगर टोकन गलत है तो हम यहां पे बोल देंगे कि रिस्पांस स्टेटस 41 और इधर पे हम बोल सकते हैं टोकन
इज़ इनवैलिड। कि भाई जो आप टोकन भेज रहे हो ना वह टोकन गलत है। इतना हम यहां पे भेज सकते हैं। तो अब देखो अब अगर मैं यहां पे
कुकीज़ के अंदर कुकीज़ के अंदर अगर मैं एक इनवैलिड टोकन भेजता हूं तो देखो मेरे पास इस बार रिस्पांस क्या आएगा? 41 मैसेज टोकन
इज़ इनवैलिड। भाई जो आप टोकन यूज़ कर रहे हो वो टोकन इनवैलिड है। अच्छा हां। तो देखो अगर मेरे पास अब यहां पे एक सही टोकन यूज़
कर लूं तो उसके लिए मुझे एक और यूजर क्रिएट करना पड़ेगा। यही चीजें होती है कि भाई अगर आप रजिस्टर करते टाइम तो आपका
टोकन क्रिएट होता ही होता है। साथ ही साथ जब हम एक लॉगिन एपीआई और क्रिएट करते हैं। लॉग इन एपीआई के टाइम पे भी हमें एक बोल
सकते हो टोकन क्रिएट करना रहता है। तो अभी रजिस्टर एपीआई रजिस्टर के साथ एक नया यूजर क्रिएट करेंगे। कुकीज़ के अंदर हमारे पास
नया टोकन सेव हो चुका होगा। और अब अगर मैं पोस्ट क्रिएट करने जाऊं सही टोकन के साथ तो सही टोकन के साथ मैं पोस्ट क्रिएट कर
सकता हूं। क्यों? क्योंकि देखो जो मैंने यहां पे लॉजिक लगाया कि भाई कुकीज़ के अंदर टोकन होने चाहिए। बिल्कुल है। कुकीज़ के
अंदर टोकन था हमारे पास। इस बार जो कुकीज़ के अंदर टोकन था वो सही टोकन था। तो JWT डॉट वेरीफाई जब सही टोकन को वेरीफाई करता
है तो वो कुछ एरर रिटर्न नहीं करता। कुछ एरर थ्रो नहीं करेगा। उल्टा आपको एक चीज रिटर्न करता है जिसको हम क्या बोलते हैं?
डिकोडेड। अब डिकोडेड जनरली नाम रहता है। वेरिएबल का नाम है वो तो कुछ भी रख सकते हो। अच्छा डिकोडेड क्या होता है? तो
डिकोडेड अगर मैं यहां पे कंसोल लॉक डिकोडेड कंसोल करवाऊंगा तो देखो मेरे पास क्या आता है? इसे किया सेंड। तो डिकोडेड
यहां पर आएगा। डिकोडेड jw वेरीफाई टोकन को वेरीफाई करवाएंगे और अगर सही टोकन को वेरीफाई करवाते हो तो डिकोडेड तुम्हें
रिटर्न में मिलता है और ये डिकोडेड रहता क्या है? एक ऑब्जेक्ट ऑब्जेक्ट के अंदर क्या रहता है? आईडी रहती है। ये आईडी कहां
से आई? ये आईआईटी क्या है? आईएटी ये क्या है? ये टोकन कब क्रिएट होता है? उसकी टाइमिंग रहती है। ये आईआईटी कि टोकन जब
क्रिएट हुआ होगा आईएटी वो अपना रहता है। और ये आईडी क्या है? सुनो। जब तुम टोकन क्रिएट कर रहे थे। टोकन कहां पे क्रिएट
क्रिएट हुआ था? रजिस्टर कंट्रोलर के अंदर। तो टोकन क्रिएट करते टाइम तुम ऑब्जेक्ट फॉर्मेट में कुछ डेटा दे रहे थे आईडी। तो
यही सेम आईडी जब तुम टोकन को वेरीफाई करवा रहे होते हो तो यही सेम आईडी डिकोडेड के अंदर कंसोल हो जाती है। तो ये रहा अपना
डिकोडेड और इसके अंदर जिस यूजर के पास से ये टोकन आ रहा होगा उस आईडी उस यूजर की आईडी हमारे पास रहती है। क्यों? क्योंकि
जो तुमने टोकन क्रिएट किया था टोकन क्रिएट करते टाइम यही तुम डेटा दे रहे थे। तो यही सेम डेटा जब तुम टोकन को वेरीफाई करते हो
यही सेम डेटा तुम्हारे पास आ रहा होता है। देखो जिस डेटा के साथ तुम टोकन को क्रिएट करोगे वही सेम डेटा जब तुम टोकन को
वेरीफाई कर रहे होते हो वही सेम डेट तुम्हारे पास रिटर्न में आ जाता है और इसे तुम यहां पे यूज़ कर सकते हो। अब मेरे पास
यहां पे आईडी आई है तो मेरे पास यहां पे अगर आईडी आई है तो मैं क्या कर सकता हूं? इधर पे मैं यहां पे यूजर मॉडल रिक्वायर कर
सकता हूं। और यूजर मॉडल फाइंड करने के बाद तो इधर पे मैं क्या करूंगा? कॉस्ट यूजर = अवेट यूजर मॉडल डॉट फाइंड वन और फाइंड वन
मैं इस बार फाइंड करने वाला हूं अंडरस्कोर आईडी के बेसिस पे डिकोडेड के अंदर जो मेरे पास आईडी आएगी हम यहां पे अवेट यूज़ कर रहे
हैं। तो इस जगह पे पास सिंक आएगा। तो यहां पे यूजर जो भी मिलेगा उसे मैं कंसोल करवा सकता हूं। कंसोल डॉट log यूजर कंसोल किया
जा सकता है। बढ़िया। तो यहां पे कंसोल करवाया। अब अगर मैं इसे सेंड करता हूं तो सेंड करने के बाद देखो डिकोडेड टोकन आया
होगा। टोकन को हमने वेरीफ़ाई करवाया। वेरीफ़ाई करवाने के बाद डिकोडेड में आईडी आई होगी। उस आईडी के बेसिस पे हमने यूजर
को फाइंड किया और जो यूजर मुझे मिला उसे कंसोल करवाया होगा। तो देखो कौन सा यूजर मुझे मिला है जिसका ईमेल एड्रेस क्या है?
टेस्ट अंडरs 3 तो ये होता है आपका पूरा ऑथेंटिकेशन की एक लाइफ साइकिल। रजिस्टर के टाइम पे आप एक टोकन क्रिएट करोगे। टोकन के
अंदर आपके पास यूजर की आईडी रहती है। जो उस आईडी से उस टोकन के साथ जब भी आप अब अगली बार सर्वर पे रिक्वेस्ट करोगे तो वो
टोकन के अंदर टोकन वो पड़ेगा। सर्वर आपका उस टोकन को वेरीफाई करता है। वेरीफाई करते टाइम जो जिस डेटा के साथ आपने टोकन को
क्रिएट किया था आईडी के साथ क्रिएट किया था तो वो आईडी आपको मिल जाएगी। उस आईडी से आप यूजर को फाइंड करोगे। के डेटाबेस में
आपको यूजर मिलेगा और उस यूजर के वजह से आप यहां पे बता सकते हो कि भाई ये रिक्वेस्ट किस यूजर के पास से आ रही है और उस यूजर
की डिटेल आपको यहां पे मिल जाती है। तो ये एक आपका प्रॉपर ऑथेंटिकेशन सिस्टम की लाइफ साइकिल होती है। अब इसको प्रॉपर और अच्छे
तरीके से कैसे इंप्लीमेंट करना है वो हमें यहां पे समझना है। तो अब ये समझते हैं। चलो तो यार अब हम यहां पे एक नया
प्रोजेक्ट स्टार्ट करेंगे। ऑथेंटिकेशन क्या कंप्लीट हो चुका है? नहीं ऑथेंटिकेशन भी हमें इसमें और अच्छे से सीखना रहेगा।
जो प्रोजेक्ट हम बिल्ड करेंगे इसमें और अच्छे तरीके से ऑथेंटिकेशन प्लस ऑथराइजेशन हमें सीखना है। मिडिल वेयर्स क्या होते
हैं वो भी हमें यहां पे सीखना रहेगा। प्रोजेक्ट क्या होने वाला है? तो प्रोजेक्ट हमारा रहेगा एक सिंपल
स्पर्टिफाई का क्लोन जहां पे दो टाइप के यूजर होने वाले हैं। कौन-कौन से? देखो एक हमारा रहेगा नॉर्मल यूजर जो गानों को सुन
सकता है। प्लेलिस्ट ये सारी चीजें उनको सुन सकता है। जो एक अपना नॉर्मल स्पॉर्टिफाई यूजर होता है। इसके अलावा एक
और यूजर होगा जिसको हम बोलेंगे आर्टिस्ट। तो आर्टिस्ट क्या कर सकता है? वो नए सॉन्ग्स को क्रिएट कर सकता है स्पdाई के
प्लेटफार्म पे। तो हमें यहां पे एक एप्लीकेशन क्रिएट करनी है जहां पे ऑथराइजेशन रोल बेस्ड ऑथराइजेशन लगाना है।
कैसे? क्योंकि सिर्फ आर्टिस्ट म्यूजिक को क्रिएट कर सके। जो एक नया म्यूजिक रहेगा उसे क्रिएट कर सके। और जो हमारे नॉर्मल
यूजर रहते हैं वो म्यूजिक को अपलोड नहीं कर सकते लेकिन वो म्यूजिक को सुन जरूर सकते हैं। तो ये हमें एक फीचर डेवलप करना
है हमारी एप्लीकेशन में और इसे हम बोलते क्या हैं? रोल बेस्ड ऑथेंटिकेशन सिस्टम। तो ये हमें यहां पे इंप्लीमेंट करना
रहेगा। तो अब कोडिंग स्क्रीन जो हमारी होने वाली है बीएस कोड वीएस कोड पे वापस आते हैं। ये तो अपना ब्राउज़र है। सो ये
रहा हमारा बीएस कोड। इसे हम पूरा क्लियर करेंगे। क्लियर करने के बाद अब देखो जो हमारा एक सिंपल प्रोजेक्ट रहता है उसको
इनिशिएट करने के लिए कमांड हमारी सबसे पहले जाती है एनपीएम इन इट हफन वाई। हफन वाई के बाद हमें यहां पे कुछ पैकेजेस की
जरूरत पड़ेगी। कौन-कौन से पैकेजेस? तो सबसे पहले एक्सप्रेस ऑफ कोर्स फिर हमें यहां पे जरूरत पड़ने वाली है मोंगूस।
पोंगूस के बाद हमें यहां पे जरूरत पड़ेगी लेट्स से डॉट envv के बाद jसon वेब टोकन
jसन वेब टोकन json वेब टोकन के बाद हमें जरूरत पड़ेगी कुकी पार्सर की कुकी पार्सर के बाद आई थिंक अभी तक इतने में हमारा काम
होना चाहिए नहीं है कुछ और पैकेजेस की अब यहां पे नीड पड़ने वाली है जैसे कि म्यूजिक फाइल को स्टोर करने के लिए हमें
इमेज किट की जरूरत पड़ेगी तो वो भी हम इंस्टॉल करेंगे लेकिन उससे पहले हम यहां पर एक फोल्डर क्रिएट करते हैं। फोल्डर का
नाम रहेगा sआरसी। एसआरसी फोल्डर के अंदर हम एक फाइल क्रिएट करेंगे app डॉट जेएस। और इस जगह पे हम सबसे पहले रिक्वायर करते
हैं एक्सप्रेस इक्व टू रिक्वायर एक्सप्रेस। एक्सप्रेस को किया रिक्वायर एंड एक सर्वर का इंस्टेंस क्रिएट होगा। ऐप
इक्वल्स टू एक्सप्रेस को किया कॉल और मॉड्यूल डॉट एक्सपोर्ट। ऐप यहां से कर सकते हैं एक्सपोर्ट। अब कुछ मिडिलवेयर
हमें यहां पे यूज़ करने हैं। एक्सप्रेस डॉट json हमें एक मिडिल वेयर और रिक्वायर करना रहेगा जिसका नाम रहेगा कुकी पार्सर और
कुकी पार्सर भी हम यहां पे यूज़ कर रहे होंगे। बढ़िया तो दो मिडिल वेयर हमें यहां पे यूज़ करने रहते हैं एक्सप्रेस डॉट json
ताकि रिक्वेस्ट डॉट बॉडी में डेटा आ सके कुकी पार्सर ताकि कुकीज़ में हम डेटा को सेट कर सकके और साथ ही साथ जो कुकीज़ से
डेटा आएगा उसे हम पढ़ सकें। बढ़िया। तो यहां पे हम आगे बढ़ते हैं। आगे बढ़ने के बाद अब एक फाइल हम और क्रिएट करेंगे। हम फाइल का
नाम रखेंगे सर्वर डॉट जेS कॉस्ट कॉस्ट ऐप इक्व टू रिक्वायर रिक्वायर के अंदर हम बोलेंगे एसआरसी के अंदर ऐप
फाइल एंड कॉस्ट पोर्ट वी कैन डिसाइड बट अभी के लिए मैं यहां पे पोर्ट डिसाइड नहीं करूंगा बट
ऐप डॉट लिसन पोर्ट नंबर 3000 कॉल बैक और कॉल बैक के अंदर बोल सकते हैं सर्वर इज़ रनिंग ऑन पोर्ट 3000 बढ़िया है और हम यहां
पे क्योंकि ENB का यूज़ करेंगे तो रिक्वायर रिक्वायर डॉट कॉन्फिग इतना हम यहां पे बोल सकते हैं। बढ़िया तो इतना हमने किया। एक
फाइल हम यहां पे और क्रिएट करते हैं। डीबी फोल्डर के अंदर डीवी फोल्डर के अंदर एक फाइल डीबी डॉट जेएस। बढ़िया। तो अब कॉस्ट
मोंगूस रिक्वायर करेंगे और एक फंक्शन हम यहां पे क्रिएट करते हैं। इस फंक्शन के अंदर क्या होता है? सिंपल इस फंक्शन के
अंदर आप लिखते हो कि किस तरीके से आपका सर्वर डेटाबेस से कनेक्ट होने वाला है। तो ट्राई और ट्राई के बाद हम यहां पे बोल
सकते हैं कैच एरर और कनेक्शन दिस दिस दिस प्रोसेस एग्जिट की अभी नीड नहीं है। वैसे प्रोडक्शन में अगर जब हम बात करते हैं तो
प्रोसेस डॉट एग्जिट भी हम यूज़ करते हैं। किसी-किसी पर्टिकुलर सेटअप में तो वहां पे भी हम इस चीज को यूज़ कर रहे होते हैं।
प्रोसेस डॉट एग्जिट क्या होता है? थोड़ा सर्च करके देखना। Google करो। एक डेवलपर की एक अच्छी पहचान होती है कि भाई Google
करके वो चीजों को समझ सकता है। तो Google करो पता करोगे प्रोसेस डॉट एग्जैक्ट होता क्या है एग्जैक्टली तो देखो यहां पे हम
बोलेंगे कंसोल डॉट लॉग डेटाबेस कनेक्टेड सक्सेसफुली इतना हमने किया इतना करने के बाद कनेक्ट डीबी एंड कनेक्ट डीबी के बाद
मॉड्यूल डॉट एक्सपोर्ट कनेक्ट डीबी हम यहां पे कर सकते हैं एक्सपोर्ट एक्सपोर्ट करने के बाद सर्वर डॉट जेएस फाइल में
आएंगे कॉस्ट कनेक्ट डीबी को किया रिक्वायर और कनेक्ट डीबी फंक्शन को कर सकते हैं यहां पे कॉल बढ़िया और एनपीx नोडमोन सर्वर
डॉट js तो अगर मैं इतनी अब कमांड यहां पे लिखूंगा तो यहां पे बोलेगा सो क्या हमने पैकेज इंस्टॉल नहीं किया है? सो पैकेज jsn
में पैकेज हमने इंस्टॉल किया है। सोई पैकेज इंस्टॉल हुआ है।v हम मेरे ख्याल से एक बार फिर से ट्राई
करते हैं। एनv ओके सो nmon server डॉटjs
ओके समझ गया। सो यहां पे एक प्रॉब्लम हो सकती है कि जो हमारी env फाइल है env फाइल नहीं है और उसके अंदर एक वेरिएबल नहीं है।
सो हम यहां पे बोल सकते हैं मोंगो अंडरs uri और इधर पे हमें वैल्यू देनी रहेगी। सो मोंग डीबी कंपास मोंगो डीबी कंपास में हम
यहां पर कॉपी कनेक्शन स्ट्रिंग और इधर पे मैं पेस्ट करूंगा कॉपी कनेक्शन स्ट्रिंग एंड मुझे डेटाबेस का नाम जो इस बार दे रहा
हूं। डेटाबेस का नाम क्या दे रहा हूं? डेटाबेस का नाम जाएगा इस बार मेरा कॉमेट। कॉमेट इस बार डेटाबेस का नाम यूज़ कर रहा
हूं मैं। बढ़िया। तो डेटाबेस का नाम मैंने यहां पे दे दिया कॉमेट और कॉमेट डेटाबेस का नाम देने के बाद अब अगर मैं आता हूं
सर्वर एक बार रिस्टार्ट करता हूं तो सर्वर मेरा रिस्टार्ट हुआ और वो डेटाबेस से कनेक्ट हो चुका है। बढ़िया। अब पता है
तुम्हें एक अच्छी बात बताऊं। लाइक बैक एंड में अभी तक हमने सारी चीजें खुद से क्रिएट कर रहे थे। सो अब हमें अगर सर्वर स्टार्ट
करना रहता था। अगर हमें यहां पे सर्वर स्टार्ट करना रहता था तो कमांड कौन सी यूज़ कर रहे हैं? एनपीx नोडम ऑन सर्वर डॉटjs।
लेकिन हम इस कमांड को मॉडिफाई कर सकते हैं। कैसे? देखो पैकेज डॉट jsn फाइल में आना। ये जो तुम्हारी पैकेज डॉट jsn फाइल
रहेगी इस फाइल में आना। और इधर पे एक स्क्रिप्ट्स करके प्रॉपर्टी होंगी। इन स्क्रिप्ट्स के अंदर एक प्रॉपर्टी तुम
लिखो क्या? डेफ और डेफ प्रॉपर्टी के अंदर तुम यहां पे लिख देना एनपीx नोम ऑन सर्वर डॉट जेएस। तो यहां पे तुम लिख सकते हो
सर्वर डॉट जेएस। तो अब इससे होगा क्या? इससे होगा कुछ ऐसा कि जब भी अब तुम एनपीएम रन डेव रन करोगे तुम्हारे टर्मिनल पे तो
ये जो एनपीx नोम ऑन सर्वर डॉट जेएस है ये रन हो जाएगा। तो देखो अगर मैं यहां पे लिखता हूं एनपीएम रन टैब एंटर किया एंटर
करने के बाद एनपीx नोमोन सर्वर डॉट जेs रन होगी और तुम्हारा सर्वर यहां पे स्टार्ट हो जाएगा। तो ये मैं तुम्हें क्यों बता
रहा हूं? मैं तुम्हें इसलिए बता रहा हूं कि भाई ये काइंड ऑफ बिगिनर को बहुत कम लोगों को पता होती है। मतलब कि जब तुम
सर्वर क्रिएट करते हो और जब तुम्हें एकदम स्टार्टिंग में होते हो तो स्टार्टिंग में बहुत कम लोगों को पता होती है। इवेंचुअली
तुम्हें पता चल जाता है कि हां भाई इस तरीके से भी स्क्रिप्ट्स क्रिएट होती हैं। शुरुआत में बहुत कम लोगों को पता होगी तो
तुम थोड़ा बहुत अपने दोस्तों के साथ कर सकते हो कि भाई देख इससे ऐसा भी एक कमांड होता है। ठीक है? और सिमिलर वे पे हम यहां
पर एक कमांड और लिखते हैं जो अधिकतर हम जब सर्वर को डिप्लॉय करते हैं तो स्टार्ट कमांड जिसमें हमारा सिर्फ नड सर्वर डॉट
जेएस आता है। नड सर्वर डॉट जेस किस लिए आएगा कि भाई एक बार सर्वर स्टार्ट कर देगा और फिर वो चेंजेस को नहीं देखता है तो वो
प्रोडक्शन लेवल का जो हमारा सर्वर रहता है उसमें बढ़िया है कि भाई कुछ भी अगर चेंज हो रहा है तो भी वो सर्वर को रीस्टार्ट
नहीं करेगा। जो एक बार सर्वर आपका रिस्टार्ट हो गया उसी को कंटीन्यूअसली चलाता रहता है। तो स्टार्ट कमांड हम
प्रोडक्शन पे यूज़ करते हैं। बढ़िया। तो हमारा सर्वर यहां पर रिस्टार्ट हो चुका है और साथ ही साथ डेटाबेस से कनेक्ट हो चुका
है। अब सुनो सबसे पहले अब हम यहां पर करेंगे क्या? हमें यहां पे यूज़र्स के रजिस्टर और लॉग इन मतलब कि जो ऑथेंटिकेशन
बेस्ड राउट है वो हमें यहां पे क्रिएट करने हैं। और यूजर से रिलेटेड कुछ भी ऑपरेशन अगर हमें डेटाबेस में परफॉर्म करना
रहता है तो हम यहां पे क्या यूज़ करते हैं? सबसे क्या क्रिएट करते हैं? सबसे पहले उसका स्कीमा क्रिएट करेंगे। फिर मॉडल
क्रिएट करते हैं। फिर उनकी एपीआई एंड कंट्रोलर्स क्रिएट करते हैं। तो इसके लिए एसआरसी फोल्डर में सबसे पहले हम यहां पे
एक मॉडल्स फोल्डर क्रिएट करेंगे। और मॉडल्स फोल्डर के अंदर एक फाइल क्रिएट करेंगे यूजर डॉट मॉडल डॉट जेएस। और इस
पर्टिकुलर फाइल में हम रिक्वायर करेंगे मोंगूस इक्वल्स टू रिक्वायर मोंगूस। मोंगूस के हमने रिक्वायर कॉन्स्ट यूजर
कॉन्स्ट यूजर स्कीमा। यूजर स्कीमा में हम बहुत सिंपल सी चीज़ बोल रहे होंगे। देखो मैं बता रहा हूं क्या बोल रहे हैं हम यहां
पे हम यहां पे क्या बोलेंगे सबसे पहले हम बोलेंगे यूजरनेम लेट्स से हम यहां पे यूजरनेम बोल सकते हैं जो इसका टाइप रहेगा
थोड़ा इस बार में अच्छे तरीके से अ स्कीमा क्रिएट कर रहा हूं तो तुम्हें थोड़ी चीजें एक्स्ट्रा देखने के लिए मिलेंगी जैसे कि
यूजरनेम का टाइप क्या रहेगा स्ट्रिंग रहेगा यूजरनेम जो अपना रहेगा वो रिक्वायर्ड रहेगा रिक्वायर्ड का मतलब क्या
होता है रिक्वायर्ड का मतलब ये होता है कि अब अगर तुम्हें कोई भी यूजर हमारे डेटाबेस में क्रिएट करना है तो तुम्हें उसका
यूजरनेम देना ही पड़ेगा ये रहता है रिक्वायर्ड का काम अच्छा अगर अगर तुमने यूजरनेम रिक्वायर्ड कर दिया और यूजर
क्रिएट करते टाइम यूजरनेम नहीं दिया तो डेटाबेस एरर देता है कि सॉरी भाई यूजरनेम अगर आपको एक यूजर क्रिएट करना है तो उसका
यूजरनेम रिक्वायर्ड है। अगर आप यूजरनेम नहीं दोगे तो डेटाबेस नया यूजर क्रिएट करेगा ही नहीं। तो रिक्वायर्ड और साथ ही
साथ मैं यहां पे दूंगा क्या? यूनिक ट्रू। यूनिक ट्रू का मतलब क्या हुआ? कि अगर आपके जितने भी आपके डेटाबेस में यूज़र्स होंगे
उन सभी यूजर का यूजरनेम यूनिक होगा। किन्ही भी दो यूजर का यूजरनेम सेम नहीं हो सकता। तो ये हमने यहां पे यूनिक दे दिया।
यूनिक के बाद अब हम यहां पे और प्रॉपर्टी देंगे लाइक ईमेल। ईमेल भी हमारा यहां पे रहेगा। टाइप स्ट्रिंग रिक्वायर्ड ट्रू एंड
यूनिक। बढ़िया। फिर इसके बाद हम सिंपल जो हमारा पासवर्ड रहता है। सो पासवर्ड टाइपस्ट्रिंग रिक्वायर्ड ट्रू। रिक्वायर्ड
ट्रू काइंड ऑफ बोल सकते हैं। ठीक है? अभी के लिए और जब तक हम Google ऑथ यूज़ नहीं कर रहे तब तक हम यहां पे बोल सकते हैं। अब
रिक्वायर्ड ट्रू हमने दिया। रिक्वायर्ड ट्रू बोलने के बाद हम यहां पर एक प्रॉपर्टी हमारी और जाएगी
दैट इज रोल देखो हमारी जो एप्लीकेशन होने वाली स्पॉटिफाई उसमें दो टाइप के यूजर होंगे। पहला हमारा रहेगा नॉर्मल यूजर और
दूसरा हमारा रहेगा आर्टिस्ट। तो नॉर्मल यूजर गानों को नॉर्मली सुन सकता है और जो हमारा आर्टिस्ट रहता है वो गानों को
क्रिएट भी कर सकता है। लेकिन नॉर्मल यूजर गानों को क्रिएट नहीं कर सकता। जो म्यूजिक हमारे होने वाले हैं उन म्यूजिक को नॉर्मल
यूजर क्रिएट नहीं कर सकता। तो हमारे पास यहां पे रोल रहेगा जिसमें टाइप क्या हमारे पास होने वाला है? तो हमारे पास यहां पे
टाइप रहेगा स्ट्रिंग और इसकी दो वैल्यू हो सकती है। तो इसको हम कैसे बताते हैं? इनम के थ्रू। इनाम के थ्रू हम इसको बताते हैं।
तो एक हमारा होगा यूजर और दूसरा हमारे पास होगा क्या? आर्टिस्ट। दो हमारे पास यहां पे होने वाले हैं। और फिर इसके बाद हम
यहां पे एक डिफॉल्ट वैल्यू क्या देंगे? यूजर। तो देखो ईम क्या करता है? हमारे एप्लीकेशन में दो टाइप के यूजर हो सकते
हैं। एक हमारा नॉर्मल यूजर तो उसके लिए हमने सिर्फ यूजर रख के रखा है और एक हमारा हो सकता है आर्टिस्ट। तो ईनम यहां पे ये
बताता है भाई ये जो रोल आपकी प्रॉपर्टी है इस प्रॉपर्टी की इन दोनों में से कोई एक वैल्यू होगी या तो यूजर होगी या तो आर्ट
आर्टिस्ट होगी कोई सी इन दोनों के अलावा कोई तीसरी वैल्यू नहीं हो सकती और डिफॉल्ट वैल्यू क्या रहेगी डिफॉल्ट वैल्यू आपकी
रहेगी यहां पे यूजर डिफॉल्ट वैल्यू यूजर से मतलब क्या है कि अगर यूजर क्रिएट करते टाइम आपने कोई वैल्यू नहीं दी मतलब कि
आपने ना यूजर दिया ना आर्टिस्ट दिया तो हम डिफॉल्ट क्या अस्यूम कर लेंगे कि भाई यूजर यहां पे हम डिफ़ॉल्ट अस्यूम कर लेंगे
बढ़िया है तो जो हमारा एक यूजर का स्कीमा है यूजर स्कीमा हम यहां पे क्रिएट कर चुके हैं। और अब अगर मैं यहां पर आता हूं कॉस्ट
यूजर मॉडल इक्व टू मोंगूस डॉट मॉडल और देन हम यहां पे बोलेंगे यूजर और यूजर स्कीमा हम यहां पे बोल रहे होंगे। बढ़िया। और देन
मॉड्यूल डॉट एक्सपोर्ट यूजर मॉडल यहां से एक्सपोर्ट करेंगे। बहुत अच्छे। तो यूजर मॉडल तुमने क्रिएट कर लिया। अब हमें यहां
पे कुछ एपीआईस क्रिएट करनी रहेंगी। अ कौन सी एपीआई रहेंगी? ऑथेंटिकेशन बेस्ड एपीआई है। तो एपीआई क्रिएट करने के लिए हम एक और
फोल्डर क्रिएट करते हैं। राउट्स फोल्डर और राउट्स फोल्डर के अंदर हम एक फाइल क्रिएट करते हैं। ऑथ डॉट राउट्स डॉट जेएस ये एक
फाइल हम क्रिएट करेंगे। तो कॉस्ट अ एक्सप्रेस इक्व टू रिक्वायर एक्सप्रेस एक्सप्रेस को
किया हमने रिक्वायर एंड कॉस्ट राउटर इक्व टू एक्सप्रेस डॉट राउटर एंड देन मॉड्यूल डॉट एक्सपोर्ट राउटर हम यहां
पे बोल सकते हैं और ये जो राउटर हमने यहां पे क्रिएट किया है ऐप फाइल में apps फाइल में इसे करेंगे रिक्वायर सो कॉस्ट
ऑथ राउट्स ऑथ राउट्स को हमने यहां पे किया रिक्वायर और रिक्वायर करने के बाद इसे यूज़ करेंगे एक प्रीफिक्स के साथ ऐप डॉट यूज़
एपीआई ऑथ ऑथ राउट्स को हम यहां पे कर रहे होंगे यूज़। बढ़िया। तो ऑथ राउट्स हमने यूज़ किया। अब इसके बाद सबसे पहली जो हम एपीआई
क्रिएट करेंगे वो एपीआई हमारी होने वाली है रजिस्टर की एपीआई जहां पे यूजर रजिस्टर कर सकता है। तो इसके लिए हम क्या कर सकते
हैं? इसके लिए हम यहां पे आते हैं एक राउट या बोल सकते हो एक एपीआई क्रिएट करेंगे। पोस्ट सश रजिस्टर और इस एपीआई पे जो लॉजिक
हमारा होने वाला है, ये लॉजिक हम कहां पे लिखेंगे? ये लिखेंगे हम कंट्रोलर्स फाइल के अंदर। तो कंट्रोलर्स कहां पे लिखते हैं
हम? एसआरसी फोल्डर के अंदर एक और फोल्डर क्रिएट किया जाता है कंट्रोलर्स। और कंट्रोलर्स फोल्डर के अंदर हम अपने पूरे
लॉजिक्स लिख रहे होते हैं। तो ऑथ डॉट कंट्रोलर जेs देखो यार ऐसे ही होता है। जब तुम प्रोडक्शन पे बात करते हो ना तो बहुत
सारी फाइल्स क्रिएट करते हो और बहुत सारी फाइल्स के अंदर जितनी भी फाइल्स तुम क्रिएट कर रहे हो उन सभी फाइल का
अपना-अपना एक रोल होता है। तो बस यही है यार प्रोडक्शन पे जब तुम काम करते हो मुझे पता है कि भाई थोड़ा ज्यादा लगता है कि
भाई अभी एक भी एपीआई क्रिएट नहीं की और इतनी सारी फाइल्स हमने क्रिएट कर दी हैं और अभी हमारी एप्लीकेशन में एक भी वर्किंग
एपीआई नहीं है। मुझे पता है ऐसा लगता है लेकिन एक बात मानो एक बात सुनो तुम क्या जब तुम यहां पे बहुत सारी फाइल्स क्रिएट
करते हो तो भाई होता क्या है सारी फाइल्स का अपना-अपना रोल है जैसे कि जितनी भी एपीआई मेरी ऑथेंटिकेशन रिलेटेड होंगी वो
सारी ऑथर आउट्स में रहेंगी फिर जितने भी मेरे मिडिल वेयरर्स होते हैं वो मेरे apps फाइल में रहेंगे साथ ही साथ जो मेरा सर्वर
क्रिएट होगा वो भी apps फाइल में क्रिएट हो रहा होता है फिर मॉडल्स के अंदर मॉडल्स जो हमारा फोल्डर रहता है इसके अंदर जितने
भी मेरे बोल सकते हो जिस तरीके का डेटा मुझे स्टोर स्टोर करना है डेटाबेस में वो सारे डेटाबेस मैं यहां पे बताता हूं कि
भाई ये मेरे मॉडल्स होंगे। ये मेरे स्कीमा है और सारे स्कीमा मॉडल्स फोल्डर के अंदर होंगे। डीबी फोल्डर के अंदर मेरा सर्वर
किस तरीके से डेटाबेस से कनेक्ट होगा उसके पूरे लॉजिक जाएंगे। कंट्रोलर्स के अंदर जो एपीआई मैंने राउट्स फोल्डर के अंदर क्रिएट
किया होगा उन एपीआई के सारे लॉजिक कंट्रोलर्स फोल्डर के अंदर जा रहे होंगे। तो यहां पे तुम जितनी भी फाइल्स देखने
वाले हो इन सारी फाइल के अपने-अपने रोल्स यहां पे होते हैं। तो इंडिविजुअली तुम्हें लगता है कि भाई बहुत ज्यादा फाइल्स हैं।
फालतू में फाइल्स क्रिएट कर रहे हैं। लेकिन जब तुम एक टीम के अंदर काम करते हो और सारी टीम को पता रहता है कि भाई ये
वाला जो कोड होगा ना ये इस फाइल के अंदर रहता है। तो जब टीम में तुम एक प्रॉपर फोल्डर स्ट्रक्चर फॉलो करते हो तो भाई ये
बहुत ज्यादा बेनिफिट करता है। लिटरली जो तुम्हारी एक डेवलपमेंट प्रोसेस होती है उसको बहुत स्मूथ करता है। बहुत फ़ास्ट
बनाता है इन सारी चीज़ों को। तो, इस वजह से हमें एक प्रॉपर फोल्डर स्ट्रक्चर फॉलो करना चाहिए। चाहिए ही चाहिए। बस यह एक चीज़
रहता है। जितना अच्छा तुम कोड लिख पाओगे, जितना अच्छा क्वालिटी का कोड लिख पाओगे, उतना अच्छा बेहतर रहता है। बढ़िया। और अब
अगर हम यहां पे आगे बढ़ते हैं। कंट्रोलर्स पे आएंगे। कंट्रोलर्स के अंदर आने के बाद में यहां पे कॉनस्ट यूजर मॉडल इक्वल्स टू
रिक्वायर। रिक्वायर के अंदर हम यहां पे बोलेंगे मॉडल्स फोल्डर के अंदर। यूजर मॉडल को हमने किया रिक्वायर। और यूजर मॉडल
रिक्वायर करने के बाद हम यहां पे एक पर्टिकुलर फंक्शन क्रिएट करेंगे। अ सिंक फंक्शन
रजिस्टर यूजर और इधर पे हम बोलेंगे रिक्वेस्ट रिस्पांस और देन हमारे फंक्शन की बॉडी। अब
देखो इसमें मेरे पास डेटा क्या-क्या आ रहा होगा। सो मेरे पास यहां पे कॉस्ट मेरे पास यहां पे यूजर नेम आएगा। अब फिर मेरे पास
यहां पर आएगा ईमेल फिर पासवर्ड और फिर रोल रोल तो जो हमारा एक बाय डिफॉल्ट वैल्यू होने वाली
है। सो रोल जो हमारी एक बाय डिफॉल्ट वैल्यू हो सकती है वो हो सकती है यूजर कि भाई अगर रिक्वेस्ट डॉट बॉडी में रोल नहीं
आता है तो डिफ़ॉल्ट वैल्यू उसकी यूजर चली जाएगी। बढ़िया। और अब अगर हम यहां पे बात करते हैं। सो व्हाट वी कैन डू?
ठीक है? सो अब यहां पर आते हैं। ट्राई एंड कैच हम कर सकते हैं। लेकिन सबसे पहले मैं चेक
करूंगा कि भाई यूजरनेम और ईमेल से कहीं यूजर ऑलरेडी एक्सिस्ट एक्सिस्ट तो नहीं करता। क्यों ऐसा मैं बोल रहा हूं? देखो
हमने जब स्कीमा क्रिएट कर रहे थे तो यूजरनेम को क्या बोला था? यूनिक। और ईमेल को हमने क्या बोला था? यूनिक ट्रू बोल के
रखा था। दोनों कैसे होंगे? यूनिक ट्रू। मतलब क्या? मतलब सेम नेम से और सेम ईमेल से कोई भी यूजर दोबारा एग्जिस्ट नहीं कर
सकता। किसी यूजर का देखो मैं क्या बोल रहा? क्या बोलना चाह रहा हूं? लेट्स से हमारे पास यहां पे दो यूजर हैं। एक यूजर
वन है। यूजर वन का जो यूजरनेम है वो है अपना ए और यूजर वन का जो ईमेल एड्रेस है वो है अपना a@ a.com ठीक है? और हमारे पास
यहां पर एक और यूजर है लेट्स से यूजर टू और यूजर टू का जो यूजर नेम है ये है अपना बी
और यूजर नेम यूजर टू का ईमेल जो है वो है अपना [email protected] बढ़िया और अब देखो अब होगा क्या कि यहां
पे मैं क्या नहीं कर सकता मैंने क्या बोल के रखा हूं स्कीमा के अंदर कि यूजरनेम भी यूनिक होना चाहिए साथ ही साथ ईमेल भी
यूनिक होना चाहिए तो मैं क्या नहीं कर सकता। मैं अब एक और तीसरा यूजर नहीं क्रिएट कर सकता जिसका यूजरनेम क्या हो?
जिसका यूजरनेम यूजरनेम यहां पर a हो और साथ ही साथ उसका ईमेल यहां पर क्या हो? [email protected]
ये तो मैं बिल्कुल नहीं कर सकता। क्यों? क्योंकि अगर मैं इसका यूजरनेम a और ईमेल a@ a.com रख दूंगा तो ये अपने यूजरनेम के
सेम क्रेडेंशियल्स की तरह यह जा चुका है। लेकिन पता है मैं साथ ही साथ यहां पे क्या और नहीं कर सकता। मैं यहां पे एक यूजर और
क्रिएट नहीं कर सकता जिसका यूजरनेम तो ओए हो लेकिन b@b b.com उसका ईमेल एड्रेस हो। ये भी मैं नहीं कर सकता। क्यों? क्योंकि
देखो ये जो यूजरनेम है ये यूजर वन का ऑलरेडी यूजरनेम टेकन है। और जो अपना ईमेल एड्रेस है ये ईमेल एड्रेस किसका है? अपने
यूजर टू का ईमेल एड्रेस है। तो मैं इन सेम क्रेडेंशियल्स के साथ भी एक और तीसरे यूजर को क्रिएट नहीं कर सकता। क्यों? क्योंकि
मेरा यूजरनेम और ईमेल दोनों ही यूनिक है। तो इस चीज को कंडीशन इस कंडीशन को चेक करने के लिए मैं कौन सी क्वेरी लगाऊंगा?
देखो यूजर मॉडल नाउ कंट्रोलर्स के अंदर हम आएंगे और इधर पे एक क्वेरी लगाऊंगा कि भाई इज़ यूजर
इज़ यूजर ऑलरेडी एग्ज़िस्ट इक्व टू अवेट यूजर मॉडल डॉट फाइंड वन और फाइंड वन के अंदर इस बार जो हम क्वेरी लगाने वाले हैं
ये क्वेरी किस पे रहेगी? डॉलर और ऑपरेटर। अच्छा ये डॉलर और ऑपरेटर क्या करेगा? अच्छा पहले हमारी एक नॉर्मल क्वेरी चलाते
हैं। क्या कि भाई यूजरनेम और ईमेल के बेसिस पे आप फाइंड करो हमारे यूजर को। तो देखो अब होगा क्या? अब होगा क्या? सुनना
सुनना सुनना। अगर मैं ये एक क्वेरी लगाऊंगा। अगर मैं यहां पे ये एक क्वेरी लगाऊंगा तो प्रॉब्लम क्या होगी? सुनो।
हमारे पास अभी भी यहां पे दो यूजर हैं। यूजर वन एंड यूजर टू और मेरे पास रिक्वेस्ट डॉट बॉडी में मेरे पास यहां पे
रिक्वेस्ट डॉट बॉडी में जो यूजरनेम और ईमेल आया है वो कुछ ऐसा है कि भाई यूजरनेम मेरे पास यहां पर आया है ए और ईमेल मेरे
पास आया है a@ a.com तो रिक्वेस्ट डॉट बॉडी में रजिस्टर एपीआई पे मेरे पास ये कुछ डिटेल आई है। यूजरनेम ए है और ईमेल
मेरे पास a@ a.com है। तो अब अगर मैं यहां पे ये एक पर्टिकुलर क्वेरी लगाता हूं। यह अगर मैं क्वेरी जो मैं यहां पर हिट
करूंगा। सो लेट्स से क्वेरी जो मेरी यहां पर होने वाली है वो यह कर्व करी है। तो इधर पे होगा क्या? अ जो मेरा यूजरनेम है
वो क्या चला जाएगा? ए चला जाएगा। ईमेल मेरा चला जाएगा [email protected] बढ़िया है। तो मेरे पास ये जो यूजर वन है
ये यूजर मेरे को फाइंड हो के मिल जाएगा कि भाई इसका यूजरनेम क्या है? इसका यूजरनेम ए है और ईमेल क्या है? [email protected]
तो ये यूजर मुझे प्रॉपर्ली यहां पे मिल जाएगा। लेकिन लेकिन लेकिन अच्छा अगर यूजरनेम बी आया और ईमेल [email protected] आया तो
क्वेरी इस बार क्या जाएगी हमारी? क्वेरी इस बार हमारी जाएगी बी और ईमेल एड्रेस हमारा जाएगा [email protected] तो जो मेरा यूजर टू
होगा इसका यूजरनेम बी है। ईमेल b@b b.com है। तो यूजर टू मुझे रिटर्न हो जाएगा। लेकिन लेकिन लेकिन लेकिन अब सुनो अब मान
लो यूजरनेम मेरे पास आता है ए और अब जो यहां पे ईमेल अभी-अभी अपने पास [email protected] आ रहा है। अब सुनो अब मेरे पास कोई भी एक
ऐसा यूजर नहीं है जिसका यूजरनेम ए हो और ईमेल [email protected] हो। लेकिन मेरे पास दो ऐसे यूजर ज़रूर हैं जिनमें से एक का यूजरनेम A
है और एक का ईमेल एड्रेस [email protected] है। लेकिन मेरे पास कोई एक तीसरा यूजर नहीं है जिसका
यूजर थ्री जिसका यूजरनेम क्या हो जिसका यूजरनेम यहां पर ए हो और ईमेल [email protected] हो। p@ b.com ये यूजर मेरे पास एग्ज़िस्ट
नहीं करता। ये जो तीसरा यूजर है ये इमेजिनरी यूजर है। ये एक्सिस्ट नहीं करता मेरे पास। तो अब अगर तुम इस क्वेरी को रन
करोगे जिसका क्वेरी क्या बोल रही है कि भाई वो वाला यूजर ला के दो जिसका यूजरनेम ए हो और वो वाला यूजर ला के दो मतलब कि वो
वाला यूजर ला के दो जिसका यूजर नेम ए हो और ईमेल एड्रेस क्या हो [email protected] लेकिन इस टाइप का यूजर इन क्वेरी के साथ
मेरे पास यूजर एक्सिस्ट करता ही नहीं है। तो जो हमारी फाइंड वन है ये मुझे क्या रिटर्न कर देगी? नल रिटर्न कर देगी। लेकिन
ये लेकिन ये तो प्रॉब्लम है ना जो आपके रिक्वेस्ट डॉट बॉडी में डेटा हमारे पास आया यूजर नेम ए इस यूजरनेम से तो ऑलरेडी
यूजर एक्सिस्ट करता है और इस ईमेल से भी कोई यूजर ऑलरेडी एक्सिस्ट करता है तो इसके साथ तो आप प्रॉब्लम आ जाओगी क्योंकि आपको
यूजर ऑलरेडी एक्सिस्ट करते थे सेम क्रेडेंशियल के साथ एक यूजर नहीं था अलग-अलग यूजर थे तो यहां पे अब प्रॉब्लम
हो जाएगी और आपके पास एरर आएगा तो इस चीज को सॉल्व करने के लिए जो हम चीज फॉलो करते हैं उसका नाम क्या रहता है डॉलर और ऑपरेटर
डॉलर और ऑपरेटर आपसे एक अरे मांगता और इस एरे के अंदर मल्टीपल कंडीशंस आपकी रहती हैं। जैसे कि एक कंडीशन हम पहले ऑब्जेक्ट
में देंगे, दूसरी कंडीशन दूसरे ऑब्जेक्ट में देंगे। अब पहली कंडीशन में मैं क्या बोलूंगा? पहली कंडीशन में बोलूंगा कि भाई
मुझे वो वाला यूजर ला के दो जिसका यूजरनेम क्या हो? ए हो और ईमेल क्या हो? ईमेल उसका हो [email protected]
तब देखो होगा क्या? ये जो डॉलर और ऑपरेटर होता है ये मल्टीपल कंडीशन मांगता है। ये मल्टीपल कंडीशन आपसे मांगेगा। और इन
कंडीशन में से कोई एक यूजर अगर जैसे कि यहां पे दो कंडीशन यहां पे जैसे कि दो कंडीशन है तो और ऑपरेटर क्या बोलता है कि
इधर पे मल्टीपल कंडीशंस है दो कंडीशन है। इन दोनों में से कोई एक यूजर कोई एक कंडीशन में अगर सेटिस्फाई कर दिया तो वो
यूजर तुम रिटर्न कर देना। जैसे कि और कंडीशन मैंने क्या बोला कि जिस यूजर का यूजरनेम ए हो या फिर ईमेल [email protected] में है
वो यूजर रिटर्न आ जाना। तो यूजर वन जो है अपना यूजर वन जो हमारा है उसका यूजरनेम क्या है? A है। मतलब कि ये जो पहली वाली
कंडीशन है इसे ये सेटिस्फाई कर रहा है। तो ये यूजर हमारा रिटर्न हो जाएगा। अच्छा अगर मैंने यहां पे लेट्स से यूजरनेम सी दे
दिया तो इस बार यूजरनेम में हम क्वेरी क्या करेंगे? C करेंगे। ठीक है? तो अब देखो दो कंडीशन हमारी और ऑपरेटर के अंदर
बन रही है। भाई मुझे वो वाला यूजर लाके दो जिसका यूजरनेम या तो C हो या फिर ईमेल एड्रेस क्या हो? [email protected]
हो। तो अब देखो इस जगह जो मेरे पास रिटर्न होगा यूजर वन जो है मेरा यूजर वन जो है इसका यूजरनेम सी नहीं है और ना ही इसका
ईमेल [email protected] है तो ये यूजर तो हमें रिटर्न नहीं होने वाला। अब यूजर टू की अगर मैं बात करता हूं तो इसका यूजरनेम क्या
है? बी है जो कि इस कंडीशन को सेटिस्फाई नहीं कर रहा। लेकिन जो दूसरी कंडीशन है कि ईमेल [email protected] हो तो इस कंडीशन को
सेटिस्फाई वो कर रहा है और यूजर टू रिटर्न हो जाएगा। मतलब क्या? मतलब ये कि अगर यूजरनेम या फिर ईमेल से भी कोई यूजर
एक्सिस्ट करता है हमारे डेटाबेस में तो वो रिटर्न हो जाएगा। लेकिन हमें ऑपरेटर कौन सा यूज़ करना पड़ेगा? डॉलर और ऑपरेटर। तो
डॉलर और ऑपरेटर हम यहां पे यूज़ करेंगे और डॉलर और ऑपरेटर एक अरे मांगता है। पहली कंडीशन हम यूजर नेम के बेसिस फाइंड
करेंगे। दूसरी कंडीशन में ईमेल के बेसिस फाइंड करेंगे। और फिर अगर मुझे यहां पे यूजर नेम या ईमेल के बेसिस पे कोई यूजर
मिलता है तो मैं यहां पर उस यूजर वो यूजर मुझे मिलेगा। और एक सिंपल कंडीशन लगाऊंगा कि भाई इफ
इज यूजर ऑलरेडी एक्सिस्ट कि भाई यूजर अगर ऑलरेडी एक्सिस्ट करता है तो रिटर्न 409 स्टेटस कोड यूजर ऑलरेडी एकिस्ट हम यहां पे
बोल सकते हैं और अगर यूजर ऑलरेडी एक्सिस्ट नहीं करता तो हम यहां पे क्या बोलेंगे? अब हम यहां पे एक यूजर क्रिएट कर सकते हैं।
तो हम यहां पे एक यूजर क्रिएट करेंगे। तो हम यहां पे आते हैं एक कॉनस्ट यूजर इक्व टू अवेट यूजर मॉडल डॉट क्रिएट और यूजर
मॉडल डॉट क्रिएट में हम आके यहां पे बोलेंगे कि यूजरनेम ईमेल पासवर्ड और रोल के बेसिस पे आप एक यूजर क्रिएट करो। यूजर
क्रिएट करने के बाद हम हमें यहां पे एक टोकन क्रिएट करवाना रहेगा। टोकन के लिए हमें यहां पे जरूरत पड़ेगी जेसन
वेब टोकन इसका नाम मैं बोल सकता हूं jw और jw के बाद मुझे एक सीक्रेट की जरूरत भी पड़ती है तो सीक्रेट जनरेट करवाना इजी है
बस jw सीक्रेट्स.com पे आना है। ये हमारी वेबसाइट है jwटी सीक्रेट्स.com इस पे करना एंटर। एंटर करने के बाद यह जो वेबसाइट
आपके पास आने वाली है इस वेबसाइट से एक सीक्रेट जनरेट कर लेना। जनरेट कॉपी किया। कॉपी करने के बाद फाइल औरb फाइल के बाद jw
अंडरs सीक्रेट मैं यहां पे यूज़ करूंगा। ये गया अपना सीक्रेट। इस नाम को करूंगा कॉपी और कॉपी करने के बाद ऑथ कंट्रोलर में एक
सीक्रेट या बोल सकते हो टोकन मुझे क्रिएट करना रहेगा। सो कॉस्ट कॉस्ट टोकन = jw डॉट साइन और साइन में हम
यहां पे बोलेंगे कि जो हमारी आईडी होने वाली है सो आईडी आईडी जो हमारी रहेगी यूजर अंडरस्कोर आईडी और एक प्रॉपर्टी और मैं
दूंगा यूजर रोल के रोल जो हमारा होने वाला है लेकिन रोल तो यूनिक नहीं होगा रोल तो दो ही है हमारे पास यूजर और
काइंड ऑफ आर्टिस्ट दो ही रोल है लेकिन आपने बोला था कि जो टोकन क्रिएट करते टाइम हम डेटा यूज करते उसमें दो प्रॉपर्टी हमें
मेंटेन करनी रहती है। कौन-कौन सी? पहला जो जो डेटा रहेगा वो यूजर का डेटा होना चाहिए। साथ ही साथ डेटा यूनिक होना चाहिए।
हां मैंने यही बोला था। लेकिन इस बार देखो यूनिक डेटा हमारे पास एक ऑलरेडी आ चुका है। तो अगर तुम टोकन क्रिएट करते टाइम
एटलीस्ट एक ऐसा डेटा यूज़ कर रहे हो जो यूनिक है तो उतना इनफ है। उतना हमारे पास इनफ रहता है। और बाकी जो तुम्हारा रोल है
ये रोल यूजर का ही है। तो अपना काम हो जाएगा। बस एक ऐसा डेटा तुम्हें यूज़ करना रहता है जो यूनिक होगा। बस उस चीज का
ध्यान रखना। और दूसरे में हम यहां पे यूज़ करेंगे प्रोसेस सीक्रेट। इतना हम यहां पे यूज़ कर रहे
होंगे। और जो टोकन हम जनरेट करेंगे जो टोकन हम यहां पे जनरेट करने वाले हैं इसे करेंगे सेट कुकी में और कुकी में सेट करने
के बाद फाइनली रिस्पांस डॉट स्टेटस 200 jसन फॉर्मेट में जा रहा होगा। ठीक है? तो मैसेज यूजर रजिस्टर सक्सेसफुली और यूजर की
डिटेल्स हम यहां पे शेयर करेंगे। तो यूजर और यूजर में हम यहां पे उसकी आईडी, यूजरनेम, रोल ये सारी चीजें हम यहां पे
रिटर्न करवा रहे हैं। बढ़िया। तो जो हमारा एक रजिस्टर एपीआई है वो कंप्लीट अभी हो गई है। नहीं अभी नहीं हुई है। सुनो एक बहुत
इंपॉर्टेंट चीज बच रही है। क्या? पासवर्ड हैश करना। अब पासवर्ड हैश करना क्या होता है? बता रहा हूं।
Google पे आ रहा हूं। तुम भी सर्च कर सकते हो। मैं अभी यहां पर बस सर्च कर रहा हूं। वाई पासवर्ड
हैशिंग। इजेंट। ठीक है? तो, यहां पर जेमिनाई जो अपना बैठा
है, यह बताएगा कि भाई की रीज़न फॉर पासवर्ड हैशिंगेंट। अब हैंगिंग क्या होती है? इसके बारे में बात करूंगा मैं। हैशिंग होती
क्या है एक्सैक्टली? उसके बारे में बात करूंगा। क्यों यूज़ करते हैं? पहले वो ये देख लो तुम। सुनो। तो सिक्योरिटी फ्रॉम
ब्रीचेस इफ अ डेटाबेस इज़ कॉम्प्रोमाइज अटैकर्स विल ओनली गेट हैश पासवर्ड नॉट द ओरिजिनल रीडेबल पासवर्ड। अब देखो इसका
मतलब क्या है? इसका मतलब ये है कि अगर तुम्हारा डेटाबेस ब्रीच हो गया तो भी जो अटैकर्स रहेंगे उनको हैश मिलता है ना कि
ओरिजिनल पासवर्ड उनको नहीं मिलने वाला और अगर उनके पास ओरिजिनल पासवर्ड नहीं रहता तो वो तुम्हारे अकाउंट को एक्सेस नहीं कर
सकते। ये एक चीज यहां पे रहती है। ओके तो अब देखो हमें यहां पे परफॉर्म क्या करना है? हमें यहां पे एक हैशिंग परफॉर्म करनी
रहती है। तो अब हैशिंग में होता क्या है? अब हैंगिंग में होगा क्या? वो हम यहां पे देखते हैं। तो अब देखो हैशिंग होती क्या
है? सो हमारे पास यहां पर हैशिंग मैं अगर तुम्हें बताऊं होता क्या है तो लेट्स से MD5
हैशिंग MD5 हैशिंग अगर मैं यहां पे सर्च करता हूं तो MD5 हैश जनरेटर तो हैशिंग एक एल्गोरिदम या बोल सकते हो क्रिप्टोग्राफी
एल्गोरिदम का नाम होता है। इसमें होता क्या है कि भाई आप अगर यहां पे एक पासवर्ड है या कोई सा भी एक प्लेन टेक्स्ट रहता
है। जैसे कि हमारा ये जो टेक्स्ट है ये हमारा एक प्लेन टेक्स्ट है। तो अगर आप इस टेक्स्ट को हैशिंग के थ्रू हैशिंग इसकी
करोगे तो होगा क्या? ये जो आपका टेक्स्ट रहेगा ये एक बहुत रैंडम सी वैल्यू में जनरेट हो जाता है। जैसे कि ये टेक्स्ट किस
में कन्वर्ट हो रहा है? टेक्स्ट यहां पे कन्वर्ट हो रहा है इस पर्टिकुलर वैल्यू में। तो अगर मैं यहां पे एक्स कैली ड्रॉ
पे आता हूं। एक्स कैली ड्रॉ तो एक्स कैली ड्रॉ पे आते हैं। ये यहां पे ओपन हुआ है। इसे करते हैं
ओपन। तो देखो अब हुआ क्या? यहां पे जो हमारे पास हैश है, यह हैश किस चीज का है? यह जो हमारा हैश है, यह है हमारे टेक्स्ट
का। सो जो हमने एक टेक्स्ट दिया था, 1 सेकंड रुको। ओके। सो दिस वन वर्क ग्रेट। ठीक है? ठीक
है? तो ये हमारा हैश है और ये रही हमारा जो टेक्स्ट इस टेक्स्ट से पर्टिकुलर इस हैश को ड्राइव किया गया है। तो जब मैंने
यहां पे हैशिंग के थ्रू जो मेरा प्लेन टेक्स्ट टेक्स्ट टेक्स्ट था इसकी हैशिंग परफॉर्म किया। हैशिंग परफॉर्म करने के बाद
ये मुझे एक वेल कैलकुलेटेड स्ट्रिंग के फॉर्मेट में मिलता है। अब हैशिंग ये यहां पे हुई क्या? यहां पे होती है हैशिंग।
हैशिंग क्या है? एक क्रिप्टोग्राफिक एल्गोरिदम होती है जिससे आप प्लेन टेक्स्ट को बोल सकते हो#श में कन्वर्ट कर रहे होते
हो। अच्छा इनकी प्रॉपर्टीज क्या होती है? इनकी मेनली दो प्रॉपर्टीज हैं। क्या? देखो दो प्रॉपर्टी ये रहती हैं कि भाई अगर आप
सेम इनपुट दोगे तो हमेशा आपको सेम आउटपुट मिल रहा होगा। मतलब क्या? मतलब ये कि अगर मैं यहां पे वापस से टेस्ट देता हूं और
इसे वापस से हैश करवाता हूं तो यहां पे होगा क्या? मुझे सेम आउटपुट मिलेगा। इफ़ अगर मैं यहां पर इस वेबसाइट को एक बार
इनकॉकडो मोड पे चालू करता हूं और इनपुट में मैं यहां पर अभी भी टेस्ट देता हूं। तो देखो इस बार जो हमारे पास हैश जनरेट
होगा ये हैश अगेन सेम ही हैश होने वाला है। तो देखो ये रहा मेरा हैश और ये हैश अगर तुम यहां पे कंपेयर करना चाहो तो ये
हैश एग्जैक्ट सेम होगा। तो पहली प्रॉपर्टी हैशिंग की क्या होती है? पहली प्रॉपर्टी होती हैशिंग की कि भाई जो भी अगर आपका सेम
इनपुट है अगर आपका यहां पे सेम इनपुट है तो आपको हमेशा सेम आउटपुट यहां पे मिलने वाला है। तो ये पहली प्रॉपर्टी है। दूसरी
प्रॉपर्टी क्या होती है हैशिंग की? दूसरी प्रॉपर्टी काफी सिंपल है। दूसरी प्रॉपर्टी कुछ इस तरीके की रहती है कि भाई आप हैश को
मतलब कि जो आपका प्लेन टेक्स्ट है इसको हैश में तो कन्वर्ट कर सकते हो लेकिन जो आपका हैश है इसे वापस से कन्वर्ट नहीं कर
सकते आप अपने प्लेन टेक्स्ट के अंदर। यह अलाउ नहीं होता। मतलब कि आप कर ही नहीं सकते। पहला और क्या इसकी जो जो आपकी
हैशिंग एल्गोरिदम है जो आपकी हैशिंग एल्गोरिदम है ये आपको परमिट नहीं करती है कि भाई आप यहां पे हैशिंग या बोल सकते हो
हैश को वापस से कन्वर्ट कर दो आपके प्लेन टेक्स्ट में ऐसा अलाउ है नहीं सिर्फ दो ही प्रॉपर्टी ध्यान रखना जो आपकी हैशिंग है
इसकी सिर्फ दो प्रॉपर्टी होती है क्या क्योंकि अगर आपका सेम इनपुट है तो आपको हमेशा सेम आउटपुट मिलेगा और जो अच्छा इसे
हम क्या बोलते हैं? इसे अपन को प्लेन टेक्स्ट बोल रहे होते हैं। इसे हम क्या बोलेंगे? इसे हम यहां पे बोलते हैं प्लेन
टेक्स्ट। प्लेन टेक्स्ट इसे हम बोल रहे होते हैं। ये हमारा रहेगा प्लेन टेक्स्ट। इसे हम बोलते हैं प्लेन टेक्स्ट। और ये जो
हमारा एक टर्म है इसे हम बोलते हैं#श। बढ़िए। तो अब देखो जो तुम्हारा प्लेन टेक्स्ट है, इसे तो
कन्वर्ट किया जा सकता हैश में। लेकिन तुम्हारे हैश को वापस से किसी भी तरीके से कन्वर्ट नहीं किया जा सकता हमारे प्लेन
टेक्स्ट में। ऐसा बिल्कुल होता है। अच्छा हां ये एक प्रॉपर्टी है। और दूसरी प्रॉपर्टी क्या है? कि अगर तुम हमेशा सेम
प्लेन टेक्स्ट दोगे तो तुम्हें हमेशा सेम हैश ही वापस से मिल रहा होगा। तो ये हमारी होती है हैशिंग। अब हैशिंग से होता क्या
है? हैशिंग से होता क्या है कि भाई जो हमारा पासवर्ड आता है जो हमारा पासवर्ड आता है उस पासवर्ड को हम अपने डेटाबेस में
प्लेइंग टेक्स्ट फॉर्मेट में स्टोर नहीं करते। उसे हम कन्वर्ट करते हैं हैश में और हैश को हमारे डेटाबेस में स्टोर कर रहे
होते हैं। तो इससे फायदा क्या होता है? इससे फायदा ये होता है कि जब भी अबव जब होगा क्या कि अगर मेरा डेटाबेस किसी भी
कारण से ब्रेक हो जाता है वहां पे अगर लीक होता है डेटाबेस तो वहां पे अगर डेटाबेस कॉम्प्रोमाइज हुआ तो भी अटैकर को वहां पे
सिर्फ हैश मिलेगा और ओरिजिनल पासवर्ड उसको नहीं मिलता। क्यों? क्योंकि भाई हैश तो उसको मिल गया तो ओरिजिनल पासवर्ड क्यों
नहीं मिलेगा? सुनो। क्योंकि हैश अगर अटैकर को मिल भी जाता है तो वो वापस से हैश से वापस पासवर्ड को जनरेट नहीं कर सकता।
प्लेन टेक्स्ट को जनरेट कर ही नहीं सकता। इस वजह से हैशिंग हम परफॉर्म करते हैं। और भी कुछ फायदे होते हैं बहुत सारे। अगर आप
यहां पे देखना चाहो तो एक बार वीडियो को पॉज करके एक बार परफॉर्म कर लेना तो आपको समझ में आ जाएगा। बढ़िया। और अब अगर हम
यहां पे आगे बढ़ते हैं तो देखो अब हैशिंग परफॉर्म किसके कौन से पैकेज की हेल्प से करते हैं? तो हैशिंग परफॉर्म करने के लिए
हैशिंग परफॉर्म करने के लिए हमें यहां पर एक पर्टिकुलर पैकेज की जरूरत पड़ेगी। एनपीएमआई
बी क्रिप्ट जेएस। तो जो हमारी बीक्रिप्ट जेएस है ये एक पैकेज है हमारा और इस पैकेज का हम यूज़ करते हैं हमारे बोल सकते हो
प्लेन टेक्स्ट पासवर्ड को#श में कन्वर्ट करने के लिए तो वापस आते हैं एनपीएम रन डेव एंटर किया एंटर करने के बाद अभी एक
एरर आ रही होगी क्योंकि डेवलपमेंट फेस में कोई प्रॉब्लम नहीं है उसको ही फिक्स कर लेंगे हम कॉस्ट बी क्रिप्ट इक्व टू बी
क्रिप्ट जेएस हमने की रिक्वायर रिक्वायर करने के बाद हम यहां पे कॉस्ट हैश पासवर्ड को करेंगे#श इक्व टू अवेट बी क्रिप्ट
डॉट#श और हैश में हम यहां पे बोल सकते हैं क्या पासवर्ड तो पासवर्ड जो भी हमारी रिक्वेस्ट
डॉट बॉडी में आएगा उस पासवर्ड को हम यहां पे जनरेट करेंगे और ये 10 नंबर हमने यहां पे क्या लिख के रखा है यहां पे हो क्या
रहा है पहले वो समझो देखो जो हमारा प्लेन टेक्स्ट पासवर्ड है जो हमारी रिक्वेस्ट डॉट बॉडी से आ रहा था उस पासवर्ड को बीrip
डॉट हैश मेथड की हेल्प से मैं कन्वर्ट कर रहा हूं हैश के अंदर ये एक असिंक्रोनस प्रोसेस है तो आपको यहां पे अवेट लगाना
पड़ेगा तो देखो देखो मेन काम क्या हो रहा है? जो हमारा प्लेन टेक्स्ट पासवर्ड है उसे कन्वर्ट कर रहे हैं हम हैश के अंदर और
ये 10 क्या होता है? 10 अपना होता है साल्ट। तो साल्ट आप अपने हिसाब से सेलेक्ट कर सकते हो। अलग-अलग वेबसाइट अलग-अलग
सर्वर के अलग-अलग नंबर साल्ट होते हैं। साल्ट से होता क्या है? एक आप यहां पे दे सकते हो। अ दिस वन सॉल्टिंग व्हिच एड्स अ
यूनिक रैंडम वैल्यू टू ईच पासवर्ड बिफोर हैशिंग मेक्स रेनबो टेबल एंड रूट फ़ोर्स अटैक फॉर मोर डिफिकल्ट एंड टाइम
कंज्यूमिंग फॉर द अटैकर्स। मतलब कि इतना बोल सकते हो कि जो आपका साल्ट रहता है ये साल्ट जो भी अटैक होगा आपके सर्वर पे उस
अटैक को और डिले करने के काम में आता है। मतलब कि ये प्रिवेंट नहीं करता। देखो प्रिवेंट करता है। कोई भी ऐसा अटैक नहीं
है जो मतलब कि कोई भी ऐसी सिक्योरिटी नहीं है जो आपके सर्वर को 1% सिक्योर बना दे। हां, आप अटैकर को बहुत डिले कर सकते हो।
कितना डिले कर सकते हो हजारों साल के लिए? हजारों साल के लिए लिटरली आप उसको डिले कर सकते हो। मतलब हजारों साल इतना बड़ा नंबर
होता है कि प्रैक्टिकली पॉसिबल ही नहीं है कि भाई एक अटैकर हजारों साल तक जी जाए। तो हम उसको डिले कर सकते हैं। कितना डिले कर
सकते हैं? हजारों साल के लिए डिले कर सकते हैं। तो ऑन पेपर ऐसा कोई अटैक नहीं मतलब कि ऐसी कोई सिक्योरिटी नहीं है जो आपके
सर्वर को 100% सिक्योर बना दे। लेकिन अगर रियल लाइफ में देखा जाए अगर आप एक अटैकर को 1000 साल के लिए भी डिले कर दे रहे हो
तो भी वो काइंड ऑफ 100% सिक्योरिटी में कंसीडर की जा सकती है। ऑल थ्योरिटिकली देखा जाए तो 100% सिक्योर नहीं है। लेकिन
अपना काम हो जाएगा बस इतना है अभी के लिए। तो देखो हैश हमारा बनेगा और इस हैश को अब हम यहां पे यूज़ कर रहे होंगे पासवर्ड को
हमारे डेटाबेस में सेव करने के लिए। अब ये जो कंट्रोलर हमने क्रिएट किया है जो हमारा रजिस्टर यूजर कंट्रोलर है जो हमने यहां पे
क्रिएट कर दिया। अब इस कंट्रोलर पर आएंगे और मॉड्यूल डॉट एक्सपोर्ट्स इक्व टू एक ऑब्जेक्ट और ऑब्जेक्ट के अंदर हमारे पास
जो रजिस्टर यूजर है इसे करेंगे एक्सपोर्ट एक्सपोर्ट करने के बाद जो हमारे ऑथ राउट्स रहेंगे इधर पे आते हैं कॉस्ट
ऑथ कंट्रोलर इक्व रिक्वायर और रिक्वायर के अंदर हम यहां पे बोलेंगे कि भाई कंट्रोलर्स फोल्डर
के अंदर ऑथ कंट्रोलर को आप कर लो रिक्वायर और ऑथ कंट्रोलर रिक्वायर करने के बाद ऑथ कंट्रोलर डॉट रजिस्टर यूजर इसे आप करोगे
यूज़। बढ़िया। तो बस इसी चीज़ की एक प्रॉब्लम हो रही थी कि वो पहले एरर दे रहा था। अभी भी एक एरर आ रही है। मोंगूस क्या हमने
मोंगूस पैकेज भी इंस्टॉल नहीं किया है क्या यार? एनपीएमआई
मोंगूस मोंगूस पैकेज तो हमने इंस्टॉल किया था वो डेटाबेस से वरना कनेक्ट कैसे हो रहा था
शुरुआत में? एनपीएम रनडेव। सो अब अगर मैं यहां पे आके देखता हूं तो मेरा सर्वर ये सारी चीजें कनेक्टेड
हैं। बढ़िया है। और जो मेरी एक एपीआई है इस एपीआई पे अगर मैं रिक्वेस्ट करता हूं जो डेवलप अभी किया हूं। तो पोस्टमैन पे
आते हैं। पोस्टमैन पे आने के बाद ये सारी एपीआई अभी हम हटा सकते हैं। एक नई एपीआई मेथड हमारी रहेगी पोस्ट लोकल
पोस्ट कॉलन 3000 एपीआई ऑथ स रजिस्टर और बॉडी के अंदर अगर मैं आता हूं तो रॉ फॉर्मेट में हम यहां पे क्या बोल सकते
हैं? हमारा यहां पे रहेगा यूजर नेम यूजरनेम रहेगा। यूजर नेम जो हमारा होने वाला है टेस्ट। टेस्ट के बाद जो हमारा
ईमेल होगा सो ईमेल टेस्ट @ test.com इधर पे एक कॉमा इधर पे एक कॉमा आएगा। फिर हम यहां पे बात करेंगे पासवर्ड। टेस्ट अभी के
लिए हम यहां पे यूज़ कर सकते हैं। तो यूजरनेम टेस्ट रहेगा। ईमेल टेस्ट @ test.com पासवर्ड हमारा टेस्ट यहां पे
होने वाला है। बढ़िया। और अब अगर देखो जो हमारी रिक्वेस्ट डॉट बॉडी रजिस्टर में डिमांड करती है वो क्या रहती है? वो चार
चीजें रहती हैं। यूजरनेम, ईमेल, पासवर्ड और रोल। तो हम यहां पे यूजर नेम, ईमेल और पासवर्ड तो भेज रहे हैं लेकिन रोल
रिक्वेस्ट डॉट बॉडी में नहीं शेयर कर रहे। तो इसकी डिफ़ॉल्ट वैल्यू क्या चली जाएगी? यूजर चली जाएगी और एक यूजर रोल के साथ
हमारा एक नया यूजर क्रिएट होगा और वही हमें रिटर्न आ रहा होगा। तो देखो अब इसे किया सेंड। सेंड करने के बाद यूजर हमारा
क्रिएट हुआ। उसका रोल क्या जा रहा है? यूजर जा रहा है। ठीक? और अब अगर मैं यहां पे एक यूजरनेम अंडर टू और इसका ईमेल अंडर
टू और इधर एक मैं रोल भेजता हूं। और रोल हमारा मान लो यह रहता है आर्टिस्ट। ठीक। और अब अगर मैं इसे सेंड करूंगा तो एक
और यूजर मेरा क्रिएट होगा। लेकिन इसका रोल क्या होने वाला है? आर्टिस्ट यहां पर रोल इसका होने वाला है। बढ़िया। तो जो मेरी एक
एपीआई है जो दो अलग-अलग टाइप के यूजर क्रिएट कर सकती है वो एपीआई मेरी यहां पे रेडी है। और अब इसके बाद जो मेरा एक यूजर
क्रिएट होगा इसके इसके बिहाफ पे अब मैं मतलब जो आर्टिस्ट मेरा क्रिएट हो रहा है उस आर्टिस्ट से आगे चल के म्यूजिक क्रिएट
कर पाऊंगा। और जो मेरा नॉर्मल यूजर है उससे मैं म्यूजिक को लिसन कर सकता हूं। ये अब मैं यहां पे कर सकता हूं। तो देखो
लेकिन इससे पहले इससे पहले जो हमारी ऑथेंटिकेशन वाली एपीआईस हैं इन एपीआईस को हमें कंप्लीट करना रहेगा। तो देखो रजिस्टर
कंट्रोलर हम ऑलरेडी क्रिएट कर चुके हैं। अब रजिस्टर कंट्रोलर क्रिएट करने के बाद अ सिंक
फंक्शन लॉग इन यूजर इक्व टू और इक्वल्स टू नहीं रिक्वेस्ट रिस्पांस। अब देखो हमने जो यहां पर स्कीमा बनाया था स्कीमा जो हमने
बनाया था यूजर डॉट मॉडल में इधर पे दो चीजें यूनिक रखे क्या-क्या यूजरनेम और ईमेल। तो आपने बहुत सारी ऐसी वेबसाइट्स
देखी होंगी जहां पर आप ईमेल डाल के भी लॉग इन कर सकते हो, फोन नंबर डाल के भी लॉग इन कर सकते हो। साथ ही साथ यूजरनेम डाल के भी
लॉग इन कर सकते हो। यूजर नेम पासवर्ड, ईमेल पासवर्ड या फोन नंबर पासवर्ड इनके साथ आप लॉग इन कर सकते हो। सेम फीचर हम भी
डेवलप करेंगे। अब वो कैसे डेवलप करने वाले हैं वो हम यहां पे समझते हैं। तो देखो हम करेंगे क्या? लॉग इन के टाइम पे। लॉग इन
के टाइम पे हम यहां पर होगा क्या? कॉस्ट यूजरनेम जो भी हमारे पास यूजर नेम आएगा जो भी हमारे पास ईमेल आएगा
और पासवर्ड आएगा हम यहां पे तीनों चीजें मंगवा रहे होंगे अब देखो होगा क्या हमने जो स्कीमा क्रिएट किया है उसमें दो यूनिक
प्रॉपर्टीज हैं एक यूजरनेम दूसरा क्या है ईमेल तो यूजर अगर चाहे तो यूजरनेम और पासवर्ड के साथ भी लॉग इन कर सकता है और
ईमेल और पासवर्ड के साथ भी लॉग इन कर सकता है। तो अब देखो होगा क्या? यूजर लॉग इन के टाइम पे या तो यूजरनेम और पासवर्ड भेजेगा
या फिर ईमेल और पासवर्ड भेजेगा। तो मतलब कि इन दोनों में से कोई एक चीज आ रही होगी और कोई दूसरी चीज अनडिफाइंड आएगी। हां ये
होने वाला है। ठीक है? तो अब देखो हम यहां पे करेंगे क्या? अभी भी हम यही एक सेम चीज मान के चलते हैं कि भ हमारे पास यहां पे
यूजर वन है। यूजर वन का जो यूजरनेम हमारे पास आ रहा है वो अपने पास a है। और इसका जो ईमेल हमारे पास आ रहा है ये अपने पास
[email protected] सिमिलर वे पे जो हमारे पास यूजर टू है इसका यूजरनेम हमारे पास आ रहा है बी और
ईमेल मेरे पास आ रहा है b@ b.com बढ़िया और रिक्वेस्ट डॉट बॉडी में इस बार लॉग इन एपीआई है हमारी इस बार जो
हमारी एपीआई लॉग इन एपीआई है और रिक्वेस्ट डॉट बॉडी मेरे पास एक ऑब्जेक्ट लेकर आ रही है और ऑब्जेक्ट के अंदर देखो तीन
प्रॉपर्टीज मेनली हो सकती हैं। या तो हमारे पास यूजरनेम होगा जो कि ए हो सकता है और फिर हमारे पास पासवर्ड हो सकता है।
पासवर्ड लेट्स से टेस्ट सभी यूजर का पासवर्ड अभी के लिए टेस्ट है। टेस्ट मैं यहां पे कंसीडर कर रहा हूं। और एक तीसरी
जो मेरी प्रॉपर्टी रहेगी दैट इज़ ईमेल। अभी के लिए ये अनडिफाइंड आएगी। दोनों में से ईमेल या पासवर्ड में से दोनों में से कोई
एक चीज आएगी और दूसरी प्रॉपर्टी वहां पे अनडिफाइंड आ रही होगी। तो सुनो अब अगर यहां पे यूजरनेम ए आ रहा है। ईमेल
अनडिफाइंड आ रहा है और पासवर्ड यहां पे टेस्ट आ रहा है। तो इस चीज को मैं कैसे फाइंड कर सकता हूं? देखो हम अगेन यहां पे
एक क्वेरी लगाएंगे। तो जो हमारी क्वेरी रहेगी अगेन इसमें हम क्या लगाएंगे? डॉलर और ऑपरेटर ही लगाएंगे। तो एक क्वेरी मेरी
जाएगी। इसमें जाएंगे अपन डॉलर और ऑपरेटर। डॉलर और ऑपरेटर के अंदर हमारा अरे और अरे के अंदर मल्टीपल कंडीशन होने वाली है। तो
पहली कंडीशन यूजर नेम के बेसिस पे रहेगी। यूजरनेम यूजर नेम के बेसिस पे होने वाली है। भाइयों सुनो सुनो अभी अभी यहां पे
देखना है तुम्हें थोड़ा इंपॉर्टेंट टॉपिक है। थोड़ा इंपॉर्टेंट टॉपिक है। डॉलर और ऑपरेटर बहुत सारी जगह यूज़ होता है। अभी
तुम्हें स्क्रीन पे फोकस करना है यार। अभी स्क्रीन पे फोकस कर लो। अगर कहीं पे भी इधर-उधर तुम्हारा ध्यान भटक रहा था तो
उसको भटकने मत देना। अभी स्क्रीन पे फोकस तुम कर लो। अभी स्क्रीन पे फोकस कर लो। तुम्हें सारी चीजें समझ में आ जाएंगी। अगर
तुम्हारा बाय एनी चांस कहीं पे भी दिमाग खोया था तो बस एक बार जाओ। मुंह धो पानी एकदम डालो। नींद नींद आ रही है। मुंह धो
तुम जाओ और फिर से 5 मिनट पहले से वीडियो को देखना चालू करो। जितना भी तुमने मिस किया होगा। जितना भी तुम्हें एकदम दिमाग
में पता रहेगा। तुम्हें पता रहेगा कि भाई इतना पार्ट मुझे नहीं आया है समझ में। तुम्हें पता होगा वो चीज तो खुद से
मक्कारी मत करना। जहां से तुम्हें समझ में आना बंद हो गया था। अगर सारी चीजें समझ में आ रही है तो बढ़िया तो मेरे साथ आगे
बढ़ो तुम। लेकिन अगर जहां से तुम्हें समझ में आना बंद हो गया था वहां पे जाओ उस पॉइंट से वापस से देखो और आगे बढ़ना। फिर
जब तक चीजें क्लियर ना हो तब तक वीडियो को देखते रहो और देन तुम्हें आगे बढ़ना रहेगा। चलो अब आगे बढ़ते हैं। तो देखो हम
यहां पे डॉलर और ऑपरेटर लगा रहे हैं। डॉलर और ऑपरेटर में हम यूजरनेम और ईमेल फिर से दो कंडीशन लगाएंगे। अभी मेरे पास यहां पे
यूजरनेम क्या आ रहा है? यूजरनेम मेरे पास ए आ रहा है। और ईमेल क्या आ रहा है? ईमेल मेरे पास आ रहा है यहां पे अनडिफाइंड। तो
अनडिफाइंड मेरे पास यहां पे ईमेल आ रहा है। तो देखो अब होगा क्या? अब जब ये क्वेरी चलेगी जब ये क्वेरी चलेगी तो इन
दोनों कंडीशन में से कोई एक कंडीशन भी अगर कोई यूजर सेटिस्फाई कर देगा तो यूजर मेरे पास रिटर्न हो जाएगा। हां हो जाएगा। तो
देखो पहली कंडीशन क्या है? भाई जिस यूजर का यूजर नेम ए हो तो जो हमारा यूजर वन है इस यूजर का यूजरनेम क्या है? ए है। क्या
और ये जो हमारी दूसरी कंडीशन है तो ये तो सेटिस्फाई हो नहीं रही। लेकिन जब डॉलर और ऑपरेटर करते हैं तो दोनों कंडीशन
सेटिस्फाई होने की नीड भी नहीं है। दोनों में से कोई एक कंडीशन अगर सेटिस्फाई हो जाती है तो भी हमें उस यूजर को कंसीडर कर
लेते हैं। तो अब होगा क्या? जो हमारी पहली कंडीशन है ये यूजर वन सेटिस्फाई कर दे रहा है और तो हम दूसरी कंडीशन चेक करेंगे ही
नहीं। अच्छा अगर यहां पे आपने मान लिया कि आपका यूजरनेम a आया। ठीक है? लेकिन हो सकता है कि यूजर आपका ईमेल भेज दे तो हां
ईमेल अगर वो भेजता है तो a @ a.com अगर वो भेजेगा तो यूजरनेम वहां पे आपका अनडिफाइंड आएगा। हां अनडिफाइंड वहां पे आ रहा होगा।
तो अनडिफाइंड हम यहां पे आएंगे। तो अब देखो यूजरनेम यहां पे क्या आएगा? यूजरनेम यहां पर आएगा अनडिफाइंड। और जो आपका ईमेल
है ये आएगा a@ a.com। तो अब सुनो जो हमारा पहली कंडीशन हम चेक करेंगे तो यूजरनेम वो कौन सा यूजर है जिसका यूजरनेम अनडिफाइंड
है? तो वो ना वो यूजर वन है ना यूजर टू है। यूजर वन का यूजरनेम ए है। यूजर टू का यूजरनेम बी है। तो दोनों में से कोई एक
ऐसा यूजर नहीं है जिसका यूजर अन यूजरनेम अनडिफाइंड हो। लेकिन दूसरी कंडीशन क्या बोलती है? वो वाला यूजर लेकर आओ जिसका
ईमेल a@ a.com हो। तो जो हमारा यूजर वन है इसका ईमेल एड्रेस क्या है? a@ a.com तो पहली कंडीशन तो कोई सेटिस्फाई नहीं करने
वाला लेकिन जो दूसरी कंडीशन है ये यूजर वन हमारा सेटिस्फाई कर देगा और यूजर वन हमारा रिटर्न हो जाएगा। तो बस यही कंडीशन हमें
यहां पे लगानी है। यही क्वरी हमें यहां पे लगानी है। तो कॉस्ट यूजर इक्व अवेट यूजर मॉडल डॉट फाइंड वन और फाइंड वन में हम
यहां पर अगेन डॉलर और ऑपरेटर का यूज़ करेंगे। यूजर ने ईमेल के बेस पे फाइंड करेंगे। अच्छा अगर यूजर ने कुछ ऐसी कंडीशन
दे दी तो [email protected] तो अब सुनो अब ये जो पर्टिकुलर ईमेल है इस
ईमेल से कोई यूजर एग्ज़िस्ट ही नहीं करता। तब यहां पे फाइंड वन क्या रिटर्न करेगा? यहां पे फाइंड वन रिटर्न करेगा नल। और अगर
हमें कोई भी यूजर यहां पे नहीं मिलता है तो इफ नॉट यूजर तो हम यहां पे बोलेंगे रिटर्न। और रिटर्न में हम यहां पे बोल रहे
होंगे रिटर्न रिस्पांस स्टेटस 41 इनवैलिड क्रेडेंशियल। इनवैलिड क्रेडेंशियल क्यों जा रहे हैं?
इनवैलिड क्रेडेंशियल यहां पे इसलिए जा रहे हैं कि भाई जो आपने ईमेल या यूजरनेम दिया था इन दोनों से ही हमें कोई भी यूजर नहीं
मिल रहा है। तो आपने जो क्रेडेंशियल डाले थे वो गलत थे। अब सुनो यहां पे होगा क्या कि भाई यू यूजर तो हमें मिल जाएगा। यूजर
हमें मिलेगा। हां बिल्कुल मिलेगा। तो अब जो यूजर मिल रहा है ईमेल या यूजरनेम के बेसिस मिलेगा। अब हमें यहां पे चेक करना
है क्या? कि पासवर्ड वहां पे एग्जिस्ट करता है या नहीं करता। तो पासवर्ड यहां पे चेक करने के लिए हम यहां पे बोलेंगे
कॉनस्ट। अच्छा सुनो सुनो सुनो सुनो। अभी इससे पहले मैंने तुम्हें बताया था कि जो पासवर्ड हम सेव कर रहे हैं डेटाबेस में वो
क्या सेव करते हैं? हैश सेव करते हैं ना कि हमारा प्लेन टैक्स सेव कर रहे होते हैं। तो इस बार हम प्लेन टेक्स्ट को
कन्वर्ट नहीं चेक नहीं करते। हम हैश को कन्वर्ट कर रहे होते हैं। कैसे? देखो उसके लिए भी जो हमने एक बीक्रिप्ट लाइब्रेरी
बनाई थी तो उसके लिए हम यहां पे एक वेरिएबल एक फ्लैग बनाते हैं। इज़ पासवर्ड वैलिड। तो इक्व टू अवेट बी क्रिप्ट डॉट
कंपेयर और बी क्रिप्ट डॉट कंपेयर में जो पासवर्ड हमारे पास आ रहा है उस पासवर्ड को और जो पासवर्ड मेरे पास डेटाबेस से आ रहा
है यूजर डॉट पासवर्ड सुनो ये यूजर कहां से आया ये यूजर हमारे पास आता है यूजर मॉडल डॉट फाइंड वन मतलब कहां से डेटाबेस से
आएगा तो डेटाबेस से अगर मैं यूजर के डेटा को रीड करूंगा तो उसके पास क्या रहेगा पासवर्ड भी रहेगा और ये जो बीकp डॉट
कंपेयर मेथड है ये क्या करती है ये यहां पे जो पासवर्ड यूजर ने डाला होगा उसे पहले कन्व कन्वर्ट करेगी हैश में। हैश में
कन्वर्ट करने के बाद कंपेयर करती है उस पर्टिकुलर हैश से जो हमारे डेटाबेस में सेव रहता है। और अगर वो दोनों बराबर आते
हैं मतलब कि भाई पासवर्ड वैलिड है और अगर पासवर्ड वैलिड रहता है तो हम उसको लॉग इन दे देते। तो हम यहां पे अगर पासवर्ड वैलिड
नहीं निकलता है। इफ इज़ पासवर्ड नॉट वैलिड। कि अगर भाई पासवर्ड वैलिड नहीं है तो आप यहीं से रिटर्न कर जाओगे। रिस्पांस स्टेटस
मैसेज इनवैलिड क्रेडेंशियल आप यहां पे दे रहे हो। अगर पासवर्ड वैलिड निकलता है तो आप पहले एक टोकन क्रिएट करो। टोकन jws और
jwin में आप यहां पर बोल सकते हो आईडी और रोल दो ही चीज आप यहां पे बोलोगे और टोकन क्रिएट करने के लिए जो आपको एक jwटी
सीक्रेट चाहिए रहता है वो आप यहां पे यूज़ करोगे टोकन जो आपने क्रिएट किया अगेन इसे सेट कर दो रिस्पांस डॉट कुकी में और
रिस्पांस डॉट स्टेटस 200 लॉग्ड इन सक्सेसफुली और बस इतनी चीजें आप यहां पे शेयर कर रहे होगे तो ये हो गया आपका कौन
सा लॉग लॉग इन की एपीआई लॉग इन की एपीआई नहीं लॉग इन कंट्रोलर अभी आपने क्रिएट किया है। लॉग इन कंट्रोलर को आप यहां से
करोगे एक्सपोर्ट तो लॉग इन यूजर एक्सपोर्ट किया और जो हमारी यूजर ऑथ राउट्स है इधर पे हम आएंगे
राउटर डॉट पोस्ट लॉग इन कंट्रोलर लॉग इन जो हमारी एपीआई इसमें लॉग इन कंट्रोलर को यूज़ कर रहे होंगे। बढ़िया। तो अब हमने यहां
पे दो एपीआई अलग-अलग क्रिएट कर लिए हैं। और दोनों एपीआई देखो अब होगा क्या? जितने भी मेरे डेटाबेस है डेटाबेस का नाम क्या
था? कॉमेट। तो कॉमेट डेटाबेस का नाम था यूज़र्स कलेक्शन के अंदर मेरे पास दो यूजर हैं। दोनों के पासवर्ड कैसे हैं? पासवर्ड
हमारे यहां पे आ रहे हैं। हैश फॉरवर्ड में हमारे पासवर्ड यहां पे सेव हो रहे हैं। बढ़िया यहां पे#श फॉरवर्ड में हमारे
पासवर्ड सेव हो रहे हैं। अच्छा ठीक है। और दोनों के रोल क्या है? एक का रोल यूजर है। दूसरे का रोल यहां पे आर्टिस्ट है। एक का
ईमेल टेस्ट @ test.com है और दूसरे का टेस्ट @ इसका टेस्ट अंडरs 2 है और इसका टेस्ट @ test.com बढ़िया। तो जो हम आ रहा
है एक नॉर्मल यूजर है। इस यूजर के साथ लॉग इन करने की ट्राई करते हैं। पहले हम यहां पर आएंगे पोस्टमैन पे लॉग इन एपीआई
लॉग इन एपीआई सो लोकल पोस्ट कॉलन 3000 एपीआई ऑथ स लॉगिन
हम यहां पे बॉडी के अंदर डेटा भेजेंगे अभी के लिए देखो हम यहां पे यूजर नेम ईमेल पासवर्ड भेज सकते हैं मतलब यूजरनेम
पासवर्ड भेज सकते हैं ईमेल पासवर्ड भेज सकते हैं अभी हम यहां पे भेज रहे हैं यूजर नेम यूजर नेम जो हमारा रहेगा यह रहेगा
टेस्ट और पासवर्ड अभी जो मैं यहां पे भेजने वाला हूं यह अपना रहेगा गलत पासवर्ड टेस्ट 1 2 3 किसी भी यूजर का पासवर्ड नहीं
था तो अब अगर मैं इतना सेंड करता हूं तो यहां पे मेरे पास आ जाएगा इनवैलिड क्रेडेंशियल अच्छा और अगर मैं यहां पे
टेस्ट और टेस्ट ये दोनों सही पासवर्ड है एक ही यूजर का नेम टेस्ट है और उसका पासवर्ड भी टेस्ट तो अगर दोनों यूजरनेम और
पासवर्ड सही हैं तो हम यहां पे लॉग इन कर सकते हैं बढ़िया हम यहां पे लॉग इन कर जाएंगे फिर इसके बाद अब अगर मैं यहां पे
आता हूं सो अगर मैं ईमेल के साथ लॉग इन करता हूं लेट अगर मैं यहां पे आता हूं मैं ईमेल के साथ लॉगिन करता हूं। सो ईमेल जो
मेरे पास आएगा वो रहेगा test @ test.com अंडरs थ्री तो इस पर्टिकुलर क्रेडेंशियल से कोई यूजर एग्ज़िस्ट नहीं करता। तो यहां
पे इनवैलिड क्रेडेंशियल आएगा। लेकिन अंडरस्कोर टू की अगर बात करता हूं पासवर्ड टेस्ट तो इस पर्टिकुलर क्रेडेंशियल से
हमारा आर्टिस्ट एग्ज़िस्ट करता है। तो आप देखो इसे किया सेंड और जो मेरा रोल यहां पे क्या आ रहा है? आर्टिस्ट आ रहा है। तो
मतलब कि जो मेरा आर्टिस्ट यूजर है वो मैं यहां पे इसको ईजीली देख सकता हूं। बढ़िया है। और जो मेरा टोकन सेव हो रहे होंगे वो
टोकन यहां पे सेव हो रहे हैं। तो देखो अब यहां पे टोकन क्लियर किया। लॉग इन किया। लॉग इन करने के बाद लॉग इन हुए। टोकन
क्रिएट हुआ होगा। और टोकन टोकन क्रिएट होने के बाद वो कुकीज़ में सेट हो रहा होगा। बढ़िया। तो जो मेरी अब लॉगिन और
रजिस्टर की एपीआई ये दोनों एपीआई मैं क्रिएट कर चुका हूं। अब इसके बाद हमें करना क्या है? इसके बाद अब हमें एक ऐसी
एपीआई क्रिएट करनी है जहां पे सिर्फ आर्टिस्ट हमारा म्यूजिक को क्रिएट कर सके। बाकी नॉर्मल यूजर अगर म्यूजिक क्रिएट करना
चाहे तो उसके पास 403 फॉरवडन एरर वहां पे आनी चाहिए। तो ये एक पर्टिकुलर एपीआई हमें क्रिएट करनी है। अब ये एपीआई कैसे क्रिएट
करेंगे? तो देखो हम यहां पे आते हैं। एक राउट्स फोल्डर के अंदर एक हमारी फाइल क्रिएट होगी म्यूजिक डॉट राउट्स डॉट जेएस।
ये हमारी एक फाइल क्रिएट हो रही होगी। हम यहां पे बोलेंगे एक्सप्रेस को किया रिक्वायर। सो एक्सप्रेस
इक्व टू रिक्वायर रिक्वायर हम यहां पे बोलेंगे कि भाई इधर पे आप कर लो एक्सप्रेस को रिक्वायर और ये जो डॉट गलती से आ गया
है इसे करेंगे हटा डिलीट और कॉस्ट राउटर इक्व एक्सप्रेस डॉट राउटर एंड मॉड्यूल डॉट एक्सपोर्ट राउटर हम यहां से
एक्सपोर्ट कर सकते हैं। apps फाइल में आएंगे कॉन्स राउट जैसे हमने ऑथ राउट जैसे हमने रिक्वायर किया था सिमिलर वे पे जो
हमारा म्यूजिक राउट से इसे हम करेंगे रिक्वायर और रिक्वायर करने के बाद ऐप डॉट यूज़ एपीआई के
अंदर स्यूजिक यह हम प्रीफिक्स के साथ और म्यूजिक राउट्स का यूज़ कर रहे होंगे। बढ़िया और कंट्रोलर हमें यहां पे क्रिएट
करना रहेगा। तो कंट्रोलर फोल्डर्स के अंदर एक नई फाइल जिसको हम बोलेंगे म्यूजिक डॉट कंट्रोलर डॉट जेएस। ये हम यहां पे बोल रहे
होंगे। बढ़िया। अब देखो हमें यहां पे एक पर्टिकुलर मॉडल की जरूरत पड़ेगी म्यूजिक मॉडल की जहां पे हम बोल सकते हैं कि भाई
म्यूजिक की जो डिटेल्स रहेंगी वो हम डेटाबेस में सेव करने के लिए हमें एक पर्टिकुलर स्कीमा की जरूरत पड़ने वाली है।
तो मॉडल्स के अंदर आते हैं। एक फाइल हम क्रिएट करेंगे म्यूजिक डॉट मॉडल डॉट जेS और हम यहां पे कॉस्ट मोंगूस इक्व टू
रिक्वायर मोंगूस और मोंगूस रिक्वायर करने के बाद हम यहां पे रिक क्रिएट करेंगे म्यूजिक स्कीमा। तो म्यूजिक स्कीमा हम
यहां पे क्रिएट करने वाले हैं। अब देखो म्यूजिक के अंदर क्या-क्या चीजें होने वाली हैं। सिंपल जो हमारी म्यूजिक फाइल
रहेगी वो तो इमेज किट पे जाने वाली है। उसके लिए तो इमेज किट की यूआरएन हम रखने वाले हैं। तो हम यहां पे बोल सकते हैं
यूआरआई। यूआरआई में हम यहां पे बोल सकते हैं व्हाट वी कैन से कि भाई इसका जो टाइप रहेगा टाइप इसका रहेगा स्ट्रिंग साथ ही
साथ ये रहेगी रिक्वायर्ड यूनिक ट्रू अभी नहीं यूनिक ट्रू की एस मुझे नीड नहीं दिखती वो अलग ही अलग रहते हैं और फिर
यूआरआई के बाद हमें यहां पे देना रहेगा टाइटल कि भाई टाइटल क्या रहेगा टाइप इसका स्ट्रिंग रहेगा रिक्वायर्ड ट्रू होना
चाहिए और फिर आखिरी में किस पर्टिकुलर आर्टिस्ट ने इस पर्टिकुलर को क्रिएट करके रखा है इस पर्टिकुलर म्यूजिक को क्रिएट
करके रखा है उस आर्टिस्ट इसकी आईडी आप बोल सकते हो। डिटेल्स हमें यहां पे देनी है। तो आईडी हम जनरली यूज़ करते हैं हमारे
स्कीमा में। तो टाइप जो इसका जाएगा ये जाता है कुछ इस तरीके से मोंगूस डॉट स्कीमा डॉट टाइप्स डॉट ऑब्जेक्ट आईडी और
एक हमें यहां पे रेफरेंस देना रहेगा। देखो तुम यहां पे स्टोर क्या करने वाले हो? तुम यहां पे स्टोर करोगे कि भाई किस आर्टिस्ट
ने इस म्यूजिक को क्रिएट किया है। उसकी आईडी तुम स्टोर करोगे। हां बिल्कुल यही करने वाले हैं। अच्छा तो उस पर्टिकुलर
आर्टिस्ट की आईडी स्टोर करोगे। हां यही होगी। ठीक है? अच्छा ये आर्टिस्ट इन द इन द एंड है क्या? ये आर्टिस्ट तुम्हारा इन द
एंड है क्या? एक पर्टिकुलर यूजर। तो ये जो आर्टिस्ट है आर्टिस्ट की डिटेल किस पर्टिकुलर कलेक्शन में जाके सेव होगी?
यूजर कलेक्शन के अंदर जाके सेव हो रही होगी। तो यूजर कलेक्शन का रेफरेंस तुम्हें यहां पे देना रहेगा। तो जो भी तुम्हारे
यूजर कलेक्शन का नाम है जैसे कि यूजर मॉडल के अंदर हमने कलेक्शन का नाम क्या रखा था? यूजर रखा था। तो यही नेम तुम यहां पे दोगे
और ये अपना होगा रिक्वायर्ड ट्रू। और मैंने अभी नोटिस किया म्यूजिक की जो मॉडल फाइल है इसका नाम गलत है। बढ़िया अब ठीक
है यहां पे। तो म्यूजिक स्कीमा हमारा क्रिएट हुआ और म्यूजिक स्कीमा क्रिएट होने के बाद हम यहां पे क्रिएट करेंगे कॉस्ट
म्यूजिक मॉडल म्यूजिक मॉडल इक्व टू मंगूस डॉट मॉडल। हम यहां पर बोलेंगे म्यूजिक और म्यूजिक के बाद म्यूजिक स्कीमा हम यहां पर
यूज कर रहे हैं। बढ़िया। तो म्यूजिक स्कीमा हमने क्रिएट किया और इधर से करेंगे इसे एक्सपोर्ट। बढ़िया एक्सपोर्ट कर दिया।
एक्सपोर्ट करने के बाद जो हमारे कंट्रोलर्स हैं, म्यूजिक कंट्रोलर के अंदर हम सबसे पहले म्यूजिक मॉडल को करेंगे
रिक्वायर। सो इक्वल्स टू रिक्वायर। म्यूजिक मॉडल हमने किया रिक्वायर। बढ़िया म्यूजिक मॉडल रिक्वायर किया। अब इसके बाद
एक पर्टिकुलर फंक्शन हम क्रिएट करेंगे अ सिंक। फंक्शन क्रिएट मॉडल इक्व टू क्रिएट मॉडल
और हमारा फंक्शन जाएगा रिक्वेस्ट एंड रिस्पांस और रिक्वेस्ट रिस्पांस के बाद हमारे फंक्शन की बॉडी यहां पे जा रही
होगी। बढ़िया। तो अब देखो यहां पे करना क्या है? एक बार पूरा फ्लोज़ मैं आपको समझाता हूं कि भाई इधर पे एग्जैक्टली करना
क्या है? सुनो। सबसे पहली बात इसको प्रोटेक्टेड बनाना है। प्रोटेक्टेड मतलब कैसे? कि भाई ये जो हमारी एपीआई होगी जो
एक म्यूजिक को क्रिएट कर रही होगी इस एपीआई को सिर्फ आर्टिस्ट यूजर ही एक्सेस कर सकता है। नॉर्मल यूजर अगर एक्सेस करने
जाएगा मतलब कि जो हमारे दो टाइप के यूजर है देखो जो हमने एक यूजर मॉडल क्रिएट किया था इसमें दो टाइप के यूजर हमने बताए थे।
एक हमारा नॉर्मल यूजर एक हमारा रहेगा आर्टिस्ट। तो जो यूजर आर्टिस्ट रहेगा जिस यूजर का रोल आर्टिस्ट रहेगा सिर्फ वही
यूजर एक म्यूजिक को क्रिएट कर सकता है और बाकी कोई भी यूजर अगर इस पर्टिकुलर म्यूजिक को एक्सेस करना चाहे तो उसको 403
फॉरवडेडन एरर यहां पे मिल रही होगी। तो ये चीज हमें यहां पे इंप्लीमेंट करनी है। अब ये कैसे हम पता करेंगे? सुनो। जब यूजर
रजिस्टर करते हैं जब यूजर रजिस्टर करते हैं या लॉग इन करते हैं तो उनको एक टोकन मिलता है। और इस बार जो हम टोकन क्रिएट कर
रहे थे, इस बार हम यहां पे जो टोकन क्रिएट कर रहे थे, टोकन के अंदर दो चीजें हम रख रहे थे। क्या-क्या? पहले हम यहां पे रख
रहे थे आईडी कि उस पर्टिकुलर यूजर की आईडी क्या है? दूसरा हम रख रहे थे यहां पे रोल कि उस पर्टिकुलर यूजर का रोल क्या है?
दोनों चीजें हम यहां पे रख रहे थे। तो इस बार होगा क्या? कि भाई यूजर या कोई सी भी रिक्वेस्ट हमारे अ म्यूजिक कंट्रोलर के
अंदर आ रही होगी जहां पे हमें एक म्यूजिक को क्रिएट करना है। क्रिएट मॉडल नहीं हमारा यहां पे होगा क्रिएट म्यूजिक। ठीक
है? तो क्रिएट म्यूजिक हम यहां पे बोल सकते हैं। तो अब कोई सी भी रिक्वेस्ट अगर क्रिएट म्यूजिक पे आएगी तो होगा क्या? हम
चेक करेंगे कि भाई उस रिक्वेस्ट के अंदर टोकन है या नहीं? टोकन सही है या नहीं। टोकन जब हम वेरीफाई करवाते हैं तो टोकन
क्रिएट करते टाइम जो आप डेटा उसके अंदर रख रहे थे वो डेटा आपको मिलता है और डेटा इस बार आपको क्या मिलेगा? डेटा इस बार टोकन
क्रिएट करते टाइम आप क्या डेटा रख रहे थे? इस बार टोकन क्रिएट करते टाइम आप आईडी रख रहे थे और रोल रख रहे थे। तो जब आप टोकन
को वेरीफाई करवाओगे तो आपको आईडी और रोल दोनों मिलेगी। हम वहां पे चेक कर लेंगे कि रोल जो है हमारा रोल जो हमारा है वो
आर्टिस्ट है तो आगे बढ़ो। अगर आर्टिस्ट नहीं है मतलब कि नॉर्मल यूजर है तो आप वहां पे 403 फॉरवर्ड इन एरर दे सकते हो।
अब मैं एक चीज़ बोल सकता हूं क्या? तुम्हें कुछ समझ में नहीं आया होगा। मुझे पता है तुम्हें कुछ समझ में नहीं आया होगा। तो अब
एक बार कोड इंप्लीमेंट करके देखेंगे तब तुम्हें सारी चीजें समझ में बहुत अच्छे से आ जाएंगी कि क्या हम एग्जैक्टली यहां पे
करने वाले हैं। बस मुझे एक बार पानी पी लेने दो। बहुत देर से रिकॉर्ड कर रहा हूं। क्योंकि एक घंटा कंटीन्यूअस सब रिकॉर्ड हो
रहा है। बस पानी पी लेने दो। तो देखो हम क्या करने वाले हैं हम? जो हमारा म्यूजिक कंट्रोलर रहेगा म्यूजिक कंट्रोलर के अंदर
हम सबसे पहले कॉन्स्ट यूआरआई एंड ऑल ये तो सारी चीजें निकालेंगे। सबसे पहले हम यहां पे निकालेंगे टोकन। टोकन कहां से मिलेगा?
टोकन हमें मिलेगा रिक्वेस्ट डॉट ces डॉट टोकन से हमें ये टोकन मिल जाएगा। हम चेक करेंगे भाई अगर टोकन नहीं आया। अगर हमारे
पास टोकन नहीं आता है तो यहीं से रिटर्न हो जाओ। आगे बढ़ने की कोई ज़रूरत नहीं है कि हम सीधा यही अस्यूम कर करके चलते हैं
कि किसी भी रिक्वेस्ट के अंदर अगर टोकन नहीं है मतलब कि वह रिक्वेस्ट एक अनअथराइज़्ड यूजर के पास से आ रही है। उस
यूजर ने लॉग इन या रजिस्टर नहीं किया है तो हम यहीं से रिटर्न कर सकते हैं। और अगर टोकन हमारे पास आता है अगर हमारे पास टोकन
आता है तो उस टोकन को वेरीफाई करना रहेगा। और वेरीफाई करने के लिए हमें एक पैकेज की जरूरत पड़ती है। उसका नाम है JWT। अब सुनो
एक jw के पास एक मेथड होती है jw डॉट वेरीफाई jw डॉट वेरीफाई टोकन तो टोकन इसके पास जा देना रहेगा और प्रोसेस डॉट एनv jw
सीक्रेट हम यहां पे बोल सकते हैं। अब यहां पे एक चीज और है क्या कि सुनो jw डॉट वेरीफाई जब टोकन को वेरीफाई कर रही होती
है तो ये दो आउटपुट प्रोड्यूस कर सकती है। अगर टोकन गलत है तो एरर थ्रो करेगी और अगर टोकन सही रहता है तो जिस डेटा के साथ
तुमने टोकन क्रिएट किया होगा वो डेटा तुम्हें रिटर्न में मिल जाता है। तो एरर से बचने के लिए हम यहां पे यूज़ करते हैं
ट्राई एंड कैच का। तो ट्राई और हम यहां पे यूज़ करेंगे कैच एरर और कैच एरर हम यहां पे लगा रहे होंगे। तो रिटर्न रिस्पांस स्टेटस
401 मैसेज अन ऑथराइड हम यहां पे बोलेंगे। बढ़िया। तो सुनो अगर टोकन क्रिएट करते टाइम टोकन हमें पता चलता है कि भाई गलत है तो
एक एरर आएगी और एरर को हम हैंडल कहां पे करेंगे? कैच वाले पार्ट में रिटर्न कर जाएंगे। रिस्पांस स्टेटस 401 जसन मैसेज
अनथराइज़्ड यहां पे आ रहा होगा। और अगर टोकन वेरीफाई होता है तो डेटा हमें मिलेगा। उस डेटा को हम सेव किस में
करेंगे? डिकोडेड में। यही इसका जनरली नाम रहता है। और अब देखो यहां पे होगा क्या? डिकोडेड हमें मिला। डिकोडेड के अंदर हम
चेक करेंगे कि भाई इफ जो डिकोडेड के अंदर रोल है जो डिकोडेड के अंदर हमारे पास रोल है। अगर वो
आर्टिस्ट के बराबर नहीं है। अगर वो आर्टिस्ट के बराबर रही है तो आप यहीं से अगेन रिटर्न कर जाओ। 403 मैसेज फॉरबिडन और
मैसेज फॉरबिडन हम यहां पे बोल सकते हैं यू डोंट हैव एक्सेस
टू क्रिएट अन म्यूजिक। इतना हम यहां पे बोल सकते हैं। फॉरबिडन उसका जनरली नाम होता है 403 का फॉरबिडन मतलब होता है।
लेकिन हमने यहां पे थोड़ा और एक्सेस दे दिया। यू डोंट हैव एक्सेस टू क्रिएट अन म्यूजिक। बढ़िया। और अब अगर उसके पास
एक्सेस रहेगा म्यूजिक को क्रिएट करने का तब हम आगे बढ़ने देंगे उसको। कोई प्रॉब्लम हमारे पास यहां पे नहीं होनी चाहिए। तो
देखो अगर उसके पास सारा एक्सेस रहेगा अगर उसके पास सारा एक्सेस रहता है तो हम उसको आगे बढ़ने देंगे। किस तरीके से? देखो हम
यहां पे आएंगे एक म्यूजिक को क्रिएट करने के लिए। एक म्यूजिक को क्रिएट करने के लिए हमारे पास कुछ चीजें होनी चाहिए। सबसे
पहले उसका टाइटल। तो टाइटल हमारे पास रहेगा। तो टाइटल हम निकाल लेंगे रिक्वेस्ट डॉट बॉडी से। फिर हमारे पास यहां पे आ रही
होगी फाइल। सो फाइल जो हमारी रहेगी वो मिलेगी रिक्वेस्ट डॉट फाइल से। अब हमें यहां पे एक इमेज किट की जरूरत है इमेज किट
सेटअप करने की। सो इमेज किट सेटअप करने के लिए हम यहां पर जाएंगे अ इमेज किट डॉक्स। सो ये रहा मेरा सफारी ब्राउज़र।
एंड हम यहां पे सर्च करेंगे इमेज किट डॉक्स। तो इमेज किट डॉक्स डॉक्यूमेंटेशन तो चेंज हो ही गई थी। तो एक बार फिर भी
देखेंगे हम कि भाई क्योंकि नहीं है वो डेवलपर डेवलपर को हर बार डॉक्यूमेंटेशन पढ़ के करना ही रहता है। उसको
डॉक्यूमेंटेशन पढ़नी आनी चाहिए। अगर तुम भी भाई डेवलपर हो अच्छे डेवलपर अगर तुम खुद को मानते हो तो तुम्हें डॉक्यूमेंटेशन
पढ़ना आना चाहिए। ये बिल्कुल होगा ही होगा। अब सुनो डॉक्यूमेंटेशन चेंज हुई है। तो सबसे पहले ये बोलता है कि तुम यहां पे
सबसे पहले इमेज किट को इंस्टॉल कर लो। ठीक है? हम यहां पे आते हैं। इमेज किट को इंस्टॉल करते हैं।
एनपीएम इंस्टॉल इमेज किट नोट js इसे किया हमने इंस्टॉल। इंस्टॉल करने के बाद इमेज किट का जो कोड जाता है वो एसआरसी फोल्डर
के अंदर एक फोल्डर रहता है सर्विसेस और सर्विसेस फोल्डर के अंदर एक फाइल रहती है जिसका नाम रखते हैं हम स्टोरेज
डॉट सर्विस डॉट जेS इस पर्टिकुलर फाइल के अंदर ये कोड जा रहा होता है बढ़िया और अब अगर मैं यहां पर आता हूं तो इसमें हम
सेटअप कैसे करते हैं? कुछ इस तरीके से हम सेटअप कर रहे होते हैं। कैसे? सो वी कैन से इंपोर्ट
अ कॉन्स्ट। अभी क्योंकि हम इंपोर्ट का यूज़ नहीं कर रहे हैं। इंपोर्ट का यूज़ भी कर सकते हैं। बहुत ज्यादा अलग नहीं होता है।
बट अभी हम उसका यूज़ नहीं कर रहे। रिक्वायर @ इमेज किट नोट जेएस और हमें यहां पे जरूरत पड़ेगी इमेज किट की। बड़ी इमेज किट की
हमें यहां पे जरूरत पड़ी। इसको इनिशिएट करने के लिए कॉस्ट क्लाइंट या इसका नाम मैं बोल सकता हूं इमेज किट
क्लाइंट इक्व न्यू इमेज किट। और इसके बाद मुझे यहां पे जरूरत पड़ेगी एक प्राइवेट की की। आई थिंक।
प्राइवेट की और प्रोसेस में इमेज किट प्राइवेट की मैं सेटअप कर सकता हूं। तो में दो क्रेडेंशियल हमारे पास ऑलरेडी एक
तीसरा क्रेडेंशियल यहां पे आएगा। सो इमेज किट का जो हमारा डैशबोर्ड है इमेज kit.iio सो लॉगिन किया। यहां से पासवर्ड मेरे से
पूछेगा। ठीक है? सबमिट एंड अगर मैं डेवलपर डैशबोर्ड पे आता हूं। सो
थोड़ा सा टाइम ले रहा है लोड होने में। डेवलपर ऑप्शंस और डेवलपर ऑप्शंस के अंदर एक सेकंड रुक जाओ।
यह क्योंकि यह कुछ चीजें होती हैं जो मैं नहीं दिखा सकता। तो तुम्हें प्राइवेट की यहां पे मिलेगी और प्राइवेट की को करना
कॉपी और कॉपी करने के बाद तुम्हें यहां पे सबमिट करना रहेगा। तो ये मिली मुझे मेरी प्राइवेट की और प्राइवेट की को मैं यहां
पे कर सकता हूं पेस्ट। बढ़िया। तो प्राइवेट की मेरे यहां पे चली गई और प्राइवेट की जाने के बाद मुझे आई थिंक
मेरा जो इमेज किट का सेटअप है वो कंप्लीट हो जाएगा। इसे मैं यहां पे वापस से लेकर आ सकता हूं। बढ़िया। सो अब देखो होगा क्या?
अब यहां पे होगा ये कि हम इधर पे एक फंक्शन क्रिएट करेंगे। अ सिंक फंक्शन। असिंक फंक्शन में हम यहां पे बोलेंगे
अपलोड फाइल। अपलोड फाइल के अंदर हम यहां पे फाइल का नाम दे रहे होंगे। और फाइल के नाम के अंदर हम यहां पे बोलेंगे कॉस्ट
रिजल्ट इक्व टू अवेट इमेज किट क्लाइंट इमेज किट क्लाइंट डॉट फाइल्स डॉट अपलोड तो इमेज किट फाइल्स डॉट अपलोड मैंने इसकी
डॉक्यूमेंटेशन सिर्फ एक बार पढ़ा हूं और मुझे एक चीज़ क्लियर है कि हां भाई अब इसकी डॉक्यूमेंटेशन चेंज हुई है तो जो पहला
तरीका था उससे तो अलग हमें यहां पे करना पड़ता है इमेज के डॉट फाइल्स डॉट अपलोड मुझे दूसरी बार इसकी डॉक्यूमेंट देखने की
जरूरत नहीं पड़ती है क्योंकि कांसेप्ट क्लियर रहते हैं। तुम देखो तुम्हें एक एडवाइस ले लो बस मेरे से कि अगर तुम्हें
एक अच्छा डेवलपर बनना है तो कोड के पीछे मत भागना कि भाई कोड कैसे लिख रहा हूं। कोड कैसे क्या लिख रहा हूं? ये इन सारी
चीज के पीछे मत भागना। कोड कभी याद करने की कोशिश भी मत करना तुम कि भाई कोड कैसे इतना सारा कोड कैसे याद कर लोगे यार तुम।
मुझे समझ में नहीं आता। मैं तुम्हें एक कोड दिखाता हूं। ये बहुत बड़ी एप्लीकेशन नहीं है। मेरा खुद का एक ओपन सोर्स
प्रोजेक्ट है जो मैं मैनेज करता हूं। तो अगर तुम यहां पे देखो अब अगर तुम यहां पे देखते हो तो ये तो अपना एसआरसी है एसआरसी
के अलावा अगर मैं टेस्ट डॉग पे वापस आता हूं तो देखो सुनो ये एक एसआरसी एसआरसी नहीं ये एक टेस्ट डॉग है मेरा खुद का बोल
सकते हो ओपन सोर्स है ओपन सोर्स प्रोजेक्ट है ये मेरा खुद का मैं खुद इसको मैनेज करता हूं तो ये और ये सिर्फ बैक एंड है ये
सिर्फ बैक एंड है और बैक एंड सिर्फ बैक एंड में होते हुए भी इसमें इतनी सारी फाइल्स हैं अगर मैं तुम्हें यहां पे
कंट्रोल्स दिखा आता हूं ऑथ कंट्रोलर्स के अंदर। यह तुम्हें गेटअप पे ऑलरेडी मिल जाएगा। यह तुम्हें गेट पे ऑलरेडी मिल
जाएगा। और पेमेंट कंट्रोलर यूजर कंट्रोलर के अंदर अगर मैं आता हूं और फिर अगर मैं तुम्हें लेट्स से वैलिडेटर्स वेयर आर द
वैलिडेटर्स मिडिल वेयर्स के अंदर वैलिडेटर्स। दीज़ आर दीज़ आर दी वैलिडेटर्स। तो यहां पे देख रहे हो हर एक फाइल के अंदर
बहुत सारा कोड यहां पे लिखा गया है। कॉनस्टेंट कॉन्फिग फाइल यहां पे अगर यूजर डॉऊ फाइल में आता हूं तो ये इतना कोड हर
हर एक फाइल में लगभग तुम्हें इतना ही कोड हर बार मिल रहा होगा। इतना कोड तुम्हें लगभग हर फाइल में मिलेगा ही मिलेगा। हर
फाइल में इतना सारा कोड यहां पे रहता है। तो ये तो सिर्फ बैक एंड है एक ओपन सोर्स प्रोजेक्ट का। जब तुम एक एक्चुअल प्रोडक्ट
पे जाओगे जो कि लगभग इस इसके जैसे ही तुम्हें एक फोल्डर स्ट्रक्चर मिलने वाला है तो और इसमें तो अभी बहुत सारी चीजें
तुमने समझी भी नहीं भाई हस्की क्या होता है फिर इसके बाद तुमने डॉकर फाइल नहीं देखी यहां पे प्रिटार गेट इग्नोर की इतनी
सारी फाइल जस्ट टेस्ट फाइल्स तुमने यहां नहीं देखी टेस्ट फाइल जो तुमने सर्वर क्रिएट किया वो सर्वर सही तरीके से काम कर
रहा है या नहीं कर रहा है उसको टेस्ट करने के लिए हम इसको यूज़ में ले रहे होते हैं तो यहां पे तुमने इतनी अभी इतना कोड नहीं
देखा ये कोड देख रहे हो इतना सारा कोड यहां पे लिखा हुआ है तुम कैसे इसको याद कर सकते हो यार इसे याद नहीं किया जा जो भी
तुम कोड लिख रहे हो, जो भी तुम कोड लिख रहे हो, उस कोड को याद नहीं रखा जा सकता। बस जो याद रखा जा सकता है, वो है तुम्हारा
फ्लो। फ्लो तुम बस याद रखना और तुम्हें कोई सी भी एप्लीकेशन याद कर सकते हो। बट पता है एक बात बताऊं? ये पूरा कोड मैंने
लिखा था। ये पूरा कोड मैंने लिखा था। और अब अगर तुम मुझसे पूछो ना कि भाई वो यूजर डॉट टेस्ट डॉट जेएस फाइल में लाइन नंबर
100 पे क्या लिखा था? तो मुझे नहीं पता वो। मुझे नहीं पता। लिटरली मुझे नहीं पता कि ये जो यूजर डॉट टेस्ट जे फाइल है इसकी
लाइन नंबर 100 पे क्या लिखा गया था। उसको देखूंगा तो समझ जाऊंगा तुरंत कि हां भाई इस लाइन में ये सारा काम यहां पे हो रहा
है। लेकिन मुझे भाई कोड थोड़ी ना याद करता हूं यार। तुम क्या मजाक कर रहे हो मेरे साथ कि भाई इतना सारा कोड मैं याद रख लूं।
नहीं ऐसा नहीं होता। कोई भी डेवलपर अपने कोड को याद नहीं रखता है। वो बस फ्लो को याद रखता है कि हां भाई उसके बाद उसने ऐसा
किया था। उसके बाद उसने ऐसा किया होगा। ये सारी चीजें वो बस याद रखता है और बस इतना ही याद रखना रोहित सही बताऊं तो और बाकी
बस तुम्हें अपनी खुद की बुद्धि लगानी है। थोड़ा कॉमन सेंस लगाना है कि हां भाई इसको ऐसा करना है। इसको ऐसा करना है। तुम्हारा
काम हो जाएगा। बस ये एक चीज रहती है। तुम्हें कोई सा भी कोड तुम वहां पे याद नहीं रख रहे होते। बस इस चीज का ध्यान
रखना। चलो अब वापस बढ़ते हैं। कोड याद मत रखना। जो फ्लो तुम्हारा रहेगा उसको याद रखना। अब यहां पे आते हैं। जो हमारी फाइल
होने वाली है। फाइल हम यहां पे पास कर देंगे। और फाइल का नाम हम यहां पर पास कर सकते हैं। तो फाइल नेम म्यूजिक और एक डेट
नाउ के साथ हम यहां पे फाइल नेम देंगे। और एक चीज हम यहां पे और दे सकते हैं क्या? फोल्डर। तो फोल्डर हमारा रहेगा कि भाई अ
वाईटी कंप्लीट इमेज किट में हम एक फोल्डर दे सकते हैं कि जो हमारी फाइल्स रहेंगी वो फाइल्स एक पर्टिकुलर फोल्डर के अंदर जाएं।
तो मैं यहां पे फोल्डर का नाम दे रहा हूं कि भाई वाईटी कंप्लीट बैक एंड के अंदर म्यूजिक फोल्डर के अंदर हमारे सारे
म्यूजिक यहां पे स्टोर हो रहे होंगे। बढ़िया। तो रिजल्ट अब यहां पे जो भी आने वाला है इसे मैं कर दूंगा यहां से रिटर्न।
तो इसे मैंने यहां से किया रिटर्न और जो मेरी अपलोड म्यूजिक फाइल है सॉरी अपलोड म्यूजिक जो मेरा फंक्शन है इस फंक्शन को
मैं यहां से करूंगा एक्सपोर्ट। अपलोड फाइल। अपलोड म्यूजिक नहीं अपलोड फाइल हमारे फंक्शन का नाम है। तो इसे यहां से
करूंगा मैं एक्सपोर्ट। एक्सपोर्ट करने के बाद अब जो मेरा म्यूजिक कंट्रोलर है जो मेरा म्यूजिक कंट्रोलर है इसमें मैं
रिक्वायर करूंगा कॉस्ट म्यूजिक अपलोड या बोल सकते हो अपलोड अपलोड
फाइल रिक्वायर ये हम कहां से लेकर आएंगे यह हम लेकर आ रहे होंगे रिक्वायर रिक्वायर हम इसे करेंगे कि सर्विस फोल्डर के अंदर
अंदर जो हमारे पास स्टोरेज सर्विस फाइल है उसे हम यहां पे रिक्वायर करेंगे। बढ़िया। तो जो हमारा अपलोड फाइल फंक्शन है ये
हमारे पास आ जाएगा और इतना आने के बाद जो मेरे पास फाइल आ रही होगी इस फाइल में रिजल्ट इक्व टू अपलोड फाइल जो हमारा फाइल
के अंदर बफर आएगा उसे कन्वर्ट करेंगे बेस 64 में। रिजल्ट हमारे पास आएगा और इस रिजल्ट के साथ हम एक नए म्यूजिक को क्रिएट
करेंगे। तो अवेट म्यूजिक मॉडल डॉट क्रिएट और क्रिएट के अंदर हम यहां पे वो लेंगे कि यूआरआई जो हमारी रहेगी यूआरआई के बाद
टाइटल और आर्टिस्ट हम यहां पे इतनी सारी चीजें देंगे और रिस्पांस में रिस्पांस स्टेटस 2001 नया रिसोर्स क्रिएट हुआ है और
म्यूजिक की सारी डिटेल्स हम यहां पे रिटर्न में शेयर करेंगे। बढ़िया। तो ये हमारी एक एपीआई कंप्लीट हुई। यह जो हमारी
एपीआई कंट्रोलर अभी हमारा कंप्लीट हुआ है, एपीआई अभी हमें क्रिएट करनी है। तो इधर पे आते हैं। इधर पे आने के बाद मॉड्यूल डॉट
एक्सपोर्ट्स एक्सपोर्ट्स के अंदर क्रिएट म्यूजिक कंट्रोलर को एक्सपोर्ट किया और एक्सपोर्ट करने के बाद म्यूजिक राउट्स के
अंदर हम यहां पे बोलेंगे कॉस्ट म्यूजिक कंट्रोलर इक्व टू रिक्वायर। रिक्वायर के अंदर हम
यहां पे बोलेंगे कि भाई कंट्रोलर्स फोल्डर के अंदर म्यूजिक कंट्रोलर फाइल को आपने किया रिक्वायर और रिक्वायर करने के बाद
राउटर डॉट पोस्ट स्लश
अपलोड और अपलोड के अंदर हम यहां पे वो लेंगे म्यूजिक कंट्रोलर के अंदर अपलोड या क्रिएट म्यूजिक नाम से जो हमारे पास
कंट्रोलर है इसका करेंगे हम यहां पे यूज़। बढ़िया। तो जो हमारा सर्वर है, सर्वर को वापस से स्टार्ट करते हैं। एनपीएम रन डेव
स्टार्ट किया। स्टार्ट करने के बाद अब जो हमारी एक एपीआई होने वाली है, इस एपीआई को वापस से करते हैं टेस्ट। तो पोस्ट मेथड
यूआरआई हमारी जाएगी लोकल होस्ट कॉलन 3000 एपीआई म्यूजिक स्लश एपीआई का नाम क्या है? पूरा
स्लैश अपलोड। ठीक है? अपलोड बॉडी के अंदर फॉर्म डाटा की हमारी यहां पर जा रही होगी म्यूजिक। अच्छा यहां
पर अब अब हमें यहां पर मल्टर की जरूरत और पड़ेगी। सो मल्टर का हम यहां पे यूज़ करेंगे। सो एनपीएमआई मल्टर किया हमने
इंस्टॉल और मल्टर इंस्टॉल करने के बाद कॉस्ट मल्टर इक्व मल्टर और हमें यहां पे जरूरत पड़ने वाली है कॉस्ट
अपलोड इक्व मल्टर और मल्टर के अंदर हम स्टोरेज को करेंगे कॉन्फ़िगर मल्टर डॉट मेमोरी स्टोरेज और अपलोड के अंदर हम बोल
रहे होंगे अपलोड डॉट सिंगल सिंगल के अंदर हम यहां पे बोलेंगे म्यूजिक। बढ़िया और इस मिडिल लेवल के बाद हम आगे बढ़ेंगे। चलो तो
पोस्टमैन पे आते हैं। टाइप इसकी रहेगी फाइल। सेलेक्ट फाइल। एक फाइल सेलेक्ट करेंगे। म्यूजिक फोल्डर के अंदर मैंने
यहां पे कुछ फाइल्स ऑलरेडी सेलेक्ट करके रखा हूं। म्यूजिक फोल्डर के अंदर मैंने यहां पे एक वेबसाइट यूज़ किया था pxabbay।
सो pxbay कौन सी वेबसाइट है? तुम यहां पे देख सकते हो। pixbay एक वेबसाइट है pixbay.com इधर पे म्यूजिक हमें मिल
जाएंगे। इधर पे आके अगर तुम देखो तुम अपनी मर्जी से म्यूजिक को डाउनलोड कर सकते हो। मैं इसी पर्टिकुलर वेबसाइट का यूज कर रहा
हूं क्योंकि भाई कॉपी ये वीडियो जो है YouTube पे जाने वाली है। तुम इसको YouTube पे देख रहेगे तो YouTube पे
कॉपीराइट के स्ट्राइक आते हैं। इस वेबसाइट के म्यूजिक उससे हमें थोड़ा बचा सकते हैं। तो इस वजह से इस वीडियो के अंदर इन्हीं
इसी वेबसाइट के सारे म्यूजिक मैं यूज़ करने वाला हूं। तो बहुत अच्छे म्यूजिक नहीं रहेंगे। बस काम चलाओ म्यूजिक ही भाई
अपना स्पॉटिफाई काइंड ऑफ़ काम कर देंगे। बस तो एक म्यूजिक फाइल हमने सेलेक्ट किया और टाइटल हम यहां पे बोलेंगे टाइटल जो हमारा
रहेगा लेट्स से टेस्ट अंडरस्कोर टाइटल हम यहां पे बोल सकते हैं और इसे किया सेंड सेंड करने के बाद सर्वर हमारा बंद है अभी
तो एनपीएम रन डेव स्टार्ट किया और स्टार्ट करने के बाद वापस से पोस्टमैन पे आते हैं सेंड
किया सेंड करने के बाद अब अगर थोड़ा वेट करते हैं तो इधर पे आ रहा है डिकोडेड इज नॉट डिफाइंड बढ़िया तो जो हमारा डिकोडेड
वो डिफाइंड नहीं है। क्यों? क्योंकि हमने उसको ट्राई एंड कैच के अंदर लिख के रखा था। आई थिंक। सो म्यूजिक कंट्रोलर के अंदर
मैं अगर आता हूं तो डिकोडेड जो हमारा जा रहा है ये ट्राई एंड कैच के अंदर लिखा है। इस वजह से ये प्रॉब्लम कर रहा है। तो एक
काम करते हैं। ट्राई एंड कैच के अंदर अपन वापी बाकी सारा कोड भी दे देते हैं। और इसी के अंदर हम ये कोड भी देते हैं। और
अगर कुछ और एरर आएगी तो इसे अलग से हम कंसोल करवाएंगे। कंसोल डॉट log एरर। बढ़िया। सो अब अगर आगे बढ़ते हैं। सेंड
किया। सेंड करने के बाद अब अगेन थोड़ा वेट करेंगे जो हमारे म्यूजिक फाइल है। म्यूजिक फाइल अपलोड हुई। यह उसकी एक यूआरआई है।
इसे अगर मैं प्ले करता हूं तो देखो तुम्हें अभी आवाज नहीं आएगी। मतलब कि जो हमारी म्यूजिक फाइल है वो
अपलोड हो चुकी है। तो अब हमारी यहां पे जो म्यूजिक फाइल है वो अपलोड हो चुकी है। और साथ ही साथ पता है हमने एक काम और
इंप्लीमेंट किया है। देखो पोस्टमैन पे अगर मैं आता हूं जो मेरा एक नॉर्मल यूजर होता है जिसका ईमेल एड्रेस test @ test.com था।
तो अभी जो मैंने यहां पे लॉग इन करके रखा था। ये तो मेरा आर्टिस्ट था। लेकिन अब अगर मैं यहां पे एक नॉर्मल यूजर से लॉग इन
करता हूं। लॉग इन हो जाएगा। बढ़िया। यहां पे लॉग इन हो गया नॉर्मल यूजर से। अब टोकन कुकीज़ के अंदर जो सेव हुआ होगा वो टोकन
किसका रहेगा? नॉर्मल यूजर का रहेगा और नॉर्मल यूजर यहां पे म्यूजिक फाइल को अपलोड नहीं कर सकता। तो अगर मैं रिक्वेस्ट
डॉट बॉडी के अंदर आता हूं एक नई फाइल सेलेक्ट करता हूं। लेट्स से हम यहां पर दिस वन इसे किया ओपन टेस्ट टाइटल
अंडरस्कोर टू के साथ अभी हम चलेंगे। इसे अगर मैं करता हूं सेंड। तो सेंड करने के बाद मेरे पास देखो कौन सा एरर आ रहा है।
403 यू डोंट हैव एक्सेस टू क्रिएट एन म्यूजिक। मतलब कि भाई नॉर्मल यूजर यहां पे फाइल को क्रिएट नहीं कर सकता। तो हमने
यहां पे एक रोल बेस्ड ऑथेंटिकेशन सिस्टम लगा के रखा है कि भाई अगर आपके पास प्रॉपर रोल नहीं है तो आप कुछ सर्टेन टास्क नहीं
कर सर्टेन एकशंस परफॉर्म नहीं कर सकते हमारी एप्लीकेशन पे। अब दूसरी तरफ अगर मैं यहां पर लॉगिन करता हूं विद द हेल्प ऑफ
मेरे आर्टिस्ट के अकाउंट से। सो यहां पर मैं लॉगिन कर पाऊंगा। सेंड किया। सेंड करने के बाद आर्टिस्ट के अकाउंट से लॉग इन
किया। म्यूजिक सेम चीजें हैं। लेकिन अब जो हमारा एक आर्टिस्ट रहता है, आर्टिस्ट यहां पे एक नए म्यूजिक को क्रिएट कर सकता है।
यह म्यूजिक फाइल अपलोड हुई। अगर इस म्यूजिक फाइल पे मैं आता हूं। [संगीत]
बढ़िया। तो जो इस बार हमारे पास म्यूजिक जो हमने अपलोड किया है, किसके बिहाफ पे किया है? हमारे आर्टिस्ट के बिहाफ पे किया है।
तो अब हमने यहां पे एक सक्सेसफुली एपीआई ड्राइव कर चुके हैं। एपीआई क्रिएट कर चुके हैं। इस एपीआई से होता क्या है कि भाई
सिर्फ आर्टिस्ट ही म्यूजिक को क्रिएट कर सकता है। नॉर्मल यूजर म्यूजिक को क्रिएट नहीं कर सकते। थे। इतना अभी तक हम डेवलप
कर चुके हैं। अब इसके आगे की एपीआई हमें कुछ और डेवलप करनी है। उनकी तरफ आगे बढ़ते हैं। चलो अभी तक हम यहां पे एक एपीआई
क्रिएट किए थे। जिस एपीआई में सिर्फ आर्टिस्ट सॉन्ग को क्रिएट कर सकता है। म्यूजिक क्रिएट कर सकता है। अब हमें यहां
पे कुछ और एपीआई क्रिएट करनी है। जैसे कि एक आर्टिस्ट कैसे एल्बम क्रिएट कर पाएगा और उस एल्बम के अंदर मल्टीपल सॉन्ग किस
तरीके से रख सकता है। तो एल्बम क्रिएट करने के लिए हम आते हैं वीएस कोड पे। स्क्रीन मुझे शेयर करने दो। अब देखो एल्बम
जो हमारा रहेगा एल्बम अगर हमें यहां पे क्रिएट करनी है तो उसके लिए भी हमें सबसे पहले उसका एक स्कीमा क्रिएट करना रहेगा और
स्कीमा क्रिएट करने के लिए मॉडल्स फोल्डर के अंदर हम एक फाइल क्रिएट करेंगे। फाइल का नाम हम यहां पे बोल रहे हैं एल्बम
एल्बम आई थिंक एल्बम की स्पेलिंग क्या होती है? मॉडल डॉट जेएस सो एल्बम अगर मैं यहां पे ब्राउज़र पे आता हूं। ब्राउज़र पे
आने के बाद एल्बम हम म्यूजिक
ठीक है ओके सो एल्बम ठीक है वो स्पेलिंग्स उतनी ज्यादा मेरे को याद है रहती हैं नहीं तो बस यही करता हूं एल्बम डॉट मॉडल डॉट
जेएस बढ़िया और अब अगर मैं यहां पे आता हूं कॉस्ट मोंगोस क्या तुम लोगों के साथ भी ऐसा होता है मतलब कि तुम लोगों को
स्पेलिंग्स याद नहीं होती है तुम्हें बस एक आईडिया होता है कि भाई हां ये स्पेलिंग का नाम हो सकता है। ये स्पेलिंग ऐसे लिखी
जाएगी। तो मेरे साथ तो यह प्रॉब्लम है और जहां तक है शायद तुम लोगों के साथ भी ये प्रॉब्लम होगी। तो अगर है तो तुम लोग भाई
अकेले नहीं हो। तुम लोग अकेले नहीं हो इस प्रॉब्लम के साथ कि तुम्हें स्पेलिंग में थोड़ी बहुत प्रॉब्लम होती है। तुम अकेले
नहीं हो। मुझे भी होती है और मुझे पता है कि तुम लोग में से बहुत सारे लोग इस प्रॉब्लम के साथ भी जूझ रहे होगे। अब देखो
एल्बम का स्कीमा क्रिएट करेंगे। सो एल्बम एल्बम स्कीमा और एल्बम स्कीमा के अंदर हम यहां पे तीन चीज रखने वाले हैं। पहला
हमारा रहेगा टाइटल कि भाई टाइटल इसका क्या होने वाला है? तो फर्स्ट वन विल बी द टाइटल। टाइटल हम यहां पे बोलेंगे कि भाई
टाइटल टाइपस्ट्रिंग रिक्वायर्ड ट्रू रहेगा। और फिर इसके बाद हम यहां पे बात करेंगे म्यूजिकिक्स पे कि भाई कितने
म्यूजिक इस पर्टिकुलर एल्बम के अंदर हैं। सो म्यूजिक्स म्यूजिक जो हमारा रहेगा एक अरे और अरे ऑफ़ ऑब्जेक्ट आईडी यहां पे होने
वाला है। और ऑब्जेक्ट आईडी के अंदर रेफरेंस जो हमारा जाएगा वो म्यूजिक का रहेगा कि भाई म्यूजिक के अंदर जो म्यूजिक
हमारी कलेक्शन है उस म्यूजिक कलेक्शन के अंदर से हम यहां पे आईडी पास करेंगे। और फाइनली ये एल्बम किस आर्टिस्ट ने क्रिएट
किया है उस आर्टिस्ट का यहां पे उस आर्टिस्ट की डिटेल भी हमें यहां पे देनी रहेगी। बढ़िया। तो एल्बम स्कीमा हमने
क्रिएट किया। एल्बम स्कीमा क्रिएट करने के बाद हम यहां पे क्रिएट करेंगे एक मॉडल। सो कॉस्ट एल बम मॉडल इक्व टू मोंगूस
डॉट मॉडल एल्बम और एल्बम स्कीमा हम क्रिएट करेंगे और मॉड्यूल डॉट एल्बम मॉडल हम यहां से एक्सपोर्ट कर सकते
हैं। बढ़िया। और अब हम यहां पे क्या करेंगे? जो हमारा कंट्रोलर है कंट्रोलर के अंदर म्यूजिक कंट्रोलर मैं अलग से एल्बम
डॉट कंट्रोलर जेs फाइल नहीं क्रिए कर रहा हूं क्योंकि एस सच उतना बड़ा रोल नहीं है इसका कि भ उतने एल्बम की एक अलग ही हमें
राउट्स क्रिएट करने पड़े उतना बड़ा रोल इसका नहीं है तो हम यहां पे इसी पर्टिकुलर कंट्रोलर्स के अंदर हम यहां पर इंपोर्ट
करेंगे या बोल सकते हैं रिक्वायर कर रहे होंगे कॉन्स्ट एल्बम एल्बम मॉडल एल्बम मॉडल को हम यहां पे
करेंगे रिक्वायर और रिक्वायर करने के बाद हम यहां पर क्रिएट करेंगे अ सिंक फंक्शन और
क्रिएट एल्बम और क्रिएट एल्बम के अंदर हमारा जो एक सबसे पहले तो चेक करना रहेगा भाई एल्बम जो क्रिएट कर सकता है वो एक
आर्टिस्ट रहेगा और आर्टिस्ट चेक करने के लिए हमने पहले भी ये कोड लिख के रखा था कैसे कि सबसे पहले हम यहां पे निकालेंगे
कॉन्स टोकन कॉन्स टोकन इक्वल्स टू टोकन हमने रिक्वेस्ट डॉट कुकी से टोकन निकालेंगे और रिक्वेस्ट डॉट कुकीज़ से टोकन
निकालने के बाद हम यहां पर चेक करेंगे कि भाई अगर टोकन नहीं आया अगर हमारे पास यहां पे टोकन नहीं आता है तो रिटर्न
रिटर्न रिस्पांस स्टेटस 401 अन ऑथोराइज और अगर टोकन हमारे पास आता है तो टोकन को करेंगे वेरीफाई तो ट्राई और कैच के अंदर
हम यहां पे बोलेंगे ईआरआर और एरर के अंदर कंसोल एरर और रिटर्न में बोलेंगे 401 अन ऑथराइज़्ड ठीक और इसके बाद हम यहां पे एक
चीज़ बोल रहे होंगे जो हमारा टोकन है टोकन को करेंगे एक बार वेरीफ़ाई तो डिकोडेड डिकोडेड JWT डॉट वेरीफाई टोकन और टोकन जो
हमारे पास आ रहा होगा इसमें चेक करेंगे कि अगर रोल आर्टिस्ट नहीं है तो रिटर्न 403 मैसेज यू डोंट हैव एक्सेस टू क्रिएट एन
एल्बम बढ़िया और अगर हमारे पास यहां पे रोल रहेगा कि भाई हमारे पास टोकन आ रहा है और टोकन जो है वो एक पर्टिकुलर आर्टिस्ट का
है तब हम यहां पे बोल सकते हो एक एल्बम क्रिएट कर सकते हैं। अब एल्बम के अंदर हमारे पास क्या-क्या चीजें आएंगी? टाइटल
और म्यूजिक आईडीज हमारे पास आ रही होंगी। और म्यूजिक आईडीज के साथ हम यहां पर फाइनली एक एल्बम क्रिएट करेंगे। तो एल्बम
क्रिएट करने के लिए मुझे यहां पे चाहिए रहेगा टाइटल आर्टिस्ट म्यूजिक। म्यूजिक की आईडीज मुझे यहां पे चाहिए रहेंगी और
डिकोडेड डॉट आईडी हम यहां पे चेक कर सकते हैं। बढ़िया है। तो एक एल्बम हमारा यहां पे क्रिएट होगा और एल्बम क्रिएट होने के
बाद रिस्पांस डॉट स्टेटस 2001 और 2001 में हम यहां पे बोल सकते हैं मैसेज क्रिएटेड सक्सेसफुली। एल्बम की डिटेल्स हम यहां पे
इज़ली शेयर कर सकते हैं। और म्यूजिक के अंदर हमने जो मॉडल क्रिएट किया था इसके अंदर म्यूजिकिक्स है। ओके सो म्यूजिक्स
ओके और इधर पे म्यूजिक्स आ रहा। बढ़िया। तो म्यूजिक्स हमारा जाएगा और म्यूजिक्स बढ़िया। तो म्यूजिक जो हमारा क्रिएट होगा।
अब अगर इस चीज़ को मैं एक बार समराइज़ करता हूं इस पूरे कंट्रोलर को। तो इस कंट्रोलर के अंदर हम कर क्या रहे हैं? सबसे पहले जो
हमारा कंट्रोलर है क्रिएट एल्बम। इसमें हम टोकन निकाल रहे हैं। टोकन निकालने के बाद चेक कर रहे हैं कि भाई टोकन कुकीज़ के अंदर
है या नहीं। अगर टोकन कुकीज़ के अंदर नहीं है तो हम सीधा वहां पे बोल सकते हैं कि भाई यूजर लॉक्ड इन नहीं है। आप वहां पे
रिस्पांस अनअथराइज़ शेयर मतलब रिस्पांस सेंड कर सकते हो अनअथराइज़। अगर टोकन आता है कुकीज़ के अंदर तो टोकन को वेरीफाई करके
देखना रहेगा भाई टोकन सही है या नहीं है। अगर टोकन वेरीफाई नहीं हुआ मतलब कि टोकन गलत था तो हम कैच में उसका एक एरर आएगी।
एरर को हैंडल करने के बाद रिटर्न रिस्पांस डॉट स्टेटस 401 मैसेज अन ऑथराइज़्ड हम यहां से शेयर कर सकते हैं। इतना करने के बाद
अगर टोकन सही निकलता है तो डिकोडेड में हमारे पास डेट आएगा। कौन सा डेटा आएगा? जो डेटा आपने टोकन क्रिएट करते टाइम यूज़ किए
थे। जब आप यहां पे रजिस्टर एपीआई में रजिस्टर कंट्रोलर पे या लॉग इन कंट्रोलर पे। लॉग इन कंट्रोलर में जो आप टोकन
क्रिएट कर रहे थे टोकन के अंदर आप आईडी और रोल दे रहे थे। तो यही सेम डेटा जब आप टोकन को वेरीफाई करोगे वो डेटा कहां पे आ
जाएगा? डिकोडेड में। और हम यहां पे चेक कर लेंगे कि भाई जो रोल है अगर वो आर्टिस्ट नहीं है मतलब कि भाई जो रिक्वेस्ट आ रही
है वो आर्टिस्ट की तरफ से नहीं आ रही है मतलब कि नॉर्मल यूजर की तरफ से रिक्वेस्ट आ रही है और नॉर्मल यूजर के पास रोल एल्बम
क्रिएट करने का एक्सेस नहीं रहता तो 403 फॉरबिडन यू डोंट डोंट हैव एक्सेस टू क्रिएट एन एल्बम ये हम यहां पे रिस्पांस
भेजेंगे। फिर अगर वो एक आर्टिस्ट रहेगा तो हम आगे बढ़ जाएंगे और आगे बढ़ने के बाद टाइटल और म्यूजिक आईडीज निकालेंगे
रिक्वेस्ट डॉट बॉडी से या म्यूजिक डॉट म्यूजिक आईडी निकालेंगे रिक्वेस्ट डॉट बॉडी से एक एल्बम क्रिएट करेंगे आई
आर्टिस्ट के साथ म्यूजिक के साथ और फाइनली जो एल्बम क्रिएट होगा 2001 क्योंकि एक नया एल्बम क्रिएट होने वाला है और हम यहां पे
बाकी सारी चीजें फिल करने के बाद रिस्पांस सेंड कर देंगे। बढ़िया तो एक कंट्रोलर हमने क्रिएट किया। इस कंट्रोलर को करेंगे
एक्सपोर्ट क्रिएट एल्बम क्रिएट एल्बम देन हमारा जो म्यूजिक राउट्स है इस म्यूजिक राउट के अंदर हम यहां पे बोलेंगे राउटर
डॉट पोस्ट एल्बम क्रिएट एल्बम कंट्रोलर यूज़ कर रहे होंगे बढ़िया तो अब अगर मैं यहां पर आता हूं पोस्टमैन पे सो पोस्टमैन
पे आए एक और एपीआई क्रिएट करेंगे मेथड हमारी रहेगी पोस्ट लोकल पोस्ट कॉलन 3000 एपीआई स्लश ऑथ स्लैश अ ऑथ नेम जो हमारा
जाएगा वो जाएगा हमारा म्यूजिक म्यूजिक के बाद स्लैश एल्बम हम यहां पे बोलेंगे और बॉडी के अंदर रॉ फॉर्मेट में हम यहां पे
बोलेंगे टाइटल और टाइटल के अंदर हम यहां पे बोल रहे होंगे लेट्स से टेस्ट अंडरs
एल्बम अंडरs वन और देन हमारे पास जो म्यूजिक आईडीज यहां पे जानी है म्यूजिक आईडीज मुझे
मुझे एस सच थोड़ा ठीक लग नहीं रहा है। सो इनका नाम मैं यहां पे दे रहा हूं म्यूजिकिक्स। ठीक है? म्यूजिक्स नाम से
मैं यहां पे चीजें भेजने वाला हूं। तो म्यूजिक नाम से हम भेजेंगे और ये रहेगा हमारा एक अरे और अरे ऑफ स्ट्रिंग। तो यहां
पे अभी हमने जो दो सॉन्ग्स क्रिएट किए थे। इधर पे आते हैं मोंगो डीबी कंपास पे म्यूजिक्स। और म्यूजिकिक्स के अंदर हमारे
पास ये जो दो आईडीज़ हैं इन्हीं आईडीज़ को कॉपी करेंगे। तो इनको किया यहां पे कॉपी और एक और म्यूजिक की आईडी हम यहां पे कॉपी
करेंगे। बढ़िया। तो दो जो हमने म्यूजिक क्रिएट किए थे इन्हीं दोनों के साथ हम एक एल्बम क्रिएट करेंगे। एल्बम का टाइटल क्या
रहेगा? टेस्ट एल्बम वन और इसे किया सेंड। सेंड करने के बाद जो हमारा एक एल्बम है एल्बम क्रिएट हो चुका होगा। अगर कंपास में
मैं चेक करता हूं तो इधर पे मेरे पास कॉमिट डेटाबेस के अंदर एल्बम्स के अंदर मेरे पास एक पर्टिकुलर एल्बम आ रही है और
जिसके अंदर मेरे पास म्यूजिक है। दो म्यूजिक मेरे पास यहां पे प्रॉपर है। एक आईडी दोनों की आईडी मेरे पास यहां पे
प्रॉपर तरीके से स्टोर है। और किस आर्टिस्ट का ये एल्बम है वो भी हमारे पास यहां पे पता चल रहा है। बढ़िया है। तो अब
देखो अब क्या करना है? अब इसे थोड़ा ऑप्टिमाइज करना है कोड को। कैसे? सुनो। तुमने यहां पे दो अलग-अलग कंट्रोलर क्रिएट
किए। एक कंट्रोलर का नाम है क्रिएट म्यूजिक। इसमें क्या होता है? तुम एक म्यूजिक को क्रिएट करते हो। कौन क्रिएट
करता है? आर्टिस्ट क्रिएट करता है। और अगर कोई यूजर आर्टिस्ट नहीं है, तो वह म्यूजिक को क्रिएट नहीं कर सकता। 403 फॉरवर्डन एरर
आती है। सेम चीज़ क्रिएट एल्बम के टाइम पे भी तुम कर रहे हो। टोकन चेक करोगे। टोकन है या नहीं। टोकन सही है या नहीं ये चेक
करोगे। जो टोकन है वो आर्टिस्ट का है या नहीं। अगर आर्टिस्ट का नहीं है 403 फॉरविडन एरर वहां पे तुम भेजते हो। तो इन
दोनों चीजों के लिए तुमने जो कोड लिखा था वो रेपिटेटिव कोड है। मतलब कि क्या क्रिएट एल्बम के कंट्रोलर के अंदर और क्रिएट
म्यूजिक कंट्रोलर के अंदर तुमने बहुत सारा कोड लगभग इतना कोड तुम यहां पे रिपेटेटिव बार-बार लिख रहे हो। दोनों ही कंट्रोलर के
अंदर इतना कोड तुम रिपेटेटिव लिख रहे हो। तो अब इसी चीज से सॉल्व क्या करता है? मिडिलवेयर हमें यहां पे इसका सॉल्यूशन
देता है। कैसे? देखो अ सबसे पहले ये जो दोनों कंट्रोलर है जैसे कि क्रिएट एल्बम कंट्रोलर की अगर मैं बात करता हूं हो क्या
रहा है? तुम चेक कर रहे हो कि भाई टोकन आ रहा है या नहीं आ रहा है। टोकन जो अगर आ रहा है तो टोकन सही है या नहीं है। फिर
टोकन अगर सही है तो वो जो टोकन है वो आर्टिस्ट का है या नहीं कि नॉर्मल यूजर का है। ये सारी चीजें तुम चेक कर रहे हो। इसी
चीज को हम एक मिडिल वेयर के अंदर भी रख सकते हैं। कैसे? देखो मैं बता रहा हूं। सबसे पहले एक फोल्डर क्रिएट करो। फोल्डर
का नाम रहेगा मिडिल वेयर्स और मॉडलवेयर्स नहीं मिडिल वेयर्स। और मिडिल वेयर फोल्डर के
अंदर तुम एक फाइल क्रिएट करो ऑथ डॉट मिडिल वेयर डॉट जेएस ये एक तुम फाइल क्रिएट कर सकते हो और इस फाइल के अंदर तुम्हें यहां
पे jw जो रहेगा इसे करना रहेगा तुम्हें रिक्वायर json वेब टोकन और एक पर्टिकुलर फंक्शन क्रिएट करो फंक्शन के अंदर तुम बोल
सकते हो ऑथ आर्टिस्ट ऑथ आर्टिस्ट बढ़िया तो ऑथ आर्टिस्ट तुम यहां पे बोलोगे और ध्यान रखना तुम यहां पे
एक मिडिल वेयर क्रिएट कर रहे हो और मिडिल वेयर में तीन पैराटर्स होते हैं। रिक्वेस्ट, रिस्पांस और नेक्स्ट। ये तीनों
पैरामीटर तुम्हें रखने ही पड़ेंगे। मैं बताऊंगा कि यहां पे एग्जैक्टली हो क्या रहा है। पहले जो मैं कोड यहां पे लिख रहा
हूं उस कोड को देखो। बस 5 मिनट मुझे देना। जो कोड मैं यहां पे लिखने वाला हूं वो कोड तुम्हें पूरा समझ में आएगा। बस 5 मिनट
मेरे साथ एकदम कंटीन्यूअस देखते रहना कि क्या एग्जैक्टली चीज मैं यहां पे कर रहा हूं। देखो एक मिडिल वेयर क्रिएट कर रहे
हैं। मिडिल वेयर का नाम है ऑथ आर्टिस्ट। हम सबसे पहले यहां पे जो एक नॉर्मल जो हमारा कंट्रोलर था उस कंट्रोलर के अंदर
चेक करते हैं टोकन है या नहीं। अगर टोकन नहीं है तो यहीं से रिटर्न करेंगे। अगर टोकन रहता है तो टोकन को वेरीफाई करते हैं
कि भाई टोकन सही है या नहीं है। और फिर टोकन अगर वेरीफाई होता है तो चेक करेंगे कि टोकन किसी आर्टिस्ट का या नॉर्मल यूजर
का है। अगर किसी आर्टिस्ट का नहीं निकला वो टोकन तो हम वहीं से रिटर्न करवा जा सकते हैं। तो सेम चीज हम यहां पे करेंगे।
हम यहां पे निकालेंगे टोकन कुकीज़ के अंदर से और अगर हमें यहां पे टोकन नहीं मिलता है नॉट टोकन तो हम यहीं से कर जाएंगे
रिटर्न 401 401 रिस्पांस स्टेटस 401 जेसी मैसेज मैसेज हमारा जाएगा अनथराइज़ और अगर टोकन निकलता है अगर टोकन हमारे पास यहां
पे आता है तो टोकन को करेंगे वेरीफाई टोकन वेरीफाई करने के लिए हम यहां पे ट्राई और कैच का यूज़ करेंगे और ट्राई एंड कैच का
यूज़ करने के बाद कंसोल लॉग एरर रिस्पांस स्टेटस 401 मैसेज अनथराइज़ यहां पे जा रहा होगा और ट्राई के अंदर हम करेंगे टोकन को
वेरीफाई तो कॉस्ट टी कोडेड इक्व jw डॉट वेरीफाई और जो हमारा टोकन रहेगा इस टोकन को हम करेंगे वेरीफाई
क्योंकि टोकन वेरीफाई हुआ और टोकन अगर सही निकलेगा तो डिकोडेड के अंदर टोकन जिस डेटा के साथ क्रिएट किया होगा वो डेटा हमारे
पास आ जाएगा और टोकन अगर गलत निकलता है तो jwटी डॉट वेरीफाई मेथड हमें एक एरर थ्रो करके देगी और इसे हैंडल कहां करेंगे कैच
वाले पार्ट में और मैसेज या बोल सकते हो रिस्पांस हम सेंड कर देंगे अन ऑथोराइज्ड। अब सुनो अगर टोकन वेरीफाई हो जाता है तो
डिकोडेड के अंदर डेटा आएगा और हम यहां पे बोलेंगे कि भाई जो डिकोडेड के अंदर रोल आ रहा है डिकोडेड के अंदर जो रोल आ रहा है
अगर वो आर्टिस्ट का नहीं है तो आप यहीं से रिटर्न करोगे 403 यू डोंट हैव एक्सेस। बस इतना तुम यहां पे शेयर कर रहे हो। अगर अगर
रोल यहां पे आर्टिस्ट का होता है तब तो ये इफ वाली कंडीशन नहीं चलेगी। तो हम आगे बढ़ जाएंगे और इधर पे हम कॉल कर देंगे नेक्स्ट
को। बढ़िया है? तो अब देखो इतना तुम यहां पे कॉल करोगे। तब ये पूरे मिडिल वेयर में हमारा लॉजिक क्या जा रहा है और इसको किस
तरीके से यूज़ करने वाले हैं। देखो ये जो मेरा ऑथ आर्टिस्ट है इस मिडिल वेयर को हमने इतना क्रिएट किया। इतना हमने क्रिएट
कर लिया। इसे यहां से कर रहा हूं मैं एक्सपोर्ट। सो मॉड्यूल डॉट एक्सपोर्ट जो मेरा ऑथ आर्टिस्ट मिडिल वेयर है, इसे किया
मैंने यहां से एक्सपोर्ट। एक्सपोर्ट करने के बाद जो मेरे म्यूजिक राउट्स फाइल है इस म्यूजिक राउट्स फाइल में मैं करूंगा यहां
पे कॉस्ट ऑथ मिडिल वेयर को रिक्वायर कहां पे मिडिलवेयर फोल्डर के अंदर ऑथ मिडिल वेयर फाइल को मैं
यहां पे कर रहा हूं रिक्वायर और रिक्वायर करने के बाद ये जो मेरा अपलोड राउट है अपलोड राउट में जो मेरा ऑथ मिडिल वेयर है
इधर पे मैं रन करूंगा ऑथ आर्टिस्ट मिडिलवेयर को और सेम चीज़ मैं यहां पे कर रहा हऊंगा फॉर मेरे क्रिएट एल्बम पे सो ऑथ
ऑथ मिडिलवेयर डॉट ऑथ आर्टिस्ट ये हम यहां पे रन कर रहे होंगे। बढ़िया। तो ऑथ मिडिलवेयर ऑथ आर्टिस्ट हम यहां पे
यूज़ करेंगे। अब देखो हो क्या रहा है? सुनना ध्यान से सुनना। पहले हो क्या रहा था। अ इसको मैं एक्स कैली ड्रॉ से रन करके
आपको बता रहा हूं या उस पे ड्रॉ करते हैं। फिर हम यहां पे समझेंगे भाई एग्जैक्टली हो क्या रहा है। सुनो। अ मान लो ये था हमारा
पूरा सर्वर। ये हमारा पूरा एक्सप्रेस का सर्वर है। जो अभी आपने एक सर्वर क्रिएट किया। ये वो सर्वर था। ठीक है? तो ये
हमारा एक्सप्रेस का सर्वर है पूरा। ठीक? ये इसको मैं पूरा लिख देता हूं। एक्सप्रेस का सर्वर। पढ़िए। तो एक्सप्रेस का सर्वर
है। अब होता क्या है कि भाई यहां पे आप कुछ रिक्वेस्ट करते हो और इसके बदले में कोई रिस्पांस कि ये सर्वर आपको प्रोड्यूस
करके देता है। तो इधर पे रिक्वेस्ट आती है। रिक्वेस्ट आने के बाद रिस्पांस इसका कुछ जाता है। बड़ी तो रिस्पांस इसका कुछ
यहां पे जाएगा। अब इन सारी चीजों के बीच में होता क्या है? सुनो रिक्वेस्ट किस पे जाती है? आपके एक्सप्रेस सर्वर के
इंस्टेंस पे। मतलब क्या? मतलब ये कि लेट्स से अभी हम यहां पे एक एपीआई हिट करने की कोशिश कर रहे हैं। एपीआई का नाम क्या है?
स्लश एपीआई म्यूजिक और स्लैश हम यहां पे बोल सकते हैं अपलोड। ठीक है? सो जो हमारी एपीआई का पूरा
नाम है वो है कुछ इस तरीके से अपलोड। और इसकी मेथड क्या है? इसकी मेथड है यहां पे पोस्ट। बढ़िए। तो जिस एपीआई को अभी हम यहां
पे हिट करने की कोशिश कर रहे हैं कि जहां पे रिक्वेस्ट भेज रहे हैं वो ये वाली एपीआई स्लैश एपीआई म्यूजिक स्लश अपलोड
मेथड उसकी है पोस्ट तो सुनो कोई भी रिक्वेस्ट आती है तो वो कहां पे जाएगी आपके एक्सप्रेस सर्वर के इंस्टेंस पे वो
रिक्वेस्ट वहां पे जाने वाली है मतलब क्या मतलब देखो जो आपने app डॉट जेएस फाइल के अंदर जो आपके सर्वर का एक इंस्टेंस क्रिएट
किया है दैट इज़ दिस वन इस पर्टिकुलर इंस्टेंस पे सर्वर की रिक्वेस्ट जाएगी और आपने यहां पर एपीआई कौन सी कॉल की है
स्लैश एपीआई स्लैश म्यूजिक ये तो प्रीफिक्स है। तो जो आपका ऐप सर्वर है वो क्या करेगा? वो प्रीफिक्स को मैच करेगा कि
हां भाई इतना पार्ट उसको कहां पे दिख रहा है? तो इतना पार्ट उसको दिखेगा इस पर्टिकुलर जगह पे। क्या ये मैच कर रहा है
स्लैश एपीआई ऑथ से? नहीं जो हमारी एपीआई कॉल हो रही है वो कौन सी हो रही है? स्लैश एपीआई स्लश म्यूजिक। तो स्लैश एपीआई
म्यूजिक इस पर्टिकुलर पार्ट पे हम आगे बढ़ेंगे। तो हम म्यूजिक राउट्स के अंदर जाएंगे। म्यूजिक राउट्स के अंदर जाने के
बाद हमें पता चलेगा भाई स्लैश अपलोड भी है आगे। तो स्लैश अपलोड हमारे पास ये एक पर्टिकुलर पार्ट आ रहा है। तो रिक्वेस्ट
कुछ इस तरीके से यहां पे पहुंचेगी। अब देखो मैंने यहां पे क्या किया? इस जगह पे मैंने लगाया एक मिडिल वेयर। एक मिडिल वेयर
मैंने यहां पे लगाया और ये मिडिल वेयर क्या करेगा? ऑथ आर्टिस्ट। ये ऑथ आर्टिस्ट ये जो आपका मिडिल वेयर है इसके अंदर आपने
कोड क्या किया? इसके अंदर आपने कोड कर दिया कि यहां पे जो भी रिक्वेस्ट आएगी वो रिक्वेस्ट अब देखो इस एपीआई पे आ रही थी।
इस एपीआई पे रिक्वेस्ट आई थी क्योंकि भाई आपने इसी एपीआई पे रिक्वेस्ट किए थे। तो इस एपीआई पे रिक्वेस्ट आएगी। सबसे पहले
यहां पे क्या चलेगा? सबसे पहले ये मिडिलवेयर चलेगा। फिर उसके बाद मल्टर चलेगा। और मल्टर चलने के बाद जो हमारा
फाइनली कंट्रोलर है क्रिएट म्यूजिक ये चलने वाला है। तो सबसे पहले रिक्वेस्ट किसके थ्रू जाएगी? आपके मिडिलवेयर के थ्रू
जाएगी। और इस मिडिलवेयर के अंदर आपने क्या करके रखा है? इस मिडिलवेयर के अंदर आपने सबसे पहले कोड लिखा कि भ टोकन आ रहा है या
नहीं आ रहा है। ये आपने सबसे पहले कोड लिखा है। फिर टोकन अगर नहीं आएगा तो आप यहीं से रिटर्न कर जाओगे कि भाई 401
अनऑथराइज कि आपके पास टोकन नहीं है। हम आपको ऑथराइज नहीं कर सकते। फिर अगर टोकन आता है तो आप यहां पे टोकन को वेरीफाई
करोगे। टोकन अगर वेरीफाई होगा तो डिकोडेड के अंदर डेटा आता है। चेक करोगे कि भाई डेटा जो है या बोल सकते हो जो रिक्वेस्ट आ
रही है वो आर्टिस्ट के पास से आ रही है या नहीं आ रही है। अगर आर्टिस्ट के पास से रिक्वेस्ट नहीं आ रही होगी तो रिस्पांस
स्टेटस 403 मैसेज यू डोंट हैव एक्सेस। इतना हम यहां पे मैसेज करेंगे और कॉल कर देंगे नेक्स्ट को। अब नेक्स्ट क्या करता
है? उस पे हम आते हैं। लेकिन अगर टोकन वेरीफाई नहीं होता है तो आप कहां पे जाओगे? कैच वाले पार्ट में। क्यों? कि भाई
अगर टोकन इनवैलिड निकलता है तो एक एरर थ्रो करेंगे और एरर को कैच करने के लिए हम यहां पे कैच वाले पार्ट को लिख रहे होते
हैं कि भाई टोकन आपका गलत है तो 401 अनऑथराइज आपका यहां पे मैसेज जाएगा। अच्छा अगर टोकन सही है और रोल हमारा आर्टिस्ट
निकलता है तो हम किसको कॉल करते हैं? नेक्स्ट को। अच्छा ये नेक्स्ट को कॉल करने से क्या होगा? देखो बता रहा हूं। तो देखो
रिक्वेस्ट इस पर्टिकुलर एपीआई पे आई थी। फिर रिक्वेस्ट कहां पे गई थी? मिडिल वेयर पे। फिर मिडिलवेयर के बाद रिक्वेस्ट कहां
पे जानी है? अपलोड सिंगल। मतलब कि ये जो आपका मल्टर वाला पार्ट है इस वाले पार्ट पे रिक्वेस्ट जानी है। तो रिक्वेस्ट एक
मिडिल वेयर से आगे फॉरवर्ड हो सके। एक मिडिल वेयर से रिक्वेस्ट आगे जा सके। इस वजह से हम नेक्स्ट को कॉल करते हैं। अच्छा
अगर तुम नेक्स्ट को कॉल नहीं करोगे तो क्या होगा? अगर तुमने यहां पे नेक्स्ट को कॉल नहीं किया तो रिक्वेस्ट मिडिलवेयर के
अंदर तो जाएगी लेकिन उसके आगे कहीं पे भी फॉरवर्ड नहीं हो पाएगी। तो अब देखो यहां पे हो क्या रहा है कि भाई अगर तुम अपलोड
एपीआई पे रिक्वेस्ट करोगे तो पहले रिक्वेस्ट कहां पे जाएगी? मिडिलवेयर पे। ऑथॉर्टिस्ट मिडिल वेयर पे। ऑथ आर्टिस्ट
मिडिल वेल के अंदर हम चेक करेंगे टोकन आ रहा है या नहीं आ रहा है। टोकन सही है या नहीं है। जो टोकन आ रहा है उस पर्टिकुलर
यूजर का रोल आर्टिस्ट है या नहीं। ये सारी चीजें चेक करने के बाद तभी हम आगे नेक्स्ट को कॉल करेंगे और अगर ये सारी चीजें नहीं
होती हैं तो हम यहां पर रिस्पांस स्टेटस 401 मैसेज शेयर कर रहे होंगे। तो ये इस काम में आते हैं आपके मिडिल वेयर्स और भी
और काम रहते हैं। लेकिन अभी के लिए इस पर्टिकुलर चीज़ के लिए हम मिडिल वेयर यूज़ करेंगे कि भाई मिडिल वेयर में बहुत ज्यादा
पावर रहती है। मैं आपको बताता हूं कि भाई एक मिडिल वेयर के अंदर क्या-क्या पावर रहती है। सुनो मिडिल वेयर सबसे पहले तो
रिक्वेस्ट के अंदर रिक्वेस्ट के उम अंदर जो भी डेटा आता है सब रीड कर सकते हैं। पहला सबसे
पहली बात तो यही है कि भाई रिक्वेस्ट के अंदर जो भी डेटा आता है मिडिल वेयर वो सारा डेटा रीड कर सकते हैं। साथ ही साथ
रिक्वेस्ट के अंदर जो डेटा आता है उसे मॉडिफाई भी कर सकते
हैं। मॉडिफाई भी
कर सकते हैं। ये एक दूसरी प्रॉपर्टी रहती है। साथ ही साथ मिडिल वेयर जो आपके रहते हैं किसी भी
टाइम पर या बोल सकते हो मिडिलवेयर रिस्पांस भी सेंड कर सकते हैं। मतलब कि मिडिल वेयर ये
सारी चीजें कर सकते हैं। हां, मिडिलवेयर ये सारी चीजें कर सकते हैं। रिक्वेस्ट के डेटा को पढ़ सकते हैं। रिक्वेस्ट के डेटा
को मॉडिफाई कर सकते हैं। और साथ ही साथ कभी भी रिस्पांस शेयर रिस्पांस वापस से सेंड कर सकते हैं। जैसे कि हमने यहां पर
एक मिडिलवेयर क्रिएट किया ऑथ आर्टिस्ट मिडिलवेयर। तो देखो अगर इसको टोकन नहीं मिलता तो ये मिडिल वेयर खुद ही रिस्पांस
वापस से सेंड कर देगा कि आप सॉरी आप अनअ ऑथराइज्ड हो। ये एक रिस्पांस यहां पे सेंड कर सकता है। अगर रोल आर्टिस्ट नहीं निकला
तो भी यहां पे रिस्पांस सेंड कर सकता है कि भ सॉरी आप यहां पे आर्टिस्ट नहीं हो। तो ये सारी चीजें मिडिलवेयर कर सकता है।
मिडिलवेयर एक पर्टिकुलर रिक्वेस्ट डॉट बॉडी के अंदर डेटा क्या आ रहा है उसको देख सकता है। उसे मॉडिफाई कर सकता है। साथ ही
साथ अपने हिसाब से कभी भी रिस्पांस वापस से सेंड कर सकता है। तो मिडिल वेयर बहुत ज्यादा पावरफुल होते हैं। अब सुनो हमने एक
मिडिल लगा दिया ऑथ आर्टिस्ट। तो ये जो हमने इन कंट्रोलर्स के अंदर ये जो लॉजिक हमने लिख के रखे थे इन लॉजिक्स की जरूरत
अब हमें यहां पे नहीं है। तो इन्हें अब हम यहां से हटा सकते हैं। भाई टोकन वोक चेक करने की इनकी नीड नहीं है क्योंकि ये
टोकन-वोकन चेक करना है। ये हमारे लिए हमारे मिडिल वेयर करके दे रहे हैं। तो इनकी नीड अब यहां पे नहीं है। दोनों ही
जगह पे मैं इन दोनों को हटाऊंगा और यहां से भी कैच वाला पार्ट हटेगा। बढ़िया। अब यहां पे बस मुझे एक चीज़ की
जरूरत पड़ने वाली है। दैट इज़ एल्बम डॉट आर्टिस्ट। क्योंकि मुझे अब आर्टिस्ट का नाम यहां पे नहीं मिलने वाला। सो हम यहां
पे क्या करेंगे? हम जो हमारा मिडिल वेयर है जैसे मैंने अभी तुम्हें बताया था कि मिडिलवेयर की तीन
प्रॉपर्टीज होती हैं कि रिक्वेस्ट के अंदर के डेटा को पढ़ सकते हैं। साथ ही साथ रिक्वेस्ट के अंदर जो डेटा आ रहा है उसे
मॉडिफाई भी कर सकते हैं। तो अब हम यहां पे वही करेंगे कि रिक्वेस्ट के अंदर जो डेटा आने वाला है उसे हम मॉडिफाई करेंगे। कैसे?
देखो मैं यहां पर रिक्वेस्ट डॉट यूजर नाम से रिक्वेस्ट के अंदर एक नई प्रॉपर्टी क्रिएट कर रहा हूं। उसका नाम क्या है?
यूजर। तो रिक्वेस्ट डॉट यूजर नाम से एक नई प्रॉपर्टी मैं क्रिएट करूंगा और इस प्रॉपर्टी की वैल्यू मैं क्या दे दूंगा?
डिकोडेड। और डिकोडेड के अंदर जो भी डेटा हमारे पास आ रहा होगा वो रिक्वेस्ट डॉट यूजर में क्रिएट हो जाएगा। तो क्या
रिक्वेस्ट डॉट यूजर नाम से पहले कोई वैल्यू एक्सिस्ट करती है? प्रॉपर्टी एक्सिस्ट करती थी रिक्वेस्ट में। नहीं। हम
यहां पर एक नई प्रॉपर्टी क्रिएट कर रहे हैं। रिक्वेस्ट के अंदर उसका नाम क्या है? यूजर। तो रिक्वेस्ट डॉट यूजर नाम से हम एक
नई प्रॉपर्टी क्रिएट कर रहे हैं। और इस प्रॉपर्टी की वैल्यू हम क्या दे रहे हैं? डिकोडेड। तो ये जो डिकोडेड वैल्यू रहेगी
ये आगे जो कंट्रोलर्स आने वाले हैं मेरी एपीआई पे। जैसे कि देखो अब होगा क्या? म्यूजिक राउट्स में अगर मैं तुम्हें बताऊं
पहले रिक्वेस्ट कहां पे जाएगी? पहली रिक्वेस्ट जाएगी ऑथ आर्टिस्ट मिडिलवेयर पे। इस मिडिलवेयर पे अगर हमें पता चलता है
कि भाई यूजर जो हमारा है उसका रोल आर्टिस्ट है। तो तभी हमारी रिक्वेस्ट आगे फॉरवर्ड होगी। लेकिन ये मिडिलवेयर क्या
करेगा? रिक्वेस्ट डॉट यूजर में एक नई प्रॉपर्टी ऐड कर देगा। और ये जो हमारी प्रॉपर्टी होने वाली है इस प्रॉपर्टी का
नाम क्या रहेगा? यूजर। तो रिक्वेस्ट के अंदर एक नई प्रॉपर्टी क्रिएट होगी। उसका नाम क्या रहेगा? यूजर। और इस प्रॉपर्टी की
वैल्यू हम क्या सेट करेंगे? डिकोडेड। बढ़िया। तो अब यहां पे होगा क्या? कि ये जो आपका मिडिल वेयर है जहां पे भी आप लगाओगे
अगर ये रिक्वेस्ट को आगे फॉरवर्ड कर रहा है तो उस रिक्वेस्ट के अंदर एक प्रॉपर्टी रहेगी। उसका नाम रहेगा यूजर। तो अब इस
कंट्रोलर के अंदर क्योंकि इस कंट्रोलर से पहले क्या लगा है? हमारा मिडिल वेयर। तो इस मिडिलवेयर ने रिक्वेस्ट डॉट यूजर नाम
से एक प्रॉपर्टी क्रिएट की होगी। और उस प्रॉपर्टी को मैं अपने कंट्रोलर के अंदर एक्सेस कर सकता हूं। तो अब देखो जहां पे
भी मुझे टाइटल या बोल सकते हो आर्टिस्ट की जरूरत है मैं इधर पे एक्सेस करूंगा रिक्वेस्ट
डॉट यूजर डॉट आईडी कुछ इस तरीके से एक्सेस करूंगा और सिमिलरली मैं यहां पर एक्सेस कर रहा हूंगा आर्टिस्ट
रिक्वेस्ट डॉट यूजर डॉट आईडी कुछ इस तरीके से तो जो हमारा एक रिपीिटेटिव कोड था वो कोड हमने यहां पे सॉल्व कर दिया है। अब
अगर मैं यहां पे आगे बढ़ता हूं। सर्वर मेरा यहां पे चलना चाहिए प्रॉपर तरीके से जो कि चल रहा है। पोस्टमैन पे आते हैं जो
हमारा रजिस्टर है। ठीक है? लॉग इन हमारा प्रॉपर तरीके से काम कर रहा था। अपलोड की अगर बात करता हूं। लेट्स से हम यहां पर एक
नया म्यूजिक अपलोड करवाते हैं। दिस वन इसे किया ओपन थ्री। इसे किया हमने सेंड। सेंड करने के
बाद जो हमारा म्यूजिक है वो यहां पे क्रिएट हो जाना चाहिए। बढ़िया। मतलब कि जो हमारा मिडिल वेयर है प्रॉपर तरीके से काम
कर रहा है और यह जो मेरा म्यूजिक है यह चलना चाहिए [संगीत]
जो हमारा म्यूजिक है वो यहां पे प्रॉपर तरीके से काम कर रहा है चल रहा है तो ये एक अच्छी चीज है। अब हमारे जो मिडिल वेयर
है, मिडिल वेयर हमने यहां पे इंप्लीमेंट कर लिए हैं। और मिडिल वेयर इंप्लीमेंट करने के बाद जो जो अभी हमारा फोल्डर
स्ट्रक्चर है वो फोल्डर स्ट्रक्चर थोड़ा बड़ा दिखना चालू हो चुका है। ये दो कंट्रोलर्स हैं, तीन मॉडल्स हैं। दो हमारे
पास राउट्स की फाइल हैं। फिर एक मिडिल वेयर है हमारे पास। एक सर्विस फाइल है। एक apps फाइल और एक server डॉट जेs फाइल। तो
जो हमारा अब एक फोल्डर है फोल्डर स्ट्रक्चर वो थोड़ा बड़ा दिखना चालू हो चुका है यहां पे। अभी खैर और भी बहुत सारी
फाइल्स बनती हैं। लेकिन उसको YouTube पे कंप्लीट करवाना बहुत बड़ा वीडियो जाता है वो। तो उसको इस पर्टिकुलर वीडियो में तो
कवर किया नहीं जा सकता सारी फाइल्स को। बट ठीक है। इतना भी बहुत इनफ रहता है। अब हम आगे बढ़ते हैं। तो हमने यहां पे दो
कंट्रोलर क्रिएट किए। दो एपीआई अभी तक क्रिएट कर चुके हैं हम म्यूजिक डॉट राउट्स के अंदर कि भाई आप एक पर्टिकुलर म्यूजिक
को क्रिएट कर सकते हो अगर आप एक आर्टिस्ट हो। साथ ही साथ आप एक एल्बम क्रिएट कर सकते हो सेम अगर आप एक आर्टिस्ट हो। अब हम
यहां पर कुछ और एपीआई क्रिएट करेंगे। ये एपीआई हमारी रहेंगी गेट मेथड की और ये क्या करेंगे? ये रहेगी अपनी स्लैश एपीआई।
इस एपीआई पे क्या होगा कि एक नॉर्मल यूजर एक नॉर्मल यूजर जितने भी म्यूजिक क्रिएट हुए होंगे हमारी एपीआई पे जितने भी
म्यूजिक हमारे सर्वर पे क्रिएट हुए होंगे वो सारे के सारे म्यूजिक यहां पे सुन सकता है। तो एक कंट्रोलर हम इसका क्रिएट
करेंगे। हमारे पास क्रिएट म्यूजिक कंट्रोलर ऑलरेडी है। क्रिएट एल्बम ऑलरेडी है। अ सिंक
फंक्शन टू गेट ऑल म्यूजिक्स रिक्वेस्ट एंड रिस्पांस हमारे पास आएगा। और इधर पे हम
क्या कर सकते हैं? कॉस्ट म्यूजिक = अवेड म्यूजिक मॉडल डॉट फाइंड और फाइंड के अंदर हम यहां पे
बोलेंगे कि भाई फाइंड हमने किया फाइंड के बाद रिस्पांस डॉट सेंड अ रिस्पांस डॉट सेंड नहीं स्टेटस 200 jसन फॉर्मेट में
मैसेज हम यहां पे पहले भेजेंगे म्यूजिक फैज सक्सेसफुली और जो हमारे म्यूजिकिक्स हैं इन्हें हम यहां पे लिसन कर रहे होंगे।
तो ये जो हमारा गेट ऑल म्यूजिक कंट्रोलर है इसे करेंगे यहां से एक्सपोर्ट गेट ऑल म्यूजिक और जो हमारी एपीआई है इस एपीआई
में म्यूजिक कंट्रोलर के अंदर गेट ऑल म्यूजिक को करेंगे यूज़। बढ़िया। तो अब अगर मैं आता हूं
और सर्वर बढ़िया चल रहा है। ओस्टमैन पे आते हैं। एक नई एपीआई मेथड हम इसकी रखेंगे गेट लोकल
पोस्ट कॉलन 3000 एपीआई म्यूजिक स्लश और अब अगर मैं इस पर रिक्वेस्ट सेंड करूंगा तो मेरे पास जितने
भी म्यूजिक क्रिएट होंगे मेरे सर्वर पे वो सारे के सारे म्यूजिक मेरे पास यहां पर लिस्ट हो जाएंगे। बढ़िया है। तो ये सारे के
सारे म्यूजिक मेरे पास लिस्ट हो चुके हैं। टेस्ट टाइटल, टेस्ट टाइटल टू एंड टेस्ट टाइटल थ्री। बढ़िया। ये सारे म्यूजिक मेरे
पास लिस्ट हो चुके हैं और उनको किन आर्टिस्ट ने क्रिएट किया है वो भी मेरे पास यहां पे आ रहा है लेकिन उसकी आईडी आ
रही है। अब पता है अब अगर तुम यहां पे आईडी रेफरेंस में देते हो और उसका रेफरेंस मतलब कि तुमने आईडी टाइप दे दिया ऑब्जेक्ट
आईडी और आर्टिस्ट का तुमने यहां पे आईडी पास कर दिया और उसका रेफरेंस भी तुमने बता दिया कि ये जो आर्टिस्ट की डिटेल है ये
तुम्हें यूजर कलेक्शन के अंदर मिल जाएंगे। तो पता है इसका फायदा क्या रहता है? तुम यहां पर जो तुमने गेट ऑल म्यूजिक के अंदर
फाइंड मेथड यूज़ किए थे इसमें अगर तुम पॉपुलेट और यूज़ कर लोगे और पॉपुलेट के अंदर तुम बता दोगे कि जो आर्टिस्ट है जो
तुम्हारा आर्टिस्ट है इसे पॉपुलेट करना है। अभी देखो आर्टिस्ट में अभी यहां पर क्या आ रहा था? सिर्फ आर्टिस्ट की आईडी आ
रही थी। लेकिन अगर तुम यहां पे पॉपुलेट यूज़ कर देते हो तो पता है अब क्या होता है? देखो इसको वापस से किया सेंड। बस एक
और मेथड मैंने एक्स्ट्रा ऐड किया हूं वहां पे। देखो अब यहां पे आर्टिस्ट की डिटेल आना चालू हो चुकी है कि भाई यहां पे उसका
आईडी हमारे पास ये है। यूजरनेम कुछ इस तरीके से है। ईमेल हमारे पास यहां पर है। तो आर्टिस्ट की पूरी डिटेल हमारे पास यहां
पे आना चालू हो जाती है। तो बस ये पॉपुलेट का फर्क होता है। तो पॉपुलेट कुछ इस तरीके से यूज़ किया जा सकता है कि भाई वो आईडी की
जगह पूरे आर्टिस्ट की डिटेल आपको ला के रख देगा। तो इस तरीके से हमें यूज़ कर सकते हैं। अगर मैं आपको एक बार फिर से इसमें
कुछ और हमारे पास सिलेक्शन होते हैं कि मुझे यहां पे यूजरनेम और ईमेल बस यही दोनों चीजें चाहिए। तो देखो अब क्या करते
हैं? सेंड किया तो अब मेरे पास यहां पे यूजरनेम और ईमेल। बस यही दोनों चीजें आएंगी। जो इसकी बाकी प्रॉपर्टीज थी जैसे
कि पासवर्ड वो मेरे पास यहां पे नहीं आ रहा होगा। तो कुछ इस तरीके से हम यहां पर पॉपुलेट मेथड का यूज़ कर सकते हैं। अब सुनो
यहां पे जो हमने एक एपीआई क्रिएट की है ये एपीआई क्या करती है कि इस जगह पे जितने भी हमने म्यूजिक क्रिएट किए होंगे वो सारे के
सारे म्यूजिक मुझे रिटर्न में तो कर देती है लेकिन प्रॉब्लम क्या है? इस पर्टिकुलर एपीआई पे कोई सा भी ऑथेंटिकेशन हमने नहीं
लगा के रखा है। अब ऑथेंटिकेशन हम कैसे लगा सकते हैं? उसको हम देखें। तो एक मिडिलवेयर जो हमारा फोल्डर है इस मिडिलवेयर फोल्डर
के अंदर हम एक और मिडिलवेयर क्रिएट करेंगे। और इस मिडिलवेयर का नाम क्या रखेंगे? अ सिंक
फंक्शन ऑथ ऑथ यूजर सेम तीन पैरामीटर हम यहां पे पास
करेंगे रिक्वेस्ट रिस्पांस और नेक्स्ट और देन इसके अंदर हम यहां पे टोकन चेक करेंगे तो कैप्स लॉ ऑन था कॉस्ट टोकन इक्व टू
रिक्वेस्ट कुकीज़ के अंदर टोकन और देन हम यहां पे चेक करेंगे भाई अगर टोकन नहीं मिला हमें अगर टोकन हमें यहां पे नहीं
मिलता है तो रिस्पांस डॉट स्टेटस 401 अनऑथराइज्ड और देन हम यहां पर चेक करेंगे कि भाई अगर टोकन आता है तो ट्राई एंड कैच
के अंदर हम यहां पे बोल सकते हैं कैच एरर और कैच एरर के अंदर हम यहां पे बोल सकते हैं कंसोल रिस्पांस स्टेटस 401 अनऑथराइज़
यहां पे बोल सकते हैं। अब देखो अब हमें यहां पे और क्या करना है कि भाई कॉस्ट डिकोडेड के अंदर चेक करेंगे कि jwटी डॉट
वेरीफाई jw डॉट वेरीफाई टोकन प्रोसेस jw सीक्रेट और jw सीक्रेट के अंदर जो भी डिकोड हमारे पास आया होगा उसे हम सेट कर
देंगे और कॉल कर देंगे नेक्स्ट को मतलब कि जो हमने पहले एक मिडिल वेयर क्रिएट किया था उसी की तरह है। बस यहां पे एक चीज़ हम
और चेक करेंगे कि इफ डिकोडेड डॉट रोल अगर यूजर के बराबर नहीं है तो हम
यहीं से रिटर्न कर जाएंगे। डूजर और आर्टिस्ट दोनों को ही काइंड ऑफ़ परमिशन दे सकते हैं। सो रिटर्न रिस्पांस स्टेटस 403
यू डोंट हैव एक्सेस बड़ी। तो दोनों को ही काइंड ऑफ़ गेट ऑल म्यूजिक। इसमें एज़ सच कोई प्रॉब्लम नहीं है। बट आई थिंक कंफ्यूजन ना
हो। तो आर्टिस्ट मैं अभी यहां से हटा रहा हूं। और बस एक चीज लगा रहा हूं कि भाई अगर आपका रोल यूजर नहीं है, अगर आपका रोल यहां
पे यूजर नहीं है तो आप सारे म्यूजिक को एक बार में फैच नहीं कर सकते। सिंपल सा है। कंफ्यूजन ना हो। बस इस वजह से ऐसा कर रहा
हूं। वरना आप चाहो तो यहां पे एंड एंड लगा के आर्टिस्ट भी यहां पे कर सकते हो। बढ़िया है। और अब अगर मैं हम आगे बढ़ें।
सो बढ़िया है। बस ये जो हमारा मिडिल वेयर है ऑथ यूजर इस ऑथ यूजर मिडिलवेयर को यहां से करेंगे एक्सपोर्ट। एक्सपोर्ट करने के
बाद जो हमारा म्यूजिक राउट्स है इसमें हम बोल सकते हैं ऑथ मिडिलवेयर डॉट ऑथ यूजर मिडिलवेयर का करेंगे यूज़। तब देखो होगा
क्या? अब देखो अब अगर मेरे पास पोस्टमैन में ये जो कुकीज़ हैं कुकीज़ लेट्स से मैंने हटा दिया। टोकन मैंने हटा दिया। और अब अगर
मैं रिक्वेस्ट करूंगा तो मेरे पास एरर आएगा 401 अनअथराइज़्ड। और अब अगर मुझे यहां पे लॉगिन करना पड़े तो लॉग इन अगर मैं यहां
पे करता हूं ये तो आर्टिस्ट है जो हमारा नॉर्मल टेस्ट @ test.com है ये हमारे नॉर्मल यूजर का है। सो टेस्ट नॉर्मल यूजर
ने लॉगिन किया कुकीज़ के अंदर हमारे पास टोकन आएगा और अब अगर म्यूजिक को मैं निकालता हूं तो सारे म्यूजिक मेरे पास आ
रहे हैं। अच्छा अब एक चीज और देखो कि अगर मैं यहां पे आर्टिस्ट के अकाउंट से लॉगिन करता हूं। सेंड किया आर्टिस्ट के अकाउंट
से लॉगिन किया। जो मेरे पास टोकन सेव हुआ होगा वो ऑफ कोर्स एक आर्टिस्ट का होगा और अब अगर मैं म्यूजिक निकालने की कोशिश
करूंगा तो मेरे पास आ जाएगा यू डोंट हैव एक्सेस ये मेरे पास यहां पे आ जाएगा तो एक रोल बेस्ड ऑथेंटिकेशन सिस्टम हम यहां पे
इंप्लीमेंट कर चुके हैं कि जो हमारी गेट म्यूजिक एपीआई है इस एपीआई पे जो हमारा नॉर्मल यूजर है वो तो म्यूजिक को लेकर आ
सकता है लेकिन जो हमारा एक आर्टिस्ट रहेगा वो इस एपीआई को यूज़ नहीं कर सकता। तो एक बढ़िया है। हमने एक और रोल बेस्ड एपीआई
डेवलप की है। अब इसके बाद हम यहां पर एक एपीआई और क्रिएट करेंगे। ये जो हमारी होने वाली है ये हमारी रहेगी राउटर डॉट गेट
स्लश एल्बम एल्बम्स। सेम मिडिल वेयर हम यहां पे यूज़ करेंगे और गेट ऑल एल्बम हम यहां पे यूज़ कर
सकते हैं। तो ये जो हमारा एक कंट्रोलर है ये कंट्रोलर हमें क्रिएट करना रहेगा। सो कंट्रोलर हम यहां पे क्रिएट कर सकते हैं।
अ सिंक फंक्शन अ म्यूजिक कंट्रोलर गेट ऑल एल्बम्स रिक्वेस्ट रिस्पांस और इधर पे हम यूज़ कर
सकते हैं कि भाई कॉन्स्ट एल्बम्स के अंदर सेम एल्बम हम यहां पे फाइंड एंड यूज़ कर सकते हैं। पॉपुलेट दिस दिस दिस
म्यूजिकिक्स। म्यूजिकिक्स की नीड काइंड ऑफ़ हां इनको भी हम पॉपुलेट कर सकते हैं। तो ओके और इसके बाद हम यहां पर बोलेंगे
रिस्पांस डॉट स्टेटस 200 और जेसन फॉर्मेट में हम यहां पे मैसेज भेजेंगे मैसेज एल्बम फ सक्सेसफुली और
एल्बम की डिटेल्स हम यहां पे शेयर कर सकते हैं। तो गेट ऑल एल्बम यहां से करेंगे एक्सपोर्ट और एक्सपोर्ट करने के बाद जो
हमारी एपीआई है इस एपीआई पे प्रॉपर तरीके से यूज़ को कर पाएंगे। टू गेट ऑल एल्बम्स पोस्टमैन पे आते हैं। पोस्टमैन के अंदर
आने के बाद लोकल होस्ट कॉलन 3000 एपीआई स्लश म्यूजिक स्लश एल्बम्स इसे किया हमने सेंड। सेंड
करने के बाद यू डोंट हैव एक्सेस क्योंकि हम आई थिंक अभी आर्टिस्ट के अकाउंट से हैं। अभी अगर मैं अगर नॉर्मल यूजर के
अकाउंट से आता हूं। सो यह अपना नॉर्मल यूजर एल्बम्स से अगर मैं अब आऊंगा तो यहां पर मैं प्रॉपर तरीके से इसे एक्सेस कर
सकता हूं। बढ़िया। तो अब हम यहां पे एक और एपीआई यहां पे डेवलप कर चुके हैं। इस एपीआई में क्या होगा? जितनी भी हमारे पास
एल्बम्स रहेंगी उन सभी का डेटा हमारे पास आ सकता है। अब देखो यहां पे अगेन फिर से कुछ ऑप्टिमाइजेशन की बात करते हैं। तो जब
आप स्पॉटिफाई में आप एप्लीकेशन ओपन करते हो तो वहां पे आपको एल्बम्स तो दिखते हैं लेकिन उनके अंदर म्यूजिक नहीं दिखता।
क्यों? क्यों? मतलब कि होम पेज की बात कर रहा हूं मैं। आपको डायरेक्ट एल्बम्स के टाइटल दिख जाएंगे। उनका पोस्टर आपको वहां
पे दिख जाएगा। उनके टाइटल आपको दिख जाएंगे। लेकिन वहां पे म्यूजिक लोड नहीं हो रहा होता। ऐसा क्यों? क्योंकि देखो अगर
आप हर बार एल्बम के अंदर इतने सारे म्यूजिक लोड करोगे जैसे कि यहां पे म्यूजिक का डाटा, ये एक म्यूजिक का डेटा,
तीन म्यूजिक के डेटा आपको दो म्यूजिक के डेटा आपको यहां पे मिल जाएंगे। तो प्रॉब्लम क्या होगी? प्रॉब्लम बस इतनी
रहती है कि हर बार इतना डेटा एक बार में ही देखो जैसे कि आपने मान लो स्पॉटिफाई में आपके होम स्क्रीन पे 10 एल्बम एक बार
में लोड हो रही है और 10 एल्बम के अंदर 50-50 वहां पे आपके पास सॉन्ग्स हैं। तो सम सोच रहे हो मतलब कि समवेयर अराउंड 500
सॉन्ग्स का डेटा एक बार में लोड होगा सीधा आपकी होम स्क्रीन पे। लेकिन ऐसा नहीं होता। अगर इतना सारा डेटा आपकी होम
स्क्रीन पे एक बार में लोड हो जाएगा तो होम स्क्रीन हैंग हो सकती है। वहां पे प्रोसेसिंग पावर बहुत ज्यादा लग सकती है।
प्रॉब्लम ये है तो इसको ऑप्टिमाइज कैसे करते हैं? तो इसको हम ऑप्टिमाइज कुछ इस तरीके से कर सकते हैं कि भाई इधर पे हम
आएंगे गेट ऑल एल्बम्स में जो पॉपुलेट वाला पार्ट है इसमें हम आर्टिस्ट को तो रखेंगे ही रखेंगे। लेकिन इधर पे हम एक चीज और
रखने वाले हैं। दैट इज़ सेलेक्ट। और सेलेक्ट के अंदर हम यहां पे टाइटल और आर्टिस्ट ये दोनों चीजें रखेंगे। लेकिन जो
हमारा म्यूजिक होने वाला है इसे हम यहां पे बोल सकते हैं माइनस म्यूजिक्स। तो म्यूजिक अब यहां पे नहीं आ रहा होगा। तो
अब एक बार इसे रन करके देखते हैं। सेंड किया। सेंड करने के बाद अ इंक्लूजन प्रोजेक्शन। ठीक है? तो म्यूजिकिक्स की आई
डोंट थिंक नीड है यहां पे। ठीक है? इसे किया सेंड। सेंड करने के बाद अब देखो यहां पे टाइटल और आर्टिस्ट जो मेरा एक एल्बम है
इसके अंदर मेरे पास टाइटल और आर्टिस्ट ये दोनों चीजें आ जाएंगी। लेकिन जो मेरे म्यूजिकिक्स हैं वो यहां पे नहीं आएंगे।
अच्छा अब म्यूजिक्स हम कैसे लेकर आएंगे? तो म्यूजिक लाने के लिए हम यहां पे एक एपीआई और डेवलप कर चुके हैं। कर सकते हैं
जो हमारी कौन सी रहेगी? राउटर डॉट गेट सश एल्बम्स सश एल्बम आईडी। और इस एल्बम आईडी के
अकॉर्डिंग हम यहां पे पर्टिकुलर एल्बम को ऐड कर सकते हैं। तो गेट एल्बम बाय आईडी। यह कंट्रोलर हम और क्रिएट करेंगे। सो अ
सिंक फंक्शन। अब तुम एक चीज नोटिस अगर करोगे तो तुम देखोगे हमें बहुत ज्यादा कोड नहीं लिखना पड़ रहा है। मतलब कि बहुत
ज्यादा फाइल्स नहीं क्रिएट करनी पड़ रही हैं। और हम जल्दी-जल्दी एपीआई डेवलप कर सकते हैं। ये होता है ये होता है जो एक
फोल्डर स्ट्रक्चर हमने फॉलो किया है। इस फोल्डर स्ट्रक्चर में शुरुआत में काफी टाइम लगता है। लेकिन एक बार तुम्हारा
फोल्डर स्ट्रक्चर अगर सेटअप हो गया तो तुम बहुत जल्दी-जल्दी जल्दी-जल्दी तरीके से फटाफट एपीआई क्रिएट कर सकते हो। तो ये एक
चीज रहती है। तो बस इस फोल्डर स्ट्रक्चर में शुरुआत में टाइम लगेगा लेकिन बाद में टाइम नहीं लगता है। तो बस इस चीज का ध्यान
रखना। तो एल्बम आईडी हमारे पास आएगी। इस एल्बम आईडी को हम निकालेंगे हमारे पैरम से। पैरम से निकालने के बाद हम यहां पर
कॉन्स्ट एल्बम फाइंड बाय आईडी पॉपुलेट आर्टिस्ट और यूजरनेम ईमेल और म्यूजिक को हम यहां पे पॉपुलेट करेंगे। और इतना करने
के बाद हम यहां पे बोल सकते हैं रिस्पांस या रिटर्न रिटर्न स्टेटस एल्बम फैज सक्सेसफुली और एल्बम की डिटेल्स हमें यहां
पे सेंड कर देंगे। गेट एल्बम बाय आईडी इसे हम यहां से करेंगे एक्सपोर्ट एक्सपोर्ट करने के बाद एक्सपोर्ट करने के बाद
म्यूजिक राउट्स गेट एल्बम बाय आईडी बढ़िया है और अब अगर मैं आता हूं पोस्टमैन पे वापस से इस एपीआई को अगर मैं हिट करता हूं
तो इस एल्बम की आईडी मेरे पास आ रही है और अब इतना करने के बाद वापस हम आते हैं लोकल पोस्ट कॉलन 3000 एपीआई
म्यूजिक स्लैश एल्बम्स स्लश एल्बम की आईडी और अब अगर इसे मैं सेंड करता हूं तो ये जिस भी एल्बम की आईडी
होगी वो एल्बम की आईडी मुझे यहां पे मतलब उस एल्बम की डिटेल्स मेरे पास पूरी आ जाएगी। देखो एल्बम फे सक्सेसफुली एल्बम की
आईडी एल्बम का टाइटल म्यूजिक कौन-कौन से हैं साथ ही साथ किस आर्टिस्ट का ये एल्बम है वो भी हमें यहां पे पता चल जाएगा। तो
ये एक पर्टिकुलर एपीआई अभी तक हम डेवलप कर चुके हैं। बढ़िया। अब हमने सबसे पहले एक एपीआई डेवलप किए थे। दैट इज दिस वन जहां
पे हमें सारे म्यूजिक मिल पा रहे थे। लेकिन अब एक चीज सुनो स्पॉटिफाई जो एक एप्लीकेशन होती है। हम एक्चुअल स्पॉटिफाई
तो बना नहीं रहे हैं लेकिन उसको समझते हुए हम अपने स्पॉटिफाई को क्लोन कर रहे हैं। तो देखो होता क्या है जब हम एक्चुअल
स्पॉटिफाई की बात करते हैं वहां पे मिलियंस में सॉन्ग्स हैं। लिटरली मिलियंस में सॉन्ग्स पड़े हुए हैं। और ये जो आपकी
एपीआई है गेट ऑल म्यूजिक ये क्या करती है? ये जितने भी सॉन्ग्स आपके डेटाबेस में होंगे वो एक ही बार में सारे लेकर आती है।
फाइंड फाइंड मेथड क्या करती है? फाइंड मेथड जितने भी सॉन्ग्स आपके डेटाबेस में है वो सारे सॉन्ग्स एक ही बार में लेकर आ
देती है। जो कि प्रॉब्लम है जो कि प्रॉब्लम है। हां बिल्कुल है। क्यों? क्योंकि मिलियंस ऑफ सॉन्ग का डेटा अगर एक
बार में लोड हो गया आपके सर्वर में। इवन डेटाबेस में वो सॉन्ग रखा वो समवेयर अराउंड GB 2-3 GB में वो सॉन्ग जा रहा
होगा। 2-3 GB में वो पूरा डाटा जा रहा होगा। 2- 3 GB से इवन ज्यादा हो सकता है। लेकिन अगर इतना GB ऑफ़ डाटा एक बार सर्वर
की रैम में भी अगर आ गया तो प्रॉब्लम पता है क्या होगी? सर्वर की रैम फुल हो जाएगी। आउट ऑफ मेमोरी वो जाएगा और सर्वर बंद कर
सकता है रिक्वेस्ट को एक्सेप्ट करना। और अगर सम हाउ आपका सर्वर मैनेज कर लेता है इतनी रैम को एक बार में तो क्लाइंट पे आप
कैसे भेजोगे? समझ रहे हो आप? 2.5 GB या 3GB का डाटा इंटरनेट से भेजने के लिए सर अपने आपके क्लाइंट पे। क्लाइंट का तो पूरा
डाटा एक ही बार में खत्म हो जाएगा। प्रॉब्लम ये है। तो हम यहां पे करते क्या है? पूरे डेटा को पूरे म्यूजिक को एक बार
में नहीं लेकर आते। हम यहां पे यूज़ करते हैं लिमिट का। लिमिट मतलब क्या? देखो पॉपुलेट तो हम यूज़ करेंगे ही करेंगे। साथ
ही साथ हम यहां पे और भी चीजों का यूज़ करते हैं। कि भाई फाइंड करो लेकिन लिमिट में फाइंड करो। कितना? कि भाई एक बार में
आप मैक्स टू मैक्स 20 सॉन्ग को लेकर यहां पर आओगे। लेकिन 20 सॉन्ग अभी हमारे पास है नहीं। तो मैं यहां पे बोल रहा हूं कि एक
बार में हमारे पास टोटल जो म्यूजिक्स हैं जो हमारे पास टोटल म्यूजिक हैं वो कितने हैं? हमारे पास टोटल म्यूजिक हमारे पास आई
थिंक यहां पे तीन है और मैंने यहां पे अब लिमिट लगा दिया कि आप एक बार में दो ही म्यूजिक को लेकर आ सकते हो। तो देखो अब
अगर मैं पोस्टमैन पे आता हूं ये जो मेरी म्यूजिक वाली एपीआई है अब अगर मैं इसे हिट करूंगा सेंड किया तो देखो मेरे पास एक
टाइम पे कितने म्यूजिक आ रहे हैं? दो म्यूजिक आ रहे हैं टोटल। तो लिमिट मैंने कितनी लगा के रखा हूं? दो की। अच्छा अगर
मैं इसको एक कर दूं तो तो अब मेरे पास यहां पे सिर्फ एक म्यूजिक मेरे पास पर्टिकुलर आएगा। तो आप यहां पे लिमिट भी
लगा सकते हो। लिमिट लगाने के बाद अगर मैं यहां पे तीन कर देता हूं। तीन जितने आपके पास है वो तीन के तीन यहां पे आ जाएंगे।
अच्छा अगर मैंने इसको 10 कर दिया तो 10 तो मेरे पास म्यूजिक ही नहीं है। फिर भी तीन ही आएंगे। क्यों? क्योंकि देखो
जो आपका 10 है ये एक अपर लिमिट है। ये लिमिट है कि भाई मैक्स टू मैक्स 10 आ सकते हैं। 10 से ज्यादा यहां पर नहीं आएंगे।
अच्छा। ठीक है? अब जैसे कि मान लो मैंने एक लिमिट लगा के रखा हूं। एक चीज एक मेथड और सुन लो। स्किप। स्किप क्या करती है?
जितने भी तुम यहां पे स्किप बोलोगे उतने ही स्किप यहां पर हो जाएंगे। तो स्किप लेट्स से मैंने यहां पे बोल दिया डॉट
स्किप। स्किप में मैंने यहां पे बोल दिया कि भाई दो सॉन्ग को आप स्किप करना और जो आपका तीसरा दो सॉन्ग स्किप करने का देखो
हमारे पास टोटल कितने सॉन्ग्स हैं? हमारे पास यहां पे टोटल तीन सॉन्ग्स हैं। तो पहला और दूसरा इन दोनों को स्किप किया
जाएगा और ये वाला सॉन्ग हमारे पास आ जाएगा। तो अब देखो अगर मैं यहां पे बोलता हूं कि भाई पहला और दूसरा स्किप किया और
जो टेस्ट टाइटल थ्री है ये म्यूजिक हमारे पास आ चुका है। सिमिलर वे पे अगर मैं यहां पे एक स्किप करता हूं तो जो मेरा पहला
म्यूजिक है इसे स्किप किया जाएगा और यहां से हम काउंट करेंगे। तो देखो एक स्किप करा एक स्किप किया तो अब दूसरा यहां पर आएगा।
और अब देखो अगर मैं यहां पे लिमिट लगा देता हूं दो की। तो स्किप और लिमिट पेजिनेशन में इन दोनों चीजों का बहुत
ज्यादा यूज़ होता है स्किप और लिमिट का। तो पेजिनेशन आप इससे इंप्लीमेंट कर सकते हो। पेजिनेशन क्या होता है? कमेंट करना उस पे
बहुत डिटेल में एक मैं वीडियो बना दूंगा। अगर तुम्हें पेजिनेशन समझना रहेगा तो उस पे एक डिटेल में बहुत बना दूंगा मैं कि
भाई पेजिनेशन एग्जैक्टली होता क्या है? तो देखो अब जो पहला था हमने यहां पे स्किप कितना किया? एक स्किप किया और लिमिट हमने
यहां पे किया दो कि भाई एक टाइम पे मैक्सिमम दो सॉन्ग्स यहां पे आ सकते हैं। तो देखो पहला वाला स्किप होगा और जो फिर
इसके पहले के बाद जो लगातार दो आएंगे वो हम यहां पे फैच कर लेंगे। तो देखो वही दो हमारे पास आ रहे हैं। पहला वाला स्किप
हुआ। अगले दो हमारे पास आ जाएंगे। तो पोस्टमैन में आपको वहीं पे दिख रहा होगा कि भाई पहला तो आ नहीं रहा है। जो दूसरा
और तीसरा है ये हमारे पास प्रॉपर तरीके से आ रहा है। अच्छा और अब अगर मैंने यहां पे तीन लगा दिया तो अब क्या होगा? सुनो पहला
वाला तो अगर तुमने यहां पे लिख दिया स्किप वन तो एक तो स्किप होगा ही होगा। अच्छा और अगर मैंने यहां पे तीन के तीन स्किप कर
दिए तो तो अब देख लो क्या होगा? अब एक भी नहीं आएगा तुम्हारे पास क्योंकि तुम्हारे पास तीन थे। तीनों को तुमने स्किप कर
दिया। तो अब एक भी यहां पर नहीं आ रहा होगा। ये एक चीज़ यहां पे होने वाली है। अच्छा। और अगर ज़ीरो स्किप किया तो ज़ीरो
अगर स्किप करते हो तो ज़ीरो स्किप होंगे और लगातार तीनों यहां पे टेस्ट टाइटल वन, टू एंड थ्री तीनों यहां पर आ जाएंगे। तो कुछ
इस तरीके से ये काम करता है। तो आई होप ये जो एक बहुत मिनी प्रोजेक्ट हमने क्रिएट किया बैक एंड में जिसमें हमने बहुत सारी
एपीआई डेवलप किए हैं। ये एपीआई ये प्रोजेक्ट आपको समझ में आया होगा। अगर यह प्रोजेक्ट समझ में नहीं आया है तो एक बार
फिर से वीडियो को देखो क्योंकि ये प्रोजेक्ट इंपॉर्टेंट है। सुनो ये प्रोजेक्ट काफी इंपॉर्टेंट है। अगर तुम
इसका फ्रंट एंड क्रिएट कर सकते हो क्योंकि एपीआई हम ऑलरेडी डेवलप कर चुके हैं। इन एपीआई के साथ लॉग इन रजिस्टर की एपीआई
डेवलप करो। और अच्छा यहां पे अगर तुम्हें थोड़ा सा चाहिए कि भाई लॉगउ कैसे करना है? तो लॉगउ इज़ लिटरली वेरी इजी। बस ऑथ
कंट्रोलर के अंदर जो मेरा ऑथ कंट्रोलर है यहां पर मुझे एक पर्टिकुलर कंट्रोलर और डेवलप करना रहेगा। दैट इज़ लॉगउ। सो अ सिंक
फंक्शन लॉगउ यूजर और लॉगउ यूजर में बस एक फंक्शन यूज़ होता है। रिस्पांस डॉट क्लियर कुकी और जो हमारा टोकन रहेगा ये कुकीज़ से
क्लियर हो जाएगा। तो देखो लॉगउ यूजर जो हमारा रहेगा ये लॉगउ यूजर हमने यहां से एक्सपोर्ट किया। ऑथ राउट्स के अंदर एक और
हम क्रिएट करेंगे राउटर डॉट पोस्ट स्लैश लॉगउ और लॉगउ यूजर हम यहां पे यूज़ करेंगे। तो अभी अगर मैं देखता हूं कुकीज़ के अंदर
हमारे पास टोकन आ रहा है। एक एपीआई हम क्रिएट करते हैं। मेथड रहेगी इसकी पोस्ट लोकल पोस्ट कॉलन 3000 एपीआई स ऑथ
स लॉगउ और अब देखना अभी यहां पे कुकीज़ के अंदर टोकन है अपने पास। जैसे ही मैं इस एपीआई को हिट करूंगा तो यूजर लॉगउ
सक्सेसफुली आएगा और साथ ही साथ कुकीज़ के अंदर जो टोकन रहेगा वो टोकन चला जाएगा। मतलब क्या होता है? इसका लॉगउ करना होता
है। अब सुनो एक चीज। ये जो लॉगउ मैंने तुम्हें अभी बताया हूं ये बिगिनर लेवल पे काफी बढ़िया है। जब प्रोडक्शन लेवल पे हम
जाते हैं तो हम एक कांसेप्ट को फॉलो करते हैं जिसका नाम होता है टोकन ब्लैकलिस्टिंग। ताकि भाई ये जो सेम टोकन
है वो वो कोई दूसरा यूजर एक्सेस ना कर पाए इस यूजर के बिहाफ पे। तो टोकन ब्लैक लिस्टिंग एक और कांसेप्ट होता है। अगर वो
तुम समझना चाहो तो उसके लिए तुम मुझे कमेंट कर देना। उस पे एक डेडिकेटेड वीडियो जाएगी क्योंकि वो बहुत बड़ा टॉपिक है।
उसमें बहुत सारे एज केसेस कवर होते हैं जो इस वीडियो में कवर करना थोड़ा सा मुश्किल हो सकता है। तो अगर तुम जानना चाहो कि भाई
टोकन ब्लैक लिस्टिंग क्या होती है तो मुझे कमेंट करके बताओ नीचे कि हां हमें जानना है तो उसके बारे में हम बात करेंगे। बढ़िए
जो हमारे लॉग आउट हो चुके हैं और फिर हमने म्यूजिक राउट से रिलेटेड म्यूजिक की एपीआई हमने कुछ यहां पे डेवलप किए थे। तो ये
एपीआई हमारी कंप्लीट हो चुकी है और इन सारे के कंट्रोलर्स हम यहां पे अलग देखो एपीआई अलग फोल्डर अलग फाइल्स में क्रिएट
होंगी और उनके लॉजिक्स अलग फाइल्स में क्रिएट किए जाते हैं। ये अपना एक बेसिक फोल्डर बेसिक तो नहीं प्रोडक्शन लेवल का
फोल्डर स्ट्रक्चर हम यहां पे फॉलो करते हैं। बढ़िया। तो इसी के साथ जो हमारा एक प्रोजेक्ट कंप्लीट होता है स्पॉटिफाई
क्लोन बैक एंड उसका लगभग कंप्लीट हो चुका है। इससे बड़ा भी हम क्रिएट कर सकते हैं बिल्कुल और ऑप्टिमाइज कर सकते हैं विद द
हेल्प ऑफ रेडिस जो हमारा मिडिल वेयर है मिडिल वेयर में हम रेडिस लगा के इसको और ऑप्टिमाइज कर सकते हैं। और भी बहुत सारे
तरीके हैं इसे ऑप्टिमाइज करने के। लेकिन ये एक बिगिनर फ्रेंडली वीडियो है। तो इसके हिसाब से मैं इसको अभी रखूंगा। अगर
तुम्हें कुछ स्पेसिफिक नीड चाहिए इस पर्टिकुलर वीडियो में तो वो कमेंट कर देना नीचे। उस पे भी हम बात करेंगे। बस टाइम
मेंशन करते रहना कि इस पर्टिकुलर पार्ट में हमें ये वाला पार्ट भी चाहिए। इस वीडियो के इस पर्टिकुलर सेकंड में हमें ये
डिमांड भी चाहिए। तो वहां पे एक कमेंट कर देना। कमेंट अगर ज्यादा रहेंगे तो उस पे फिर बात करते हैं। ठीक है? अब सुनो ये
वाला प्रोजेक्ट हमारा यही कंप्लीट होता है। लेकिन कुछ और मिसलनियस टॉपिक्स अभी बचे हुए हैं हमारे। उनप हम बात करनी है।
बहुत क्विकली हो जाएगा वो वाला काम भी। ये जो कोड तुम देख रहे हो ये कोड तुम्हें मिल जाएगा। बहुत अभी इसी वीडियो के
डिस्क्रिप्शन में। ये कोड भी तुम्हें मिल रहा होगा। तो वहां पे ये कोड देख लेना और आई थिंक बस इस प्रोजेक्ट में तो इतना ही
रखते हैं। अब कुछ मिसलेनियस टॉपिक हमारे बच रहे हैं उन पे हम बात करते हैं। चलो तो भाइयों अभी हमने यहां पे हमारा प्रोजेक्ट
कंप्लीट किया और जितना अभी तक इस वीडियो में हो चुका है उतना लिटरली इनफ है। आप बैक एंड से कुछ भी क्रिएट कर सकते हो उन
चीजों की मदद से। अब अगर आपको इससे ज्यादा बैक एंड सीखना है, जनरेटिव एआई साइड जाना है, डेवप साइट जाना है, तो उसके लिए मैं
आपको एक रिसोर्स बता रहा हूं जिसका नाम क्या है? कोड। Sharियंस का कोड। शेरियंस का जो कोडर वाला बैच रहता है कोडक्स जो
अभी आने वाला होगा। सो वहां पे आप जॉइ कर सकते हो। क्या मैं इनको प्रमोट कर रहा हूं? हां बिल्कुल मैं प्रमोट कर रहा हूं।
क्यों कर रहा हूं? बेस्ट है ये। आपको इंडस्ट्री में इनसे अच्छी चीजें कहीं और नहीं मिलने वाली। वहां पे मैं रहता हूं।
सार्थक भैया रहते हैं। बड़े भैया मतलब हर्ष भैया रहते हैं और मैं खुद रहता हूं। ऑफ कोर्स और भी कुछ इंस्ट्रक्टर वहां पे
आपको मिलते हैं। प्लस मेंटर का सपोर्ट आपको मिलता है। तो इन सारी चीजों के साथ और जो प्राइस आपको वहां पे मिलता है एक
प्राइसिंग रेंज जो आपको वहां पे मिलेगी वो उस चीज को उस पूरी इंडस्ट्री में सबसे अच्छा बना रही होती है। तो क्या मैं यहां
पे चीजें प्रमोट कर रहा हूं? हां बिल्कुल कर रहा हूं। यही हमारा काम है। लाइक देखो यार फ्री में जितना मैं आपको चीजें दे
सकता था उस वीडियो में मैं ऑलरेडी दे चुका हूं। इस वीडियो में ऑलरेडी मैं दे चुका हूं। आगे कुछ और चीजें मैं आपको प्रोवाइड
करूंगा जनरेट एवीआई से रिलेटेड फ्री में जो मैं आपको दे सकता हूं वो मैं आपको और दूंगा अभी अभी टेंशन मत लो कि भाई इतना ही
फ्री में दे सकता हूं नहीं जितना भाई देखो मुझे पता है सब लोग नहीं खरीद सकते लेकिन जितना मैं फ्री में दे सकता हूं मैं
बिल्कुल प्रोवाइड करूंगा आपको इस YouTube पे लेकिन आपको अगर और भी चीजें सीखनी है तो आप हमारे कोहड हमारे जो बाकी बैचेस हैं
उनमें आ सकते हो इन द एंड देखो यार यह है एक कंपनी 50 लोगों का 50 लोगों की जो फैमिली है वो इस चीज पे टिकी रहती है और
यह यह जो कंपनी है शेरियंस ये कैसे कमाती है? तो उसके लिए ऑफ कोर्स हमें कोर्स बेचने पड़ते हैं। ऑफ कोर्स हम एक एजुटेक
कंपनी है तो उसमें हमारे कोर्स बिकते हैं और उससे ही हमारी इनकम आती है। उससे ही हम सभी का घर चल रहा होता है। तो ऑफ कोर्स
मैं चीजें जो भाई एक सिंगल सोर्स ऑफ इनकम है हमारा उसको मैं प्रमोट बिल्कुल करूंगा। बिल्कुल करूंगा। वही हमारा एक सिंगल सोर्स
ऑफ इनकम है। हम नहीं ब्रांड डील्स उठाते। हम वहां पे कुछ ऐसे कोलबेशन एंड ऑल उन साइट पे अभी नहीं जाते हैं। तो एक सिंगल
सोर्स ऑफ इनकम है। वही मैं आपके लिए प्रमोट करके दे रहा हूं। और ऐसा नहीं है कि खराब चीज प्रमोट कर रहा हूं। भाई बेस्ट
है वो वो बेस्ट है। उससे अच्छा आपको पूरी इंडस्ट्री में कहीं नहीं मिलने वाला इसलिए बोल रहा हूं इतना। वरना इतना बोलता ही
नहीं। जिस चीज को मुझे पता है कि खराब होगी। मैं उस चीज को प्रमोट करूंगा भी नहीं। ये एक चीज है। हमारी चीज वहां पे
बेस्ट है इसलिए मैं प्रमोट कर रहा हूं। अब कुछ मिसलेनियस टॉपिक हमारे यहां पे बच रहे हैं जिसमें दो टॉपिक हैं। एक है जस्ट
दूसरा है हमारा एक्सप्रेस वैलिडेटर। तो ये दोनों चीजें क्या होती हैं इस पे हम बात करते हैं। तो पहले हम यहां पे बात करेंगे
जस्ट पे। तो जस्ट किस काम में आ रहा होता है? तो देखो यहां पे सबसे पहले जो हमारा एक बेसिक एक्सप्रेस सेटअप होता है उस पे
मैं बात करूंगा। सो एनपीएम इन hony यह हमारा एक बेसिक एक्सप्रेस सेटअप जाएगा। और एनपीएमआई एक्सप्रेस अगर मैं यहां पर करता
हूं एक्सप्रेस एंटर किया एनपीएमआई एक्सप्रेस इंस्टॉल करने के बाद हमारा जो एक सर्वर रहेगा सर्वर को स्टार्ट करना
इट्स प्रीटी ईजी जस्ट आओ एक फोल्डर क्रिएट करो sआरसी फोल्डर के अंदर apps फाइल में इसे तुम क्रिएट कर सकते हो
कॉस्ट एक्सप्रेस = रिक्वायर एक्सप्रेस और देन कॉस्ट एप = एक्सप्रेस इतना हम यहां पे बोल सकते हैं और मॉड्यूल डॉट एक्सपोर्ट ऐप
हम यहां पे बोलेंगे और सर्वर स्टार्ट करने के लिए एक फाइल हम यहां पे और क्रिएट करेंगे सर्वर डॉट जेएस बढ़िया तो कॉस्ट ऐप
इक्व टू रिक्वायर एसआरसी के अंदर ऐप एंड ऐप डॉट लिसन पोर्ट नंबर 3000 कॉल बैक और कॉल बैक के अंदर सर्वर इज़ रनिंग ऑन दिस
पर्टिकुलर एड्रेस यहां पे लिख सकते हैं। बढ़िया। और अब अगर मैं पैकेज डॉट जेसन फाइल में आता हूं। हूं। पैकेज डॉट jsn फाइल में
आने के बाद यह जो टेस्ट स्क्रिप्ट है इसे मैं हटा सकता हूं। डेव के अंदर मैं यहां पे लिख सकता हूं एनपीx नोडम ऑन सर्वर डॉट
जेs और स्टार्ट के लिए स्टार्ट के लिए मैं यहां पे लिख सकता हूं नड सर्वर डॉट जेएस। बढ़िया तो अब अगर मैं यहां पे लिखता हूं
एनपीएम रन तो जो मेरा सर्वर रहेगा वो सर्वर यहां पे सक्सेसफुली स्टार्ट हो जाएगा। अब देखो
जो एक पैकेज हमें पढ़ना है उस पैकेज का नाम क्या है? चेस्ट। उस पैकेज का नाम क्या है? jest अब जेस्ट किस काम में आता है?
जस्ट जावास्क्रिप्ट से जो भी आप क्रिएट करते हो वो रिएक्ट से आपने क्रिएट किया हो या एक्सप्रेस की हेल्प से आपने सर्वर
क्रिएट किया हो। जावास्क्रिप्ट की हेल्प से आप जो भी क्रिएट कर रहे हो वो सही तरीके से काम कर रहा है या नहीं कर रहा है
उसको टेस्ट करने के काम में आता है आपका जस्ट पैकेज। अब जब मैं जस्ट से एक्सप्रेस सर्वर को टेस्ट करना रहता है तो मुझे एक
पैकेज की यहां पे जरूरत और पड़ती है जिसका नाम क्या है? सुपर टेस्ट। तो ये एक पैकेज मुझे यहां पे जरूरत और पड़ेगी। तो इन
दोनों पैकेज को हमें इंस्टॉल करना है। अब एनपीएमआई चेस्ट को हम इंस्टॉल करेंगे और साथ ही साथ जो हमारा सुपर
टेस्ट है इन दोनों पैकेज को यहां पे इंस्टॉल कर रहे होंगे। तो चेस्ट और सुपर टेस्ट दोनों को इंस्टॉल करेंगे और इंस्टॉल
करने के बाद हम यहां पर एक पर्टिकुलर फोल्डर क्रिएट करेंगे। तो ये इंस्टॉल हो रहा है। बढ़िया इंस्टॉल हुआ। और इंस्टॉल
होने के बाद एसआरसी के अंदर हम एक पर्टिकुलर फोल्डर क्रिएट करेंगे। अंडरस्कोर अंडरस्कोर टेस्ट अंडरस्कोर या
इसका नाम टेस्ट दे सकते हैं। और हम यहां पर एक फाइल क्रिएट करेंगे अंडरस्कोर ऐप डॉट टेस्ट डॉट js ये एक फाइल हम क्रिएट कर
सकते हैं। इधर पे हमें जरूरत पड़ेगी कॉस्ट रिक्वेस्ट रिक्वेस्ट सुपर टेस्ट मतलब कि किस तरीके
से हम सुपर टेस्ट को यूज़ कर सकते हैं। वो अभी हम मेनली यहां पे डिस्कस कर रहे हैं। तो सुपर टेस्ट हम यहां पे लेकर आएंगे और
सुपर टेस्ट लेकर आने के बाद हमें यहां पर apps की अगर मैं बात करता हूं तो एक सिंपल एपीआई मैं क्रिएट कर रहा हूं। लेट्स से
app डॉटg हमारी एपीआई रहेगी और इस एपीआई के कॉल बैकक में बहुत ज्यादा अभी प्रोडक्शन लेवल
पे नहीं जा रहे। प्रोडक्शन लेवल ऑलरेडी मैं वीडियो के अंदर बता चुका हूं आपको। तो उसे आप देखो एंड रिस्पांस डॉट सेंड में
इसे थोड़ा सा हम लिख सकते हैं रिस्पांस डॉट स्टेटस 200 और jसन फॉर्मेट में जेसन फॉर्मेट में हम एक मैसेज भेजेंगे।
हेलो वर्ल्ड। बढ़िया। तो यह एक एपीआई क्रिएट कर दी। अब सुनो जस्ट किस काम में आता है? जस्ट हमारे काम में आ रहा होता है
कि भाई जो भी आप एपीआई डेवलप कर रहे हो वो एपीआई सही तरीके से रिस्पांस भेज रही है या नहीं भेज रही है? वो इस काम में इस चीज
को टेस्ट करने के काम में हमारा जस्ट आता है। अब इसको कैसे करते थे? तो देखो मैं यहां पे आके बोल रहा हूं कि डिस्क्राइब
डिस्क्राइब और डिस्क्राइब में हम यहां पे बोल सकते हैं या सबसे पहले हमें यहां पे जरूरत पड़ेगी कॉन्स्ट ऐप की। तो इक्व
रिक्वायर और रिक्वायर हम यहां पर बोलेंगे कि ऐप जो आपकी फाइल है fjs फाइल इसे कर लो रिक्वायर। अब देखो डिस्क्राइब के अंदर मैं
बोलूंगा कि भाई जिस एपीआई को मुझे टेस्ट करना है उसका नाम हम जनरली यहां पे लिखते हैं। और देन इधर पे हमारे पास आता है एक
कॉल बैक और इस कॉल बैकक के अंदर हम लिखेंगे अलग-अलग टेस्ट केसेस। जैसे कि ये जो हमारी स्लैश एपीआई है जब मैं इस पे
रिक्वेस्ट करूंगा तो स्टेटस कोड मेरे पास क्या रिटर्न में आना चाहिए? 200 और jसन फॉर्मेट में बॉडी के अंदर मैसेज के अंदर
हेलो वर्ल्ड मेरे पास आना चाहिए। तो इधर पे मैं लिखूंगा कि इट इट शुड रिटर्न स्टेटस कोड 200 ओके और साथ ही
साथ अब देखो यहां पे मैं क्या बोल रहाऊंगा इस जगह पे मैं बोलूंगा कि एक कॉन्स्ट रिस्पांस जो मेरे पास आएगा तो अब एट में
हम क्या बोलेंगे जो हमने रिक्वेस्ट सुपर टेस्ट जो हमने रिक्वेस्ट नाम से रिक्वायर करके रखा था इसे हम यहां पे करेंगे
रिक्वेस्ट सो रिक्वेस्ट और रिक्वेस्ट हम किससे कर पाएंगे जो हमारे ऐप का इंस्टेंस है देखो
ये ऐप कहां से आया ये ऐप हमारा एक्सप्रेस सर्वर का इंस्टेंस था। तो ये ऐप यहां से आ रहा है। तो ऐप यहां से आया। इस पे हम गेट
मेथड पे जो हमारी स्लैश एपीआई इस पे करवाई रिक्वेस्ट और रिक्वेस्ट करने के बाद रिस्पांस एक्सपेक्ट हम क्या करेंगे कि भाई
एक्सपेक्ट एक्सपेक्ट हम करवाएंगे कि रिस्पांस के अंदर जो स्टेटस कोड रहेगा वो क्या रहेगा? टू बी टू बी वी कैन से टू बी
200 और साथ ही साथ बॉडी के अंदर जो हमारे पास रिक्वेस्ट रिस्पांस के अंदर बॉडी आने वाली रहेगी वो एक ऑब्जेक्ट रहेगी और
ऑब्जेक्ट के अंदर एक मैसेज हेलो वर्ल्ड यहां पर आना चाहिए। तो ये हमने एक टेस्ट केस यहां पे लिख दिया। अब देखो इतना किया।
इतना करने के बाद अब अगर मैं यहां पर एनपीx जस्ट रन करता हूं तो जो मेरे टेस्ट केस है वो टेस्ट केस यहां पर रन हो
जाएंगे। देखो यहां पर टेस्ट केस रन हुआ और कैसे रन हुए मैं बता रहा हूं। देखो हमने एक टेस्ट केस बनाया जिसका नाम क्या रखा?
गेट स्लैश कि भाई गेट गेट मेथड की जो स्लैश एपीआई है इस पे हम टेस्ट रन कर रहे हैं। और इस पे एक टेस्ट केस है कि अगर इस
पे प्लेनली मैं रिक्वेस्ट करूंगा मतलब कुछ मैंने उस पे मॉडिफिकेशन नहीं किया। सिंपल अगर रिक्वेस्ट जाएगी तो स्टेटस कोड मेरे
पास 200 यहां पर आना चाहिए। तो देखो शुड रिटर्न 200 ओके। तो ये प्रॉपर टेस्ट केस पास हुआ। कितना टाइम इसको लगा? 27 मिलीसे
यहां पे लगे। टेस्ट सूट्स ये हमारे यहां पे पास हो रहा है सक्सेसफुली। बढ़िया है और टेस्ट में एक टेस्ट केस यहां पे पास हो
रहा है। अच्छा अगर ये आपने टेस्ट केस यहां पे लिख दिया। टेस्ट केस में आपने क्या बोला कि अगर स्लैश एपीआई पे मैं रिक्वेस्ट
करूंगा तो स्टेटस कोड 200 आना चाहिए और मैसेज मेरे पास हेलो वर्ल्ड यहां पे आना चाहिए। अच्छा और अगर आपका किसी भी कारण से
मान लो कि सर्वर आपका डाउन है। सर्वर किसी भी कारण से स्टार्ट नहीं हो पा रहा और स्टेटस कोड आपका जा रहा है 500। तो देखो
अब यहां पे एनपीx जस्ट अगर मैं रन करूंगा तो अब देखो यहां पे स्टेटस कोड क्या आएगा? कि जो आपने एक टेस्ट केस बनाया था जो
स्टेटस कोड 200 रिटर्न करना चाहिए था वो फेल हो रहा है और फेल यहां पे क्या हो रहा है कि एक्सपेक्टेड स्टेटस कोड 200 है
लेकिन रिसीव कौन सा हो रहा है 500 और किस लाइन में लाइन नंबर 10 में ये टेस्ट केस आपने यहां पे एग्जैक्टली लिखा था तो ये
फेल हो रहा है तो जस्ट हम यूज़ करते हैं हमारी एपीआई को टेस्ट करने के लिए तो सिर्फ ये तो एक बहुत बेसिक सा यूज़ केस था
हम इसको बहुत ऊपर लेवल पे यूज़ कर रहे होते हैं अब इसके अलावा इसके अलावा हम एक चीज और इंप्लीमेंट करते हैं क्या देखो देखो
हमें यहां पर एक चीज और इंप्लीमेंट करनी है। तो टेस्ट तो हमने यहां पे लिख दिया app डॉट जेस के अंदर मैं एक एपीआई क्रिएट
कर रहा हूं। app डॉट पोस्ट app डॉट पोस्ट सश रजिस्टर। ऑफ़ कोर्स प्रोड हम प्रॉपर फोल्डर स्ट्रक्चर फॉलो नहीं कर
रहे हैं। लेकिन यह बस काइंड ऑफ़ बोल सकते हो कि बस टेस्टिंग के लिए बोल सकते हो कि देखना है हमें कि भाई एक्सप्रेस वैलिडेटर
किस लिए यूज़ होता है। तो जल्दी के लिए हम यहां पे इसे इंप्लीमेंट कर रहे हैं। अब देखो यहां पे रजिस्टर एपीआई पे एक यूजर
मेरे पास आएगा जिसके पास रिक्वेस्ट डॉट बॉडी में यूजरनेम होगा। यूजरनेम होगा, ईमेल मेरे पास होगा और मेरे पास यहां पे
होगा पासवर्ड। तो ये दोनों चीजें मेरे पास होने वाली हैं। रिक्वेस्ट डॉट बॉडी में ये सारी चीजें मेरे पास रहेंगी। अब देखो
रिक्वेस्ट डॉट बॉडी एंड ऑल ये सारी चीजें मेरे पास आने वाली हैं। अब अभी तक हम क्या कर रहे थे? इस चीज को वैलिडेट नहीं कर रहे
थे। यूजरनेम, ईमेल और पासवर्ड। इस चीज को हम वैलिडेट नहीं कर रहे थे। तो अब वैलिडेट करने के लिए हमारे पास एक पैकेज होता है।
पैकेज का नाम क्या है? एक्सप्रेस वैलिडेटर। तो इधर पे हम आएंगे। एक पैकेज हम इंस्टॉल करते हैं। एनपीएम आई एक्सप्रेस
वैलिडेटर एंटर किया। एंटर करने के बाद एंटर करने के बाद हम यहां पर अब एक्सप्रेस वैलिडेटर को सेटअप कैसे करते हैं? तो
एक्सप्रेस वैलिडेटर एज अ मिडिलवेयर तुम्हारा सेटअप हो रहा होता है। तो मिडिलवेयर्स फोल्डर के अंदर हम एक फोल्डर
क्रिएट करते हैं। फोल्डर का नाम रहता है वैलिडेशन डॉट मिडिलवेयर डॉट जेएस। ठीक है? तो वैलिडेशन डॉट मेज़ हम
सेटअप करेंगे। इसमें सबसे पहले हमें दो चीजें चाहिए रहेंगी। कहां से? हमारे एक्सप्रेस वैलिडेटर से। तो रिक्वायर
एक्सप्रेस वैलिडेटर। आपको यहां पे देखो रिक्वेस्ट डॉट बॉडी रिक्वेस्ट के अंदर तीन तरीके के डेटा आ सकते हैं। कहां-कहां पे?
बॉडी के अंदर डेटा आ सकता है। तो हम यहां पे बॉडी को वैलिडेट कर सकते हैं। पैरम्स के अंदर डेटा आ सकता है। पैरम्स को हम
यहां पे वैलिडेट कर सकते हैं। साथ ही साथ क्वेरी के अंदर डेटा आ सकता है। तो क्वेरी को भी हम यहां पे वैलिडेट कर सकते हो। तो
जो भी आपके पास डेटा आ रहा होगा और आपको नहीं पता कि डेटा किसके अंदर आ रहा है। तो आप यहां पे आई थिंक ऑल या चेक कुकी
चेक आई थिंक यू हैव वन ऑफ़ दिस दिस दिस दिस वन। चेक ये जो आपका चेक रहता है चैन फॉर वन ऑफ़ मोर फील्ड फॉलोविंग। कि भाई यहां पे
आप किसी को भी यूज कर सकते हो। हेडर्स कुकीज़ आप यहां पे चेक का यूज़ कर लो। अगर आपको पता नहीं है कि भाई डेटा किसके अंदर
आएगा तो आप चेक का यूज़ कर सकते हो। लेकिन चेक का हम यूज़ नहीं करते। हम स्पेसिफिक चीज के साथ चाहते हैं कि भाई यहां पे बॉडी
के अंदर डेटा आएगा तो बॉडी को हम यूज़ करेंगे। और आपको यहां पे एक चीज़ चाहिए रहेगी जिसका हम बोलेंगे वैलिडेशन रिजल्ट।
ये दोनों चीज़ आप यहां पे रिक्वायर करो। रिक्वायर करने के बाद अब देखो टैब डॉट जेएस के अंदर जो मैं एक एपीआई क्रिएट कर
रहा हूं स्लैश रजिस्टर इस चीज़ को मुझे वैलिडेट करना है। इसमें वैलिडेट मुझे क्या करना रहेगा? जो डेटा अंदर आ रहा है
यूजरनेम, ईमेल और पासवर्ड ये सारी चीजें आ रही हैं। तो ये सारी चीजें मुझे वैलिडेट करनी है। अब यूजरनेम क्या हो सकता है?
यूजरनेम हमारा एक स्ट्रिंग होता है और उसकी लेंथ फिक्स होती है। कुछ इस टाइप की मिनिमम लेंथ उसकी तीनों होगी और मैक्सिमम
लेंथ वहां पे लेट्स से 20 करैक्टर की हो सकती है। तो यही चीज मुझे यहां पे वैलिडेट करनी है। कैसे करेंगे? तो देखो आप यहां पर
आप यहां पर एक पर्टिकुलर वैलिडेशन या बोल सकते हो रजिस्टर यूजर वैलिडेशन
रूल्स बनाओ। ये रहेगा आपका एक एरे और इस एरे के अंदर आप सबसे पहले वैलिडेट करोगे यूजरनेम को। तो बॉडी के अंदर आप यहां पर
यूजरनेम को करोगे वैलिडेट और वैलिडेट के अंदर आप यहां पे चेक करोगे कि भाई इज़ स्ट्रिंग। तो आप सबसे पहले तो यही चेक
करोगे कि भाई जो यूजरनेम बॉडी के अंदर आ रहा है वो स्ट्रिंग है या नहीं है। अगर वो स्ट्रिंग नहीं निकला तो आप एक एरर ऐड
करोगे रिक्वेस्ट के अंदर और उस एरर का मैसेज क्या रहेगा? उस एरर का मैसेज रहेगा विद मैसेज यूजर नेम मस्ट बी स्ट्रिंग। और
आप यहां पे एक चीज और चेक करोगे इज़ लेंथ। कि जो यूजरनेम की लेंथ है वो मिनिमम तीन कररेक्टर की होनी चाहिए और मैक्सिमम 20
कररेक्टर उसके अंदर हो सकते हैं। और अगर जो आपके यूजरनेम की लेंथ है वो मिनिमम तीन कररेक्टर नहीं है या मैक्सिमम 20 कररेक्टर
से ज्यादा है तो आप यहां पर विद मैसेज यूजरनेम मस्ट बी बिटवीन थ्री एंड 20 कररेक्टर्स आप यहां पे एंटर करवाओगे और तो
आई थिंक यूजरनेम में हम यही वैलिडेशन रखेंगे। अब सुनो अब यहां पे दो कंडीशन हो सकती हैं। क्या कि भाई जो फ्रंट एंड से
हमारे पास यूजरनेम आएगा या तो वो इन सारी कंडीशंस को फुलफिल करेगा मतलब क्या कि वो एक स्ट्रिंग रहेगा और वो मिनिमम तीन
कररेक्टर और मैक्सिमम 20 कररेक्टर से कम रहेगा कि ये सारी कंडीशन फुलफिल कर सकता है। और अगर इनमें से कि अगर वो स्ट्रिंग
नहीं है या उसकी लेंथ मिनिमम तीन कररेक्टर नहीं है या मैक्सिमम 20 कररेक्टर से ज्यादा है तो यहां पर एक एरर ऐड हो जाएगा।
तो अब ये जो एरर ऐड होने वाला है इसे हैंडल करने के लिए हम एक फंक्शन और क्रिएट करते हैं। सो वी कैन सेव अ सिंक फंक्शन
वैलिडेट रिजल्ट वैलिडेट रिजल्ट और ये वैलिडेट रिजल्ट में
हमारे पास वैलिडेट रिजल्ट एक आपका रहता है मिडिलवेयर। वैलिडेट रिजल्ट आपका एक मिडिल वेयर रहेगा। और इस मिडिल वेयर के अंदर
देखो हम करते क्या है? मैं बताऊंगा अभी बस तुम्हें तुरंत ही सारी चीजें क्लियर हो जाएंगी। मैं बताऊंगा कैसे। बस यहां पे
कॉस्ट एरर्स इक्वल्स टू वैलिडेशन रिजल्ट के अंदर ये जो हमने वैलिडेशन रिजल्ट रिक्वायर किया था
इसके अंदर जो रिक्वेस्ट आएगी इसे हम पास करेंगे और इधर पे इफ एरर इज नॉट एंप्टी के अगर जो हमारी एरर्स है देखो अगर यहां पे
कैसे होने वाला है मैं बताऊंगा एग्जैक्टली कैसे होने वाला है पहले एक काम करते हैं कोड हम लिखते हैं पहले हम यहां पे कोड लिख
लेते हैं फिर मैं तुम्हें एक्सप्लेन करूंगा देखो हम यहां पे वैलिडेशन रजिस्टर यूजर वैलिडेशन रूल्स बनाए हमने यहां पे
वैलिडेट करवाए यूजर नेम को कि भाई वो स्ट्रिंग है या नहीं। उसकी मिनिमम लेंथ तीन तीन और मैक्सिमम 20 कररेक्टर से
ज्यादा है या नहीं। ये हमने चेक किया और इतना चेक करने के बाद हमारे जो भी रिजल्ट आने वाले हैं वैलिडेट रिजल्ट को हम यहां
पे कर देंगे कॉल। तब देखो होगा क्या? ये जो तुमने एक फंक्शन क्रिएट किया था वैलिडेट रिजल्ट यहां पे इसको तुमने सबसे
आखिरी में आके कर रहे हो कॉल। तो इससे होगा क्या? अब उस पे बात करते हैं। देखो होगा क्या अब यहां पे कि सुनो तुमने यहां
पे वैलिडेट करवाया यूजरनेम को। यूजरनेम को वैलिडेट करवाने के बाद इस स्ट्रिंग चेक किया कि भाई यूजरनेम स्ट्रिंग है या नहीं
है। विद मैसेज यूजरनेम मस्ट बी अ स्ट्रिंग। ये तुमने अगर स्ट्रिंग नहीं हुआ तो एक ये एरर यहां पे जाएगा। और अगर लेंथ
इनसे कम या 20 से ज्यादा होगी तो यहां पे अगेन एक मैसेज जाएगा। तो अब देखो यहां पे दो कंडीशन हो सकती है। ये सारी वैलिडेशन
रिजल्ट पास हो जाए या ये इनमें से कोई एक फेल हो जाए या सारे फेल हो जाए। ये कंडीशंस यहां पे हो सकती है। तो अगर
इनवैलिडेशन में से कोई एक भी फेल होता है तो वो किसके अंदर जा के स्टोर हो जाता है? रिक्वेस्ट के अंदर। रिक्वेस्ट में हम चेक
करते हैं वैलिडेशन रिजल्ट के हिसाब से कि भाई कोई वैलिडेशन रूल यहां पे फेल हो रहा है या नहीं हो रहा है। अगर कोई भी यहां पे
फेल होता है, तो वो एरर के अंदर आ जाएगा। और एरर वहां पे एम्प्टी नहीं रहेगा। और अगर एरर एम्प्टी नहीं रहता है मतलब कि भाई
कोई एक वैलिडेशन रूल फेल हुआ है और उसी को हम एरे बना के रिस्पांस में पास कर देते हैं। तो अब देखो ये वैलिडेशन रिजल्ट आपने
पास किया। अब सुनो जैसे हमने यूजरनेम पे लगाया था सेम चीज हम यहां पे लगाएंगे बॉडी ईमेल के ऊपर। इस ईमेल चेक करेंगे। पासवर्ड
हम यहां पे लगाएंगे। तो सेम एक्सप्रेस वैलिडेटर में आप बहुत ईजीली वैलिडेशन परफॉर्म कर सकते हैं। इस वजह से इसको यूज़
किया जाता है। तो यूजरनेम हमने पास किया। यूजरनेम चेक किया कि भाई स्ट्रिंग है या नहीं। लेंथ मिनिमम तीन है या नहीं,
मैक्सिमम 20 है या नहीं। ये हमने चेक किया ईमेल पे कि भाई जो ईमेल प्रॉपर्टी आ रही है बॉडी के अंदर वो एक वैलिड ईमेल है या
नहीं। ये भी हमने चेक किया। फिर पासवर्ड जो हमारा है मिनिमम सिक्स कररेक्टर का यहां पे होना चाहिए। ये भी हमने यहां पे
चेक किया। और फाइनली अगर कुछ भी वैलिडेशन रिजल्ट हमारे फेल होते हैं तो वैलिडेशन रिजल्ट में वैलिडेट रिजल्ट के अंदर
जाएंगे। और अगर एक भी वैलिडेशन रिजल्ट फेल होता है तो वो एरर्स का पार्ट बनेगा। और जो भी फेल हुआ होगा उसको हम यहीं से
रिटर्न करवा देते हैं। और अगर कुछ भी फेल नहीं होता तो सिंपल नेक्स्ट को कॉल कर देते। तो अब देखो ये जो तुम्हारा रजिस्टर
यूजर वैलिडेशन रूल्स हैं इसे करेंगे यहां से एक्सपोर्ट तो मॉड्यूल डॉट एक्सपोर्ट रजिस्टर यूजर वैलिडेशन रूल्स इसे किया
एक्सपोर्ट apps फाइल में आएंगे कॉस्ट वैलिडेशन
रूल्स हम करेंगे यहां पर रिक्वायर और रिक्वायर के बाद मिडिल वेयर्स के अंदर वैलिडेशन मिडिल वेयर को करा रिक्वायर
रिक्वायर करने के बाद वैलिडेशन रूल्स के अंदर रजिस्टर यूजर वैलिड एडिशन
हमने किया यहां पे एज अ मिडिल वेयर इसे यूज़ और यूज़ करने के बाद अब देखो अब अगर मैं यहां पे एनपीए रन डव करता हूं। रन डव
करने के बाद अब अगर मैं इस एपीआई पे कोई भी रिक्वेस्ट करूंगा देखो होगा क्या? सबसे पहले अब ये डमी एपीआई है तो रिटर्न हम
सीधा करवा सकते हैं। रिस्पांस स्टेटस यूजर रजिस्टर सक्सेसफुली और यूजर की डिटेल्स हम यहां पे एज़ इट इज़ शेयर कर सकते हैं।
बढ़िया। तो अब अगर मैं आता हूं पोस्टमैन ओपन करूंगा। पोस्टमैन ओपन करने पर एक नई एपीआई मेथड इसकी रहेगी पोस्ट
लोकल होस्ट कॉलन 3000 एपीआई स्लश आ एपीआई के नहीं सीधा अब तो हम रजिस्टर पे हिट कर रहे हैं। सो रजिस्टर बॉडी के अंदर अगर मैं
आता हूं। सो रॉ फॉर्मेट में मैं यहां पर बोल सकता हूं कि भाई यूजरनेम यूजरनेम देखो अभी ये जो यूजरनेम यहां पे एंटर कर रहा
हूं ये एक इनवैलिड यूजरनेम है। ठीक? और इस जगह पे जो मैं ईमेल एंटर कर रहा हूं जो मेरा ईमेल है दैट इज टेस्ट यह भी एक
इनवैलिड ईमेल है। साथ ही साथ जो मेरा यहां पर पासवर्ड है यह पासवर्ड भी कैसा है? यह पासवर्ड यहां पे मिनिमम सिक्स कररेक्टर का
नहीं है। तो जितना भी अभी मैंने रिक्वेस्ट डॉट बॉडी के अंदर डेटा डाला हूं ये सारा की सारा डेटा इनवैलिड है। तो अब देखो अब
अगर मैं इतना डेटा सेंड करूंगा तो क्या होगा? यहां पे मेरे पास 400 बेड रिक्वेस्ट आएगी कि भाई यूजर जो आप डेटा दे रहे हो वो
डेटा गलत है। इनवैलिड डेटा है वो। अब एरर्स के अंदर मेरे पास क्या-क्या आ रहा है कि भाई टाइप फील्ड है मैसेज यूजरनेम
मस्ट बी स्ट्रिंग होना चाहिए। लोकेशन बॉडी कही बॉडी के अंदर जो यूजरनेम प्रॉपर्टी है ये स्ट्रिंग टाइप की होनी चाहिए। सेम बॉडी
के अंदर जो अपने पास यूजरनेम है इसकी मिनिमम लेंथ तीन और 20 थ्री और 20 कररेक्टर्स के बीच में यहां पे होना
चाहिए। इनवैलिड ईमेल आपका जा रहा है। और पासवर्ड मस्ट बी सिक्स कररेक्टर लॉन्ग होना चाहिए। तो ये सारी चीजें हमारे पास आ
रही हैं। और ये कैसे आ रहा है? ये हमारे पास आता है विद द हेल्प ऑफ एक्सप्रेस वैलिडेटर। तो अच्छा अगर मैंने ये मिडिल
वेयर यहां से हटा दिया एक्सप्रेस वैलिडेटर यहां से हटा दिया तो तो बिना वैलिडेशन के आप यहां पे चीजें क्रिएट कर दोगे।
अभी यहां पे एज़ इट इज़ अनडिफाइंड। सो हमें यहां पर एक चीज यूज़ करनी पड़ेगी एक्सप्रेस डॉट जेसन। और अब अगर मैं इसको सेंड करता
हूं तो देखो यहां पे बिना वैलिडेशन के आप एक यूजर क्रिएट कर दोगे अगर आपने एक्सप्रेस वैलिडेटर नहीं लगाते हो। और
एक्सप्रेस वैलिडेटर अगर हमारा यहां पे लगता है। सो वी कैन से वैलिडेशन रूल्स के अंदर रजिस्टर यूजर वैलिडेशन रूल्स। अब अगर
मैं यहां पे यूज़ करूंगा तो अगर आपका डेटा इनवैलिड है तो यूजर क्रिएट नहीं हो पाएगा। यूजर रजिस्टर नहीं हो सकता। अब यहां पे
अगर मैं आता हूं एक प्रॉपर मैं टेस्ट इधर पे मैं देता हूं। एक प्रॉपर वैलिड वैल्यू टेस्ट की ईमेल हम यहां पर दे
रहे हैं टेस्ट@ test.com और पासवर्ड हम दे रहे हैं 1 2 3 तो ये अब एक वैलिड जो भी हमारा डेटा है ये
सारा वैलिड डेटा है। तो अगर वैलिड डेटा हमारा रहेगा तो यूजर हमारा क्रिएट हो पाएगा। लेकिन अगर कोई भी एक हमारा इनवैलिड
डेटा है। जैसे कि ये ईमेल अब इनवैलिड है। तो अब देखो यहां पे क्या होगा? यहां पे अब मेरे पास 400 बेड रिक्वेस्ट जो ईमेल है वो
इनवैलिड ईमेल है। ये मेरे पास यहां पे आ जाता है। तो हम जो हमारा जो एक्सप्रेस वैलिडेटर रहता है वो हम यूज़ करते हैं कि
भाई जो डेटा फ्रंट एंड से आ रहा है वो डेटा सही है या नहीं उसको चेक करने के लिए उसको उसका जो फॉर्मेट है वो सही है या
नहीं उसको वैलिडेट करने के लिए हम यहां पे एक्सप्रेस वैलिडेटर का यूज़ करते हैं। तो यहां पे हमारे कुछ मिसलेनियस टॉपिक बचे
हुए थे। कौन-कौन से? हमारा यहां पे एक्सप्रेस वैलिडेटर और चेस्ट ये दोनों टॉपिक्स बचे हुए थे। मिसलेनियस टॉपिक के
अंदर आते हैं। लेकिन प्रोडक्शन में काफी ज्यादा यूज़ होते हैं। इसलिए मुझे लगा कि भाई आपको एटलीस्ट ये पता होने चाहिए। इसके
वजह से और भी टॉपिक्स होते हैं। लेकिन उन सभी को कवर करवाना इसमें थोड़ा मुश्किल रहेगा। तो इस वीडियो में अभी हम इतना ही
रखेंगे। जितना मैंने इस वीडियो में कवर करवाया हूं बैक एंड वो लिटरली बहुत इनफ है। इनफ से मैं कहूंगा थोड़ा सा ज्यादा है
कि आप कुछ भी एप्लीकेशन वहां पे क्रिएट कर सकते हो। लिटरली इस वीडियो में बहुत अच्छा बैक एंड पढ़ाया हूं। वो इनफ है कि आप कुछ
भी कोई सी भी एप्लीकेशन क्रिएट कर सकते हो। इस वीडियो और एक प्रॉपर फोल्डर स्ट्रक्चर के साथ प्रोडक्शन लेवल पे आप
कुछ भी एप्लीकेशन क्रिएट कर पाओगे। और भी बहुत सारे टॉपिक्स होते हैं जिसको अगर आप पढ़ना चाहो तो कमेंट कर देना। हम उन पे भी
वीडियो बनाएंगे। अगले कुछ टॉपिक जो होने वाले हैं, अगले जो वीडियो आने वाले हैं वो जनरेट एवीआई से रिलेटेड रहेंगे। तो उनके
लिए वेट कर लो। चैनल को फॉलो कर लेना। जनरेट एवीआई से रिलेटेड भी टॉपिक इस पे जल्दी आने वाला है। तो इस वीडियो में इतना
ही रहेंगे। इतना ही रखेंगे हम और आने वाले वीडियोस में मिलते हैं। चलो।
बैक एंड डेवलपमेंट में सर्वर, डेटाबेस और एप्लिकेशन लॉजिक को मैनेज किया जाता है। यह वह हिस्सा है जो उपयोगकर्ता को सीधे दिखाई नहीं देता लेकिन किसी भी वेबसाइट या ऐप के कार्य करने के लिए ज़रूरी है। इसे सीखने से आप वेब एप्लिकेशन के पीछे की पूरी प्रक्रिया को समझ सकते हैं और करियर के बेहतरीन अवसर प्राप्त कर सकते हैं।
Node.js जावास्क्रिप्ट को सर्वर साइड पर चलाने का माध्यम है। इसे इंस्टॉल करने के बाद आप node -v कमांड से वेरिफाई कर सकते हैं। npm (Node Package Manager) पैकेजेस को मैनेज करने का टूल है, जिसे npm i package-name कमांड से आप किसी भी पैकेज को इंस्टॉल कर सकते हैं।
Express.js एक लोकप्रिय Node.js फ्रेमवर्क है। पहले npm i express कमांड से इसे इंस्टॉल करें, फिर एक server.js फाइल बनाकर const express = require('express') के साथ ऐप को इनिशियलाइज़ करें। इसके बाद app.get() जैसे मेथड्स का उपयोग करके रूट्स और रिस्पांस को परिभाषित करें, और app.listen(3000) से सर्वर को स्टार्ट करें।
REST API (Representational State Transfer Application Programming Interface) HTTP मेथड्स जैसे GET, POST, PUT, DELETE का उपयोग करके फ्रंट एंड और बैक एंड के बीच डेटा एक्सचेंज करने का एक मानक तरीका है। Express.js में आप अलग-अलग रूट्स पर इन मेथड्स का उपयोग करके REST API बना सकते हैं और JSON रिस्पांस भेज सकते हैं।
package.json आपके प्रोजेक्ट की डिपेंडेंसी और मेटाडेटा को स्टोर करता है, जबकि package-lock.json प्रत्येक पैकेज के सटीक वर्जन और उनकी डिपेंडेंसी चेन को लॉक करता है। यह सुनिश्चित करता है कि हर डेवलपर के सिस्टम पर एक जैसी डिपेंडेंसी इंस्टॉल हो, जिससे प्रोजेक्ट में कंसिस्टेंसी बनी रहे।
पोर्ट एक नंबर है जो एक सर्वर पर कई एप्लिकेशन को अलग-अलग पहचान देता है, जैसे पोर्ट 3000 आपके Express ऐप के लिए। जब फ्रंट एंड से रिक्वेस्ट (req) आती है, तो सर्वर उसे प्रोसेस करके रिस्पांस (res) भेजता है। res.send() या res.json() जैसे मेथड्स का उपयोग करके आप डेटा वापस भेज सकते हैं।
Keep this summary
Save it to LunaNotes and it becomes a real note in your library — editable, searchable, and ready to turn into flashcards or a diagram. Free to start.
Save to LunaNotesOr summarise for another video.
32K+ people have turned 65K+ videos into notes
“Very useful tool. I'm using it for the last couple weeks and I'm loving it so far. Makes learning on YouTube a great experience.”
This summary and transcript were automatically generated using AI with the Free YouTube transcript summary tool by LunaNotes.
Related summaries
बैकएंड सीरीज: एक्सप्रेस सर्वर बनाएं और प्रोडक्शन पर डिप्लॉय करें (प्रैक्टिकल)
इस वीडियो में हम सीधे प्रैक्टिकल करेंगे: एक बेसिक Node.js + Express सर्वर बनाएंगे, उसे लोकलहोस्ट पर टेस्ट करेंगे, और फिर उसे DigitalOcean पर डिप्लॉय करेंगे। साथ ही, .env फाइल, environment variables, और Git का उपयोग करके कोड को प्रोडक्शन-रेडी बनाने की पूरी प्रक्रिया समझेंगे।
बैकएंड सीरीज शुरू: उत्पादन में पहला ऐप बनाना और तैनात करना
इस वीडियो में, हम चाय और कोड सीरीज की शुरुआत करते हैं और सीधे आपको एक बुनियादी बैकएंड एप्लिकेशन बनाने और उसे उत्पादन में तैनात करने का तरीका बताते हैं। यह विशेष रूप से उन लोगों के लिए है जो कोडिंग में नए हैं और प्रोडक्शन में जाने के डर को दूर करना चाहते हैं।
EBAY क्रैश कोर्स: ड्रॉपशिपिंग, हंटिंग, लिस्टिंग और अकाउंट सेटअप की पूरी गाइड
यह एक व्यापक ईबे क्रैश कोर्स है जो ड्रॉपशिपिंग, प्रोडक्ट हंटिंग, प्रोफिटेबल लिस्टिंग और अकाउंट क्रिएशन को शुरू से अंत तक, प्रैक्टिकल प्रदर्शन के साथ सिखाता है। इस वीडियो में आप जानेंगे कि कैसे डॉलर्स में कमाई शुरू करें, फेक गुरुओं से बचें, और एक लॉन्ग-टर्म ऑनलाइन स्किल और बिजनेस विकसित करें।
सिस्टम सेटअप ट्रेनिंग: प्रोफाइल, टूल्स और ऑफिस सेटअप गाइड
इस ट्रेनिंग सेशन में आप सीखेंगे कि अपने ऑनलाइन बिजनेस के लिए प्रोफाइल (Instagram, WhatsApp) को कैसे सेटअप करें, फॉलो-अप टूल्स और लीड ट्रैकिंग के सिस्टम कैसे बनाएं, और एक प्रभावी ऑफिस सेटअप कैसे तैयार करें। यह सेशन शुरुआती लोगों के लिए खासतौर पर उपयोगी है जो अपने बिजनेस को ग्रोथ देना चाहते हैं।
HTML बेसिक्स से प्रोफेशनल तक: पूरी वेब डेवलपमेंट गाइड
यह विस्तृत वीडियो ट्यूटोरियल HTML की पूरी समझ देता है, जो शुरुआत से लेकर एडवांस लेवल तक आपकी वेब डेवलपमेंट स्किल्स को मजबूत करता है। इसमें HTML टैग्स, एट्रिब्यूट्स, लेआउट, फॉर्म्स, टेबल्स, और SEO फ्रेंडली सिमेंटिक टैग्स सहित महत्वपूर्ण कॉन्सेप्ट्स को आसान भाषा में समझाया गया है।
Most viewed summaries
A Comprehensive Guide to Using Stable Diffusion Forge UI
Explore the Stable Diffusion Forge UI, customizable settings, models, and more to enhance your image generation experience.
Kolonyalismo at Imperyalismo: Ang Kasaysayan ng Pagsakop sa Pilipinas
Tuklasin ang kasaysayan ng kolonyalismo at imperyalismo sa Pilipinas sa pamamagitan ni Ferdinand Magellan.
Mastering Inpainting with Stable Diffusion: Fix Mistakes and Enhance Your Images
Learn to fix mistakes and enhance images with Stable Diffusion's inpainting features effectively.
Pamamaraan at Patakarang Kolonyal ng mga Espanyol sa Pilipinas
Tuklasin ang mga pamamaraan at patakaran ng mga Espanyol sa Pilipinas, at ang epekto nito sa mga Pilipino.
How to Install and Configure Forge: A New Stable Diffusion Web UI
Learn to install and configure the new Forge web UI for Stable Diffusion, with tips on models and settings.
Found this summary useful?
Take it with you. One click puts it in your own LunaNotes library.
Save to LunaNotes