System Design Full Course Build Zepto | 10-Mins Quick Commerce | Inventory Management | System Design
Build Zepto | 10-Mins Quick Commerce | Inventory Management | System Design Transcript and Lesson Notes
حن جی تو کرے start welcome back to our army our salary series and today's lecture we will take a new design problem for you so what are we going to make today? see today we are going to make our own 10 minute delivery app like Zepto or Blinkit so basically what are the
Quick Summary
حن جی تو کرے start welcome back to our army our salary series and today's lecture we will take a new design problem for you so what are we going to make today? see today we are going to make our own 10 minute delivery app like Zepto or Blinkit so basically what are the
Key Takeaways
- Review the core idea: حن جی تو کرے start welcome back to our army our salary series and today's lecture we will take a new design problem for you so what are we going to make
- Understand how System Design fits into Build Zepto | 10-Mins Quick Commerce | Inventory Management | System Design.
- Understand how Low Level Design fits into Build Zepto | 10-Mins Quick Commerce | Inventory Management | System Design.
- Understand how High level Design fits into Build Zepto | 10-Mins Quick Commerce | Inventory Management | System Design.
- Understand how System Design for Beginner fits into Build Zepto | 10-Mins Quick Commerce | Inventory Management | System Design.
Key Concepts
Full Transcript
حن جی تو کرے start welcome back to our army our salary series and today's lecture we will take a new design problem for you so what are we going to make today? see today we are going to make our own 10 minute delivery app like Zepto or Blinkit so basically what are the problems in this when you make a 10 minute delivery app and how it is different to make a normal application like a tomato in which you can make a 50-60 minutes of food or to make an Amazon in an Amazon so what happens? when you talk about 10 minute delivery apps do you talk about quick comers like Zepto or Blinkit so we have to face this problem that we have multiple dark stores what are the dark stores? dark stores are locations where you keep your products you keep your inventory so whenever you order your Zepto or app then it can be your nearest dark store where all the items are not present so what will they do?
some dark stores your nearest dark stores will be present some dark stores may be your second nearest dark stores so multiple delivery partners one delivery partner can be stored one dark store is there there is a few dark stores another dark store is there there is a few dark stores and that is your deliverable so we have to manage all these things we call it inventory management so the question we are going to question today so this is not just a quick comers or 10 minute delivery application but an inventory management is also there so if you are in an LLD in a system design in any interview if you have an inventory management related to a question then you will solve this problem you will see that requirements will match very well because we are actually managing the inventory here how if our inventory is finished the product is finished then we will replenish it how do we manage multiple dark stores and how do we manage the customers and how do we manage the customers and how do we manage the delivery partners so today we will see first of all we will go to our requirements and then we will jump into the code and uml part okay so look here I have kept my functional requirements again we discussed this we are not mentioning non functional requirements because you know that it is quite the same every time so first of all we will look at our functional requirements what we need today first of all we should be able to manage inventory what does it mean to manage we are able to remove our items so now look at the zepto we get a lot of items a lot of items we can get an electronic item what do you say there food items daily use cases like aata, chawal, all these things so we all say products items we can remove them in different categories like electronic category our food category is different so these items we easily remove because this is the whole inventory of your inventory all these items so you can easily remove all these items this will be the first requirement of any inventory management system so look at the rest interestingly we should have a replenish strategy because if our items are finished how do we replenish them how do we refill them again so we have a different strategy one is our threshold strategy that we have our items if we get a particular threshold then we should replenish them one is our weekly strategy we don't know how much item we get every week we get a new one and we replenish those items if you see in normal life what will happen in dark stores it may be a strategy if we get a particular item like shampoo then we should replenish them or weekly, monthly, buy, monthly but whatever the frequency of the items we should replenish them so we have to give these strategies and again we should be scalable so that we can add new strategies and we have a weekly inventory store like DB inventory store and can be further extended what is the inventory store and it may be different for inventory stores we will see in the diagram but we should understand that we have a dark store what we discussed in dark stores there are some locations where all the items are stored now we have a inventory of the dark store inventory means where items are stored for example if you enter in a shop in a mall then you have a store but where it is shelf where there are actual items it is your inventory and we can get the inventory of the entire inventory and we can get an inventory stock so what we have said that our inventory store can be different in different ways we can store DB inventory store or we can store it in database or we can extend it further so we have a point what else do we need we need user should be able to see items from all the dark stores closer to him and her basically we need this right whenever you open the ZEP2 app you can see a lot of items and what items are there which are available in your nearest dark stores so if you have nearest dark stores there is no electronic item it is not available from earphones you will not be able to show it or out of stock right so we have to manage this Apart from if one dark store cannot fulfill your order one order can be split into multiple dark stores full-fledged multi-multi-multi delivery agent as we have said this is common if you don't get anything in a dark store so multiple dark stores you should get it so what we will do we will assign three-char delivery partners all of them will send a dark store and they will deliver the order so you will see the app will be shown one order is split one order is coming in 10 minutes one order is coming in 3 minutes so why is it coming because it is taking a different delivery partner it is coming from dark stores so this is our requirement we will try to make a design that we can fulfill all the requirements keep the design again scalable we can use the good design patterns we can use it so let's start with our UML diagram okay so let's start we will start our UML diagram let's see the flow what is the flow what is the flow we have a user which will come on our app we always discuss a rough flow with our interviewer so that we can make things clear so many items will show a lot of items they can add items in their cart that is the problem what is the background we know okay, we don't know the user the user has added the cart what will he do he will order we discuss this let's suppose we have discussed the requirement in our interview we don't need any payment because we have already made a separate payment gateway and we can integrate it and if we talk about it then we talk about the third party which we have talked about in our tomato app so you can integrate it it will be more complicated your requirement will be a bit more scatter so we are skipping the pace and as soon as the order is placed we will assign the delivery partner to the order now it can be a delivery partner or a lot of delivery partners depending on the order the person who has filled the pace will fill the multiple and finally the delivery partners will deliver it this is a very common flow which we are going to make let's take a look which one of the objects will introduce relationships so first we will start with our bottom-up approach first we will make small objects first we will make a whole inventory in the whole concept you will see the basic small object there is a product basically we will make inventory and you will manage multiple dark stores but the basic level will be the same first product what is the most important thing in the product first product I said SKU in the inventory you will see a unique identifier you will see when you will go to a shopping you will not be able to go to a dark store but let's suppose you will go to a mart shop like in Vishal every store has a SKU it has an ID we are talking about the same SKU so that we can identify this place we can also write but because we are talking about the inventory and we have a product name and we will also have a unique ID and we will have a price we will have a price we will have a price we will have a price we will have a price we will have a price we have made you will see this is our product this is a model class we will write this model is simple class we will talk about plain old Java object we can talk about basic model class we can use the setters we can mention we made our own product class now what we need let's make a factory because the product will be built in a factory we don't want to we will write a new product so let's name it product factory simple you will know what will be in the factory create create product now what will be a product factory create product create product a product factory squ basic unique ID squ and we will make a product based on this we will draw a relationship because it's a real product so we made a factory now in a dark inventory we don't have multiple products and we have to store we want the inventory let's make inventory چکے, اینوٹرییشٹور کیا ہوگا, اینوٹریشٹور کا کام ہے, мلٹیپل, کروڈکس کو آپ کا اس میں چٹور کر کر نا. چکے, اب یہ اینوٹریشٹور, ایک داخسٹور سے رہیڈڈ ہوگا, بہتہ پیڈ اینوٹریشٹور میں, ایک اینوٹریشٹور ہوگا. ایسے ایالاگلک داخسٹور میں اپنے کھوزگے, اینوٹریشٹور ہوگے. اب اینوٹریشٹور میں کون کونسی, Let's say we make it abstract, then we can call it abstract.
So here we have seen the concept of function requirement using it. So we said we should able to manage inventory, remove our add and items. So we created an item, i.e. a product, and then we made its factory.
Simple as well. Now we want to remove items and add and remove. We should have inventory store. Now we will keep this abstract.
But we can see the methods in it. Now we should have the first one. This is an add product. Right?
So you will remove the add and then you will do it. But how will you store it? Basically, this product list or you will have a vector of list. But i am saying that it is abstract.
So i will do it in a concrete method. This is a list of products. I will store it in a concrete class. I will store it in a concrete store.
Because this is just abstract. So this is what we are saying. I can do the operations on this product. How can i store it?
This is not the purpose of it. I can do the operations on this. So first we will have to do the operation. What will we do with the add product?
We will take a product, P, and we will take the end quantity from it. We will add it. Now we will declare it. We will define it.
Now we have added it. So you can also remove it. Apart from that, we can also remove the add product. And we can also check the stock.
Okay? We can check the stock. Is it available or not? We can do this on SKUK.
So we have added the stock. We can check the stock. We have a list of all products. This will not be available from the let's.
Because there will be a list of all products already. It will work. So we have taken a list of all products. So I think this is the method that we can add.
Apart from that, you can also remove it. Let's take a look here. There is also a product. What will we do?
We will take SKU and the quantity. And we will remove the quantity. So we have an add product. We will add some product.
We will check the stock. We will call this check stock. When we want to know that in this inventory store, there is a particular product available. So we will ask SKUK for its ID.
We will ask the ID of the product available. We will ask the ID of the product available. We will also take the map here. We will take the map in the sub-tike.
We will look through it and check that the stock is not available. Apart from that, we have the last method. We will list all the products. We will list them.
This is our inventory store. Now let's make our relationship. We know that the inventory store has a product. Not one product, but one to many products.
Cool. We have also made our inventory store. Now we have said that user should be able to manage inventory. We have made an inventory store.
We can add the product to the stock. We can list the stock. We will also make a concrete product. We will also make a concrete store.
Now we will manage the inventory. If we make a dark store class here. We will say that we have a dark store. What will happen here?
The dark store will be tightly coupled with our inventory store. We don't want this. We want to make a dark store. We will see what is the location of the dark store.
What is its name and its location. How do we replenish items. How do we replenish items. We want to make a dark store here.
We can manage it. But I think what will be better designed. We have a dark store. We want to introduce an inventory store manager.
I mean, I want to say that we should make an inventory manager. Okay. What should be the work. What should be the work.
We should manage the inventory. We should manage the product. We should check the product. We will make a dark store here.
We should talk to the manager. And he will say that he had job. So, he is responsible for the work, why? I agree that we are working together.
Yesterday headed by a multiple managers. Then he then would like to hand out the old manager to me. And an innovative manager would want to manage this. Ok.
I can't say what good is it. But asked me to lay down this inventory. So, he is talking to the trader today. He attempts to do a modular class.
جتنا لوزلی قبل رکپا ہوتنا پوسیبل اوطنا ہم کریں حرائیٹ تو یہاں پہنے کیا ہم نے کیا ہے ایک انویںٹری مینجر کو انٹریوز کر لیا اس کا کیا ہے اس کا کیا ہے اس کا کیا ہے اس انویںٹری شٹور سے بات کریں گا ایک ہے فیرسٹینگلیر ہوگی تو سب سے پہلےم کیا کرتے ہیں ایک ہیز ریلیششبٹرار کل دیتے ہیں کی بہی ہمارا جو انویںٹری مینجر ہے ایک ہیز انویںٹری شٹور تم یہ بھی لکلیتیں یہاں پکیاں ہمارے پاسے کنویںٹری شٹور کا ریفرینز ہوگا نیٹسے شٹور اب یہاں میں میتھڑ سکونسی ہوگی ابھی نا ہم بلکل سیم میتھڑیوز کر لیتے ہیں ایڈ ریموڈ جیک شٹورک لیشٹاکس کیوں کیا ہمیں پتے ہیں انویںٹری مینجر کیا کریں گا فائینا لی یہ جب کریں گا نا تو سیببل شٹور کو قت یہ پورت بارا ایسٹان ہمیں پتے ہیں انویںٹری مینجر کا کام کے انویںٹری کو مینج کرنا یہاں پے ابھی ہمیں داکسٹور بنانے والے جو بھی تک ہم نے نہیں بریا اور داکسٹور کا کام کیا ہوگا انویںٹری مینجر سے بات کرنا کی شٹور میں کچھ ایڈ کرنا ہو ریموف کرنا ہو رائٹ انسپ کے لئے تاکی داکسٹور کو دیریکٹلی اس سے بات نہ کرنی پڑے اور وہ اپنی باکی چیزیں مینجر پائے تو داکسٹور کو بسیب پتا رہچی کی میری پہسک مینجر ہے وہ میرا پورا کا بھر انویںٹری کو مینج کرتے ہیں ہے نا باکی خودی کی جیدے میں اپنے اپنے اپنے اپنے اپنے اپنے اپنے اپنے اپنے اپنے اپنے تو اسلے ابھی کے لئے میں کر رہا انویںٹری مینجر میں میں same method رکھا ہم بس ہڑا ناما لگ کر لے کی انویںٹری مینجر کو продукٹ سے مطلب نہیں ہے اس کو شٹок سے مطلب ہے right انویںٹری مینجر کے لہارچی دیکھ شٹاک ہے تو وہیھاں پہنے کچھ مریتا میں لگتے ہیں اسکی, add stock یہ کہ کرے گا کسی stock کا SKU اور اس کی کوинٹیٹی لے گا جو add کرنا ہے and ابھی میں اس کو ایکی میری پر میری پر لگا اس کی هیرار کی نہیں انا رہا تو یہاں پہنے اس کو define کر رہا right تو add stock کیا کرے گا ایک SKU اور Q لیتا ہوگا SKU اپنے اس کی ID اور Q اور Q اور اس کا add product call کر دیتا ہوگا کیسے یہ کیا لیتا ہے یہ product Product Create ھا کیا کرتا گا Product Factory ھا کہ بھای مجھے اس SQU ھا Product ھا کر کے دے تو Factory ھا Product ھا کی دے تو ہوں اور فیری وہ اس کا Add Product ھا کر دے تو ہوں فلو ساوچھا جگیں سمپل کیسے ایک بہت دبارہ دیکھ لے Add Stock ھا ایک SQ ھا کیا کہ ایڈی اور Cointry ھا کیا اس کے بعد وہ Factory ھا ہوں اس SQ ھا مجھے پڑٹھ کر کے دے یعنی کی یہ ھا کیا کہ دے Factory ھا کیا کہ دے گا اور وہ Inventory Store ھا کیا کہ اس کے بھاس ریفرینز Inventory Store ھا Inventory Store ھا Add Product ھا کر دے گا کیا کہ یہاں پیری ایک Product ھا اور ایک Cointry ھا کیا کہ اب اس Inventory Store ھا Add Product ھا کیا کہ اس کو پتا ہوگا کی مجھے اس پڑٹھ کو کیا کہ اس اھا کر دے اب ہی دے اب ہی دے ہم نے اس کی ایک سب کلس نہیں بنایا پر ابھی وہ بنالیں گے یہ کہ یہاں تو یہ ایک دیکھ لے رہے ہیں ایک دیکھ لے یہاں پہنے کرنے اور وہ ایک نی Product ھا ہماری Inventory میں Add ھا کر دے گا اسی طرح سے ہم یہاں پہ بنال سکتے ہیں لیکنے ریموف Stock یہ بھی آپ ساہمجھ گئے ایک SKU اور Cointry T ھا ہوں گا کی کونسا Stock ریموف کرنا اور کتنے اس کے پاٹھ س ریموف کرنے اور اس کا ریموف Product ھا ہوں گا اس کے لئے ہمارے پہ سین طریقے سے ہوگا Check Stock again وہ کیا کرے گا اس کے لئے لے گا اسی Stock اور اس کا Check Stock call کر دے گا again ہمارے پہ سے ایک اور میں تھا لو سکتا لیکن List All Stock یہ بھی آپ کو پتے کیا کرتا ہوگا again ہمارے اس کا List All Product call کر دے دا ہوگا اب یہاں پہ آپ کو کچھ لوگوں کو شاہی داوٹا رہا ہوں کیا ہم نے تو same سے Method یہاں بھی بنادی یہ تو یہاں BRY Principle کو BREAKNICAR دو not repeat yourself Principle ہم اس کا لئے داکسٹور کو بلتے بہیں ان سے بات کر لے ہمیں یہاں یہاں دو بہتے دو بہتے دو بہتے ایک چلی پتے کیا ہے ہمیں یہاں Method stock Check Stock یہ دلگیٹ کرنے کا کام کر رہے ہیں دلگیٹ کا کام کرتے اس کو کام دے رہے ہیں جسی ایک اس کے لے بھی ٹو اٹگر کیا ایک انوентری مینجر ہو تو یہ چیز اسے لہم اس کو آپ اس کو اس کا سنگلٹن نہیں بنا رہے یہ آخرکنا آپ کا سے ریزان ہو نیچھے ہیں آپ ریزان کرو خود سے کہ ہم یہاں یہ کرتے پر ہم کیونی کر سکتے یا کر رہے ہیں تو اس کو دیزائیں میں کیوں کہیں ہوں سکتا آپ آپ چاہو کہیں اس کو سنگلٹن بناؤں تو آپ یہ سوچھ رہے ہیں کیوں کہ میں انوентری مینجر ہے نہ وہ کاما ہے سارے داکسٹور یہ دیزائیں بھی اپنے سب سے ایک ساہی دیزائیں ہو سکتا ہے لیکن فیل آپ کو קوڑ میں اسی طرح کام کرنا بڑے گا اسی طرح سے انتریکشن کرنا بڑے گا میری سب سے ایک مینجر ایک سٹور کے لیے رکھنا اس بیٹھر ایڈیا باکی اگین کیوں کہیں کیوں کہیں کیوں کہیں اس سے بیٹھر کوئیڈیا اس سے الک کوئیڈیا تو آپ اس کو انڈگرٹ کر سکتے ہو کی ایڈیا ہے اپنے آس پس کے داکسٹورز کے پروڈگٹ کو لیشٹ پروڈگٹس کو دیکھ سکتے اپنے میں لیسکتے کیا تھا یہ جو ایڈیا پروڈگٹس کو دیکھ رہے اپنے آس پس کے داکسٹورز کے تو پروڈگٹ کو دیکھ رہے ہیں تو آپ کو بتا ہونچے داکسٹور کی لوکیشن کیا ہے تم کیا کرتے ہیں ہاں مسکے کوڑی نٹ لیتے ہیں دبل میں تو دبل X, Y یہ اس کے قوڑی نٹس ہوگے XY, قوڑی نٹس ہوگے ایک داکسٹور کے تو آپ نے کہاں اس کا نام لییا اس کے قوڑی نٹس لیے اور اب بات کرتے ہیں آپ نے بات کرتے ہیں بات کرتے ہیں سپ سے پہلے ایک داکسٹور کے ایک داکسٹورز دستنس ٹو یہ ایک اور دو قوڑی نٹ لے گا UX UI اچھے یہ کیا یہ میتھڈ ہے یہ میتھڈ ہے میں سے سوچروں کی دستنس ٹو کیا کرے گا اس نے کیا دو قوڑی نٹس لیے UX UI لیکن سپوزی ایوزر کے قوڑی نٹس ہے تو یہ اس کا قام کیا ہوگا ان ایوزر کے قوڑی نٹس یہ نکالنا کیا داکسٹور کیا کیا دوری بہیں کیا ہے کیا ہے کیا ہے ہماری رکوارمن میں یہ والا بات ہے یہ دیکھو ایوزر شوڑ بھی ایبل تو اس سے ایٹمس اوزی داکسٹور کلوزر تو اس سے ایوزر میں نےج انونتری ہم ریموف کرپائی پڑک کو ایژ کرپائی پڑک کو ہم نے کر لیا فرسٹین سیکن تین ہمارے پاسنا اولا گلکترکی ریپ لینش ٹریٹی جیز ہونی چیئے تراش ہوld ویقلی اور یہ اس کے لیبل ہونی چیئے یاد ہم نے بات کی دی ریپ لینش کا مطلب کیا ہوتا ہے کیا ایٹمس اگر ختم ہونے والے ایٹمس اگر ایٹمس اگر یعنی کی ہمارے پاس ایس داکسٹور میں ایک ریپ لینش ٹریٹی جی کا عبجقت ہونے چیئے جو کے بھی تک ہم نے نہیں بنائے وہ بھی بنالے تھا ہے ٹریٹ تو اب کیوں کہ یہاں پیگ ریپ لینش ٹریٹی جی کا عبجقت ہونے چیئے اور کیوں کہ باٹمپ پڑو چیئے تو پیلے ہم اس کو بنالے تھا ہے تو ہم بنا تھا ہے یہاں پیلےٹ سے یہاں پیگے یہاں پیگے ایٹمس اگر ریپ لینش ٹریٹی جی چیئے اب ایک ریپ لینش ٹریٹی جی میں آپ کو پتا لگی گی ہوگا ہم ایک ٹریٹی جی دیزائیں پیٹن ایس کرنے والے ہیں تو یہاں پیگے ایک یہاں پیگے ریپ لینش چیئے اب دیکھتے ریپ لینش نامک میتھر کیا کیا لیتا ہوگا آپ کو کرتے کیا لیتا ہوگا سپسے پہلے یہ لیتا ہوگا ایک لیت سے ماب ایٹمس اپنی دونوں کی دونوں ریپ لینش ٹریٹی جی بنالی ایکتا ٹریسșال ٹریٹی جی ایکتی بیگلی ٹی شٹیجی اب ٹریسșال ٹریٹی جی کو پتا ہونatie ٹریسșال ٹکی تناکھی ایٹم کسے کام ہو کیا ہوں کیمہ اس کو ریپ لینش کروں تو اس نیک ٹریسșال ایک انٹیجر میں ٹریسșال لییا اور دونوں نے ریپ لینش میتھر کو ورائٹ کر لیا ریپ لینش لیکن میں اپلائری پلینش یا لیکن رن ری پلینش کیا یہ کرتے ہوگا یہ نیش ٹیجی ہے اس کو کل کر کے اپنے ری پلینش ٹیجی کل کرتے ہوگا بسکل رن ری پلینش ایسی کل کو توجا وہ ندر سے کیا کرتے ہوگا وہ کل کرتے ہوگا جو جو بھی ٹیجی اپاسی ہوئی ہے اس کا ری پلینش ٹیجی کل کر دو کل کرتے ہوگا اپنے میں نے جی ہے تو اس کو مینجر بھی دے گا اور ایٹمس کے لشت بھی دے گا اور رن ری پلینش ٹیجی ہمارا پورا کا پورا رن حکر ری پلینش ٹیجی تو آپ ہماری بس جو ایک چیز رہ گئی ہم نے اس اینیڈری شٹور کا اپسٹریک بنالیہ تھا اس کی کوئی کنکریشن نہیں بنالی تھا ایک بار وہ کنکریشن بھی ہم دروگ کر لے تھے ہم نے آپ نے رکوارمینش میں لکھا ہوئے وہ بھی چیز ایگی ابھی تک گھر ہم رکوارمین میں بات گو دوارا کریں تو نے کیا کیا بنا لیا ہم نے جی ہے ہم ری پلینش ٹیجی بنا پائے ہو گئی اور چی تیس ری چیز دیکھو ہم نے کیا ہے ہم نے کیا ہے ملٹی بلینیڈری شٹور لیک دی بینیڈری شٹور اور کیا ہے اور ایک سٹینڈڈ تو اب ہم اس پے کام کر رہے ہیں ہم نے کیا ہے اب ہم نے بات گیتے گھر بھی بھی تو ایک بات اپستیکن آئیتے تو ملٹی بلینیڈری شٹور ہو نہ پائے سبح سے پیلے سے نے کیا کہا ایک دی بی انوٹری شٹور ہو نہ چیئیں دی بیگ کا مطلب یہاں پی کر ہے کیا ہے کیا کہ یہ جو بیلیوز کو شٹور کریں گا ہوسکتا دیتابیس میں شٹور کریں اس کے لئے فل انوٹری شٹور کر پائے گیا ہم ایک سل فائل میں دیتا شٹور کر رہا ہوں وگر ہے نامانا چی سب قلاز کا کوئی ہم نگو علیشتی میں نائی تیگہ تو ایک تو میے چیز کر سکتے ہیں کہ یہ جو Vector ہے نا ہم اس کی ہم اس کی ہم علیشت رکل ہے سوڑڈک کی لیشت رکل ہے Vector of Product Rookلے P. چیکہ کیوں کی ویسے بھی ہم ایک 1-2 لیششhip تو ہے ہی تو میں Vector of Product Rooks سکتا ہم پر یہاں پہ دکتی ہو گینا کی ہمارے پہ پہاں پہاں کریں گے اس کے لیے ہمارے بہت ہوگا کہ میں ایک ماب کو ایس کریں چیگہ تم سب سے پہلے گا کرتے ہیں ایک ماب کو بنالے تھے ہیں چیگہ تو ماب کس کا بنائیں سب سے پہلے ایک کام کرتے ہیں ماب پہف بنادے Ind Coma Ind جس کو میں بلتوں لیٹھ سے Stox اب یہ Ind Coma Ind پہتے ہیں یہ ہے SKU Coma Cointuity مطلب کسی بھی Product SKU کیا ہے اور اسی کتنی Cointuity او علیشتی میں اس کو اشتور کر سکتا ہوں تو اب ایک بار گا میں یہاں میں آپ کر لیا تو میں ایک اور دوسرا میں ابھی بنادتکتا ہوں جو ہوگا لیٹھ سے Ind Coma Product اب یہ کیا ہوگا ابھی اس کیا ہے ایک Product SKU اور اس کا ہمیں Product Milt جائے تاکھی بار بار ہمیں Factory کو نہ بولنا پڑے کی بای دوارہ سے Product Create کر کر دیتے ہیں ہمارے پس Product Hona ڈا چیئے تو اس کو میں لیٹھ سے بولے تھا ہوں Product یہ پہلے دو مابسٹور کر لیے آپ کو سمجھا جا رہا ہوگا ایک Ind Coma Ind تاکھی SKU Coma Cointry کسی بھی SKU کے لے مجھے پتا ہوں اس کی Cointry کی تنیے بہلے بلے بلے بلے اور ایک بار مجھے Cointry پتا لگ گئی اور کسی کو وہ Product چیئے تو میں دوسرا میں اپنے جا کر کے اس SKU کو پاس کروں اور مجھے اس کا Product Milt جائے تو ایک Stox or a Product دو طرقے میں نے آپے مابسہ یہاں پہلے ہے اس کے لابت آپ کو پتا یہ یہ جتنی بھی بیتھا ہے Remove, Add, Check or List ان کو میں Override Grooma تو فتافٹس کو Declare Grooma Define Grooma دیفائن Grooma تو تیگے اپنے میں نے کیا ان سارے کو Override Grooma چو جی اپنے میتھتے تو اپنے دی بھی Indventry Store بھی بنالیا اور کل کو ہم فردر Indventry Store سپنے بنانا سکتے ہیں ایک بار مجھے دیان سے سوچو یہ جو اتنا سا دائگرامے یہ والا یہ تو میں پتے کونسا Design Pattern يوس کر رہے Bridge Design Pattern لیو دیکھو یہ جو Indventry Store والا Hyerarki یہ ہے اپ کی Low Level Hyerarki کیوں سے امpleیمٹ کیوں سے کرنا یعنی کی اس کا کیا ہے یہ امpleیمٹیشن اور یہ ہے اپ کی High Level Hyerarki جس کم بلتے اپسٹریکشن با بلوگے بھی یہ یہاں پہتے ایکی میں تھڑے Sorry ایکی قلاز ہے High Level Hyerarki کے لئے تھی پر بہتے ملٹیپل سبکلاز اس بھی اونیچیے پر میں نے کہی یہ ضروری تھوڑی ہے وہ تو آپ نے کیا آپ نے دیزائین پیٹن کو UNL میں اس کا STANDARD UNL as it is اور آپ کو لگا کہ میں اس کو as it is apply کر سکتا یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں یہاں ھاں پہنے گھے سے کوئی منچ کر رہے کہ سے اور طریقے سے وگرہ گیرہ پہنے یہ جو اپسٹریکشن سے اور اپنیمٹیشن سے بہت کنوی اینڈی بندنٹلی پہنے گھے بریچ پیٹنی اس کر دیا جو کی تھولا سا موڑفائیڈ ہے بریچ پیٹن سے کیا ہمیں ہمیں جو اپسٹریکشن سے اس کی ہی راکی نہیں بنیوی پہنے یہ بھی آپ انٹرویڈ سا دسکار سکتے ہو ایک چیسٹے ایک لیے رو گی اس کے لیے آپ اپسٹھوڑا سکھوچے دی مگلے ہو ہم نے کہاں دی بھی انوانٹری ایسٹور مطلب یہ چیدے دیتابیس میں ایسٹور کرے گا پر ابھی تو آپ میں نے کہاں یہ ایسٹور کر رہے ابھی دی بھی میں آپ کیس انٹیگریٹ کر سکتے ہو تو یاد کرو ہم نے اپنے سالی دیزائن کلیسپلوالی کلاس میں بھی پڑا تھا اب آپ کیا کر سکتے ہو کہ یہاں پہنے کلاز بناد سکتے ہو لیکسے پڑسیستنس کی اگر آپ کو چیادہ رہے ہو جس کے پس ملٹیبل سب کلاز سکتے ہو لیکس ایسکیل پرسستنس لیکسے موجگو پرسستنس اپنے اپنے آپ کو اسے کس ایسٹور کر رہا ہے سب آپ نے سیف پر سکتے ہو اووورڑ کریں گے ہی کریں گے اور آپ کیا کر ہوگے اس دی بھی انوانٹری ایسٹور میں اس کا ایک ریفرنس پاس کر دوگے پرسستنس کلاز کا تو جسی آپ نے ایسٹ بڑڑک کیا اس میک میں پہلے ایسٹ کیا اور اس کے بعد چاہے تو آپ پرسستنس دی بڑٹ سیف کال کر سکتے ہو اور وہ جا کر کے کسی سکول میں یا موجود بسیف ہو جائے گا دیپنے اپنے سکول پاس کیا یا موجود باس کیا تو اب یہ بھی سا بج گئے ٹیک ہے کہ ہم کیسرہ چیزوں کو دیتابیس میں سٹور کر دیا کیا ابھی دگ آپ کے مانمیشہ دی کوشن آتا ہوگا کی بھی ہم تو ہمیںشا بات کر دیا ان مامری سٹوریچ کی ہم یا تو میکس میں سٹور کر دیا یا لست میں سٹور کر دیا پر ایک چلی دیتابیس میں سٹور کر دیا رائید تو جنگری کیا ہوتا ہے جو آپ کا سیسٹم دیائیں انتریوز ہوتا ہے لولیوال دیائیں انتریوز ہوتا ہے وہ فوقت کر دیا کی آپ کلاس کے سٹرکچر کو کسی منج کر پارے و زادتر رادر دیا نابسے دیتابیس میں کس سٹور کر سکتے ہو کیا کہ وہ سٹور کر رہا تو ایسی ہے کیا کہ میں آپ کو بتایا ہم ایک برسستنس کلاس کیا سے بناتے ہیں اور وہ انتریق ایک دیتابیس سے تو آپ خودس ہو جو جب آپ ایک ریالیسی بنا رہیو اپلکیشم نہ رہو تو سٹرسستنس کلاس کا کام ہوگا اس دیتابیس انتریق کر دیا آپ چاہی وہ سیکول کویری لکے مہاپے یا مونگو کے ساتھ دکمتس کو گیٹ کرے فیچ کرے و گیرہ تو یہ چی دیکھ کلیر ہو گئی تو ابھی تک ہم نے اتنی چیزے تو بنا لی ہے اگر آپ اپنی رکوارمینٹ میں باپس جائیں تو اپنے پہلے 3 مکنٹوں کلیر ہو گئی ہیں ہم نے یہ بھی بنا لیا اپھورت اور 5 دیھو کیا کہتے ہیں اپنے اسے شوڑ بھی ایک بلٹوں سے ایٹمز سے کاملکیشم کلاسر کلوزہ تو ہی مور ہر جو کی 5 کلومٹر کاملے معانکے چلے کی 5 کلومٹر کیاستبس کے سارے داکسٹور کیایٹمز وہ دیکھ پائے جو کیا ہم نے یہاں بات کیایتی کیا کیا کیا کیایزر ہے وہ داکسٹور کیایٹمز کو لست کر پارے تیک پارے جو کی 5 کلومٹر کے دائرے میں ہے اس کے ریدیس میں ہے اور ایک او رہے گیا تھا کہ اگر ایک داکسٹور فلفل نہ کر پائے ارٹر تو ملٹیمل داکسٹور میں ارٹر سپلٹ ہو جائے نکہ ہم نے کہاں میں بھی اجنٹ میں سپلٹ ہو جائے تو امریک پس میں کچھ کلاسز آگئے ہیں جو میں برانے کی ضرورت ہے کیا کیا اگئیں ہمیں پہلے سب سے بلے گیوزر کلاسٹے گے کیا ہمیں ایوزر کے ایساپسی تو داکسٹورز دکھانے ہیں تو فتفتیک چیوٹیسی ایوزر کلاس برالے دیا ہے اب اب دیکھو گے ہم یہاں جو ایوزر کلاس بنائیں گے یا پھر دلیوری اجنٹ بنائیں گے وہ بہت چیوٹی کلاسٹ بنائیں گے کیا ہمیں ہمیں ہمارا کام ہے ان کو امنج کرنے کا نہیں ہے کی ایک دلیوری اجنٹ کیا کرتا ہوں گا یوزر کیا کرتا ہوں گا ہمارا کامیں انوینٹری کو منج کرنے کیا اپلکیشن ہے انوینٹری منجمینٹ کے لیے کیا تو اس میں یوزر کلاسٹ و دلیوری اجنٹ کلاسٹماری لے شوٹیسیگ پروٹڑٹائپ ٹیوٹیپ ٹیوٹیپ ٹیوٹیپ ٹیوٹیپ ہمیں اس کا دہاچہ باتا دیں گے کی ایسا سا کچھ ہوتا ہوں گا ہوں سکتا ہوں سے بہت کامپلکٹیٹیڈ ہو اگر ہم انٹرنلی جائیں کیا ایک اپلکیشن بہت بڑی ہوتی ہے زeptو خود میں ایک بہت بڑی اپلکیشن ایٹیگے تو زeptو کا ایک چھوٹا سا پاٹ اس کا انوینٹری منجمینٹری کیا کلاس کی لوگ سمجھارے گی کیا سے ہوتا ہوں گا ہم ایک چلی ایک میتھر دیکھر کی دیسکسنگ کرنے جو کی پوصیبل بھی نہیں ہے ایک انٹریگے انٹریگے پیرائیٹ تو ہم ایوزر کی کلاس بہت چھوٹیسی بناتے ہم کہتے ایوزر کے پاس ایک ہوتے کا نام ہوگا آپ چاہو تو یہاں ایوزر ایڈی بھی رکسکتے ہو اس کی لوگ ایشن ہوگی تو لوگ ایشنگ کے لگیں ہم اسے کارینت سیف کرالے تھے ایو ایک سکوما ایو بائی چکے اور کیا ہوگا اگے انہم امیشا کیا بات کرتے ایوزر کے پاس ایک ہوتے کیا کارٹ ہوگی جس میں وہ ایتمس کو ایڈی کرے گا یہ جو ہم نے کارٹ کی بات کی دیکھتے کیا ہمیںشا ہم ایوزر کو وہ کارٹ ککسز دیگے کیا جسی ایوزر کیا ہوتا ہوں کارٹ بھی گریٹ ہوتی ہوگی تو ہم فتافٹ سے اپنی ایک چیوٹیسی کارٹ بھی بنالے تھا ہم یہی ایک ہماری کارٹ چکے اب کارٹ میں کیا ہوتا ہوں دیکھوں کارٹ میں سب سے پہلے اگییں ایو لیستف ایٹمس ہوتے ہوگی میں نے آپ چاہوں تو اوار مستھس بھی دالسکتے ہو کارٹ میں پر میری ایس آپ سے بھی کافی ہے کیا میں بس کیا چیے کارٹ کا توٹل کتنا ہوا ایٹٹو کارٹ کیکمتہ سے ریموخ تو کارٹ کا بھی بنا سکتے ہوگی اور گیٹ ایتمس چتنے بھی کارٹ میں ایتمسے وہ ساڑے آپ گیٹ کر پاو اور توٹل بھی گیٹ کر پاو کیا اب اگییں کیا ریلیشن ہوگی ایوزر اور کارٹ کا obviously ہے جہیشن چکتے ہوگی پر کونسا ہے جہی آپ سمجھے گئے کیا کیا کارٹ کو منش کرنے کا نکھا بھر کارٹ کا بھر ایوزر کائے اور کارٹ کیا not existing independently تو میں دوبارا سے کیا بھلوں گا کی کارٹ ہے جہیشن کامپوزیشن دیلیشنشکتے ہوگی بھی دیلیشنشکتے ہوگی چیگے تو ایک تو یہ چیز ہوگی تو اب ہماری حیرار کی کچھ ایسی دیکھری ہے آپ دیکھ سکتے ہوگی کی ہمارے ایک تو یہ حیرار کی ہوگی Product Inventory Store Inventory Manager Docstore کی جس میں کیے بھی ایک او اس کا پات ہوگیا چکیا ایک ہماری Product Factory ہے جو Product کو CreateCut ایک ہماری حیرار کی ہوگی یہ Replanage Strategy کی کی Product Replanage کیوں اور ایک حیرار کی ہوگی ہمارے user اور کارٹ کی چکیا اب ہمارے پس کیا رہ گیا ہم نے کیا گا دا کی user جا کر کے user will be able to see all the items which is close to the Docstore so Docstore کے close concon سے items ہے user will be able to see that ہے نا تو اس کے لئے اب ہم نے کو پتے کیا کرنا پڑے گا ہمارے پس بھی ایک ہی Docstore پر ہمارے پس تو بہت سارے Docstores ہونے چھیں user کی از پس یانی کی یانی کی ہو سکتا ہے بھی تک ہم سمجھ گیا ہمیں ایک اور Manager چھیں کون سا Manager چھیں ہمیں چھیں Docstore Manager جو Docstore کو MANAGE کرے گا ہم فتحفت کیا کرتے Docstore Manager بھی CREATE کر لے گا اب Docstore Manager کا کام کیا ہے صرف Docstores کو MANAGE کرنا اب یہ جو MANAGE رنا یہ Single TAN ہو سکتے ہیں یو کی پوری کی بھی ری اپلکیشن میں ایک ہی MANAGE کلاس ہو گی اور جتنے بھی Docstores ہو گے سب ہی MANAGE کے اندر آتے ہو گے چھیک تو ہم نے اس کو ایک Single TAN کلاس بھی نا دیا اب ہم نے کیا کہتا اس کا کامے Docstores کو MANAGE کرنا یعنی کیس کے بس List of Docstores ہو گے پہلی چیز List of Docstore لیکس اڈس اب یہاں پہلے گھائیز رلیشاش بڑا کر لے تھی 1-2 MANAGE رلیشان ہے بھی ٹکہ تو اس کے بس List of Docstores آگے ٹکہ اب یہ MANAGE کرنے گا مطلب کیا ہو گا ٹکہ MANAGE کرنے گا مطلب ایس سمجھو یہ جو user یہ user کی location لیتاوگا UX UI اور Çک کرتا ہو گا کی کون گون سے سے Docstore جوز location کے پاس ہے کیونکہ ہر Docstore کے بس اپنے ایک Method ایک Distance 2 جس کو گر آپ UX UI Coordinate 2 یعنی کیسی بھی user کا Coordinate 2 وہ بتا دیکھا اس user کے Coordinate سے میرے خودکے Docstore کا Distance کیتنا ہے کیونکہ اس کے بس خودکے Coordinate بھی ہے ٹکہ پھے کام کرتے ہیں پھے Method لیکتے ہیں get Nearby Stores ٹکہ get Nearby Stores اب دیکھو یہ Method کیا کرتا ہو گا اب کھو تی سمجھ گیا ہو گیا چکہ اہلٹ سے ہا get Nearby Stores یہ بھی تکس نے کوئی آرگیمین لیاتا ہے اہلٹ سے یہ بلکے آرگیمین لیتا ہو گا لیت سے یہ کیا آرگیمین لیتا ہو گا یہ لیتا ہو گا کچھ Coordinate UX UI اور کترا Nearby اتلاب پاچ کلومیٹر چھے کلومیٹر تو ایک Distance یہ تین آرگیمین لیتا ہو گا get Nearby Stores اب آپ سمجھ گیا ہو گیا کیا آرگیمین یعنی کیا ماری کوئی تو ایک ایسی ابھی کلاس ہو گیا کلاس جو کیا کرتے ہو گیا ایسی ایوزر کے Coordinate لیتا ہو گیا UX UI اور وہ Coordinate لیتا ہو گیا ایس Method get Nearby Stores کیا بھی ایسی ایوزر کے Nearby Stores کو لے کر کے آو یہ UX ایوزر کے Coordinate ہے اور Distance پاچھ کرتے ہو گیا لیت سے 5 کلومیٹر کیا یہاں پے اس کے ساب سے کال ہوتا ہو گیا اور وہ Method فردر کیا کرتا ہو گیا وہ اس List میں لوب Thru کرتا ہو گیا Darkstore Manager کی List میں لوب Thru کرتا ہو گیا اور ہر Darkstore کا Distance 2 Method call کرتے دہ ہو گیا کیا یہ لے UX یہ لے UI اور تو Distance نکال اپنے Darkstores اس کا اگر وہ Distance اس Distance اس دادہ آتا ہو گیا این کی 5 کلومیٹر سادہ آتا ہو گیا تو اس کو skip کرتے دہ ہو گیا نہیں تو اس کو لے لے لے لے لے لے لے لے لیکن لست میں دل دے لے لے کہ بہت یہ لڑاکسٹور user کے پاس ہے تو ایسے کر کے یہ get near by stores ایک List return کرتا ہو گیا کیا لکٹرن کرتا ہو گیا List of Darkstores یہ تو سمجھ گیا ہو گیا یہ List of a Darkstore list return کرتا ہو گیا جس میں وہ سارے لڑاکسٹورس ہوں گے جو کسی user کے 5 کلومیٹر دائرے میں آتے ہو گیا تو میں نے کیے بھی بنادیا اس کے لاب اس میں اور کے میتھا دو سکتے اس میں بیسی کلڈ میں چھل رکسکتے ہو فیر لیکسے add Darkstore میں نا ایک DS لے لتا ہو گیا ایسی یہاں پر رکسکتے ہو remove Darkstore و گی رہا گی رہا گی رہا کیوں کرسکتے ہو کیوں کہ آپ کے پاس ہے List of a Darkstore کی obviously ایک Darkstore add ہوتا ہو گا remove ہوتا ہو گیا تو یہ سب بھی آپ کرسکتے ہو رہیٹ اس کے لابا ہو سکتا ہو کہ مین میں ایک اور کشن آ رہا ہے کی داستر مینجر کا و داستر کے بیچ میں آپ اس میں کیسا ریلیشن ہے اب یہاں پہنے دونوں دارکہ ریلیشن اگسکتے ہو تو یہاں پیچ کامпوزیشن ریلیشن میں نا جس میں آپ منکے جلوگی داستر انیپنٹل اگسکتے ہو نہیں کرسکتے پر ابھی میری ساب سے میں من رو کی داستر انیپنٹل اگسکتے ہو سکتے ہیں بطلب آپ کچھ چیزوں کو انیپنٹل اگسکتے ہو نے دو کی لٹسے داستر میں ایسی کچھ چیزیں کی وہ مینجر کنندر نہیں بیگی تو بھی چلے گا مینجر کا ہمیں اپنے ایریا گے مینج کرنا وہ سارے داستر کو مینجر نہیں کرسکتے تو میں اس کو ایسے سوچروں کی پاچھ کلومیٹر کی داستر کو یہ مینجر مینجر کرلے گا اور باکیوں کو کوئی اور مینجر مینجر کرے گا پر فیڑاب کو گئی تو ہم نے سکنگلٹن میں آیا ہے یا نا تو اس میں ہم اس کو سکنگلٹن کو بریک کرنا پڑے گا تو بہت سارے اس کیا پرمیٹیشن کو مینجر کامینایشن ہو سکنے کیا آپ کیسے اس کو بنانا چاہتے ہو ابھی کلے یہاں پے میں چھوڑ دیا ہے ایک بیسک ایسیشن ایلیشنشے آپ چاہوٹ تو اس کو کامپوزیشن میں کنوبرٹ کرسکتے ہو اگریگیشن میں کنوبرٹ کرسکتے ہو وگرہ بگرہ چکے چکے تو یہاں پہ ہم نے کیا یہاں پہلی رکواریمین کو بھی فلفل کر آلیا کی ایوزر اپنے آسپس کے سارے پاچ کلومٹر کو دیکھپائے اب جو مری فینل ایک دم فینل رکواریمین رگیے وہ یہ ہے کہ اگر ایک داکسٹور آرکہ فلفل نہیں کر پارہا تو ملٹیبل داکسٹورس میں آرکہ ہم سپلٹ کر دے اور الگ الگ الگ دلیوری اجن کو اسائن کر باتے کچھ نہیں ہوتا گا ابھی کلے نا ہم بس اس کا ایک نام رکھلے پہ نیٹسے سٹرنگ نیم بس بس بہت چھوٹی ایک پروٹٹائپ کلاس ہم نے ہم نے ہم نے ہم نے صرف کا نام رکھیا چکے اب ہماری حائرہ کی کچھ حسی دکھرییا اب ہم نے ہم نے ہم نے ہم نے ہم نے ایک چیز رہے گئی آرڈر بنانا رہید تو یہ تو آپ اس داکسٹور میں جو ہم نے کہاہتا کی آرڈر فلفل کیسے کر ہوگے ملٹی بل آرڈر مصپرٹ کر ہوگے ایکی آرڈر کو گئے وہ سب میں نجھ کر پاہ اور فیلی ہمارے اس میں بھی ایوزر آیا اپنے قاعد میں ایر قاعد میں چیزے دالیار آرڈر کو پلیس کرنا تھا ہے نا تم نے بس ایک آرڈر کلاس بنا نہیں رہی دی تو وہ بنا لیں ہم نے کلاس بنایں آرڈر چکے اب ایک آرڈر میں کیا کیا ہوں سکتے لیٹ سے بہت بیسیک بیسیک چیزر ایک رکھلے دینا مرڈر ایڈ چکے ایک ہم رکھلے دینا لیٹ سے یوزر کی کی یوزر نے آرڈر کلاس کیا اور لیٹ سے اگے نمارے پس ایک وقتر فرر آجائے گا وقتر فرر میکن رکھلے ایتمز کی کون کنس ایتمز آرڈر کی وقتر فرر کیو کیا پر میکنے ہم ایک رکھیں گے کونس اپرڈر کیا ایک آرڈر کو ملٹیپل آجنز نی فلفل کرسکتے اگر سارے سمان ایک داکسٹور میں نہیں ملا تو رہی تو نی یہی بھی رکھلے تو مجھ لکتے کافی ہے ہم نے ایک آرڈر ایڈی ایوزر لیسٹو فائٹمز توٹل اور لیسٹو فڑڈر ایجنز رکھیا چکے اس کے حزر ایلیشنش پمٹرک کری سکتے تو وہ بھی آپ دیکھلو بہتیزی ہے اس کے بات ایک آجنٹ ہے Sorry گرین میں کرتے ہیں اس کے پاسے آجنٹ ہے ایک کارٹ نہیں ہے ایک لیٹھ سے یو در ہے ایک کارٹ تو یو در سے نکال لے گا چکے اور لیسٹو فائٹمز ہے وہ بھی اس کو یو در سے ملجیں گے بگر بگر چکے اور فائل چیز ہم اپنے درار کرڈے تھے ایک آرڈر مینجر کیو کی ہر چیزکیک مینجر ہونا چیے اور آرڈر مینجر ہی وہ کام کرے گا کی جب وہ آرڈر کو پلیس کرے گا تو چک کرے گا کی سارا کا سار ایٹم ایک ہی داکسٹ سے مل سکتے گیا نہیں تو اگر ایک ہی سے ملجیں گا وہ تو چکے ہی کی سارا کا سارا ایک ہی داکسٹ سے ملجیں کہ ہمیں ایک ہی دلیوری اجن کو سائیں گرنا پڑے تو اپتیمز جویا پر اگر ایسا نہیں ہوتا کیسی کارٹ اوڈر وڈش تو ہم ملٹیبل دلیوری پاٹنر سائیں گریں گے ال اگر وہاں بھیج کی کہ ہمیں تو ایٹر ملجر کیا گا ایٹر کرے گا یانی کی سکتے پر سپسے پہلے لستف آڈر ہوتے ہوں گے اس کو بولتے ہیں ایٹرز اور اسکتے پر ایک ہی میتھر ہوتا ہوں گا لیکن سے بلاس آڈر اب تھیس آڈر کیا گا پڑتا ہوں گا سپسے پہلے ایک ہی سرے لیتا ہوں گا کون سرے ایٹر کانٹ کو پلیس کر رہا ہے ایک کارٹ لیتا ہوں گا کی وزر الیوڑر پلیس کی رہے ہیں وہ کی scart سے بلیس کر رہے ہیں اب آپ کو گئے بھی یا user کے اندری توカٹ ہے ہمیں تو صیدہا مل جاتی ہمカٹ کی پس کر رہیں اگی انیت کر رہا ہم نے اس کے بارے میں بات کی دی کی ہم زمادوہلے اس میں کی ہمカٹ کو اسلے پاس کرتے کیوں کی مینی چاہتا outer manager کے بعد پاتا ہوں کی ہم user سے carte نہیں کلتے ہیں رہی ترنزیبل و فلیسٹ نالج تو کون سے user order کی scarred ki li order place huwa jaraa ma sat up sa conless items tiki a aur hiske lawa ki aawasak saa aa hiske lawa haam ne paski aa dark store manager tiki a ki konsa agara our singleton bhi hain konsa dark store manager aa our pass jo isk order ko place karname hawari help ka raha hai tome ne place order me ye sa pass kaar dhi aa user, card aa dark store manager tiki aa aap dek ho kye saa otao ka aam ye aamari hai raki aa tiki aa aik par ae bhi hiske bhi aawad rawaka li te aa a Khan boe kei haz a aay jil organized اب آپ یہاں تک تو سمجھ گئیتے کہ امریکو رکوارمن میں کیا چیئے تھا کی user should be able to see all the items from the dark store یا میں کہتا کیسے کہتا کہ جو بھی ہم یہاں پیک Client class بنائیں گے یا Zepto class بنائیں گے جو کی پیرینٹ class ہوگی جیسے ہم نے اپنے زومیٹوالیمیک تومیٹر class بنائیں گی Right وہ کیا کرے گی؟ اس user کو Coordinate لگی اور اس کا get near by store call کر دے گی اور وہ جا کر کے ہر اس کا کیا کرے گا distance through call کر دے گا اور جیسے کا distance 5-6 دراتا ہوگا او اس کو ایک distance ڈالتا رہے گا یہ کم اب Order Manager class دے کو کیا کرے گی؟ جیسے ہی place order call ہو دا ہوگا یہ کون call call کر دے گی again ہمارے پاہس جو ایک Zepto class ہوگی جو کی ابھی اب نے بنائیں گے وہ جو جو نہیں ہوگی وہ ایک ارکسٹریٹر class ہوگی اور آپ کو بتایاں ایک ارکسٹریٹر class کا کام کیا ہوتا ہے صرف اس پورے کے بھوریسستمر پہ چیزوں کو ارکسٹریٹ کرنا دیکھیک سنگل Point of entry ہوہ ہمارے سسٹھم میں اور میں نے کہا دا کہ یہ only ڈالی کا نہیں ہے ہم بہنا ارکسٹریٹر کبھی Distributed approach بھی بن آسکتے ہیں پر کئی بار ارکسٹریٹر اپروٹ سیڈی ایتی یہ کھاس کر کیسے انترگیو Point of View کے لئے تو یہاں پہنے میں ایک ارکسٹریٹر class بھی بنالیں گے جس کا کام ہوگا Order Manager کے place order method کو call کرنا اب دیکھو ہوتا کیا ہوگا ہم نے place order method call کر دے گے اس کو دیگے ہوں گے کی کون سے user order place کر رہے کیسカٹ کے لیکر ہے اور کون سے DAXTOR Manager کے لیکر ہے یعنی گے request gdxtr Manager کے باس یہ رہ دxtr Manager سپ سے بہلے گا کرتا ہوگا اس user کے coordinate slaker get near by stores call کر دے تھا ہوگا تو اس کو سارے کے سارے near by stores مل جاتے ہوگے ایک بر سارے near by stores مل گئے پھی دیکھتا ہوگا کارٹ میں کون کون سے items یعنی کی کارٹ کا get items call کر دے اس کو سارے کے سار items مل جاتے ہوگے اب ہی بھی کون سے مل گئے آپ کو ساری جیتے Crister clear ہوگے گئے کی place order کر کیس رہے چی دے اب ہی دیکھتا آپ ساہمچ گئے place order نے پہلے Manager کو بولا کی بہی سارے کے سارے near by stores لیکر کر کے آچا چکے تو ایک بر لو ایک کر کر کے چلتے ہیں کہ کیا کیا کیا sapsa پہلے ہم نے کیا get near by stores یعنی کی اس یہ جو place order میں تھڑے اس کے بارے میں منا رو sapsa پہلے near by stores لیکر کر کے آئے fetch cart items تو اس کو items کی بلیشت میں لگی اب اس نے کیا کیا جو بھی اس کو dark store کی list miliwi thina یہاں سے get near by stores جو بھی dark store کی list miliwi thina اس میں سے پہلے dark store لتھایا اور sapsa items لتھایا جو cart میں تھے اور دیکھا کیا یہ جو dark store کہ یہ sapsa items کو full fill کر سکتے ہیں اگر کر سکتے ہیں تو ایک delivery partner کو assign کیا اور order place ہوگیا اور اگر نہیں کر سکتے تو اس نے پھر کیا اگر dark store پہلے پتا کیا کی تم کیت نے order full fill کر سکتے ہیں تم کیت نے order full fill کر سکتے ہیں اور جت نے order full fill کر سکتے ہیں جب تک سارے order complete نہ ہو جا ہے پہلے all items deliverable نہ ہو جا ہے اور fill order کو place اور multiple delivery agents کو subscribe کر سکتے ہیں کیا کہ نے کہتے ہیں کیا کیا کیا if جو بھی اس نے dark store کیا if first store can full fill can full fill sorry writing بہت گندی آریابی complete order کیا کہ سکتے ہیں کریں گا complete order کیا کہ اس کے بھی لیشت ہے یا دو اس کے بس قاعت ہے اس نے قاعت کا get items call کر کے سارے گی لیشت نہیں کر رکھے تو اگر first store full fill کر سکتے ہیں all the items تو اگر یہ true ہے if true تو assign one delivery partner else assign multiple partner again again again loop through check to fill items dark stores and then order to place better to look how to place this is a algorithm you must know how to do it and write if you write the code تو یہ پورا کا برس کا شٹیٹر تھا جس میں ہم نے اپنے آخری پورینت بھی رکواریمین کا فلشل کرہ دیا فٹا فٹ سے ایک برسا کلینڈائگرام دیکھلے تھے تو یہ ہے یہ ہے ہمہ رہ پورا کا پورا کلینڈائگرام میں ہم دکھانے سٹھنے ہمیں کیا کہ ہمیں خود نہیں پہتا وہ تو کوڑ میں جا کہ بتا لگے کیسکے سے انتریکشن کرنا پڑے گا ہمیں چکہ باکی آپ دیکھلوں ساری کی ساری ہرار کی بئی ہے ہمارے پاس ایک پروٹیک کلاسے جو موڑل پاس ایک اینوڈریスト رہ ہے اس کے پاس ایک کنکریٹ اینوڈری دیوی اینوڈریスト رہ گیا پروٹیک کو بنانے کا ہمیں پروٹیک فیکٹری کا ہمارے پاس ایک کنکریٹ اینوڈری مینجر ہے اور ہمارے پاس ایک داکسٹور ہے تو مارے پاس ایک یہاں لیہائرار کی جو ہوتی دی وہ ہو گئی پھر ہم نے کہ ہمارے پاس ملٹیپل ریپلینش ٹریٹیجیز ہے ایک ٹریشٹور ایک ویکلی چکہ یہ داکسٹور مینجر ہے جو سکنلٹن کلاسے جس کے پاس اینوڈری پر ایک ریپلینشڈار کے پیر داکسٹور کو مینج کرتی ہے اسی طرح سے ہمارے پاس ایک کسی کی ایوزر ہے کسی کی کات ہے اور ایک دیلیوڈری پاٹر ہے جیگیا اُس کے لابق فائنہ نمارے پاس جو ہرار کی وہ ہے آژر اور آژر مینجر کی اور یہ آپ اس میں گیسندرک کریں آپ کو بتایچکوں ایک ہمارے پاس ایک شٹرٹیکلاسے زبتو جو ساری چیزے میں نچ کرتی ہیں ہر فنشن کو ہر میں پھر چھے سے کال کرتی ہیں تو ای ہو باکہ آپ کو یہ پورا کا بورا شٹرکچر سمج آیا ہوگا اب کچھ لوگ جو مجھے کہتے ہیں کہ بیے میں کو ایوامل توچھے سمجھا آیا تھا ہے پر کوڑ سمجھ نہیں آتا ہے دیکھو کوڑ کچھ بھی تو نہیں آیا ہے جو اگر آپ کو یہ پورا کا بورا ایوامل سمج آیا آیا کوڑ میں مکھا کریں گے انھی میتھڈس کو دیفائن کریں گے ان کے ریلیششپ کو دیفائن کریں گے جا ہم نے بولا ایزریلیششپ بائی نہرٹنز بنائیں گے جا ہم نے بولا ایزریلیششپ واقع امپوزیشن میں نہیں گے جون جونز یہاں پہ میتھڈس دیئے ان کو دیفائن کریں گے کچھ ہوزکتا پھالتو میتھڈس بنائیں کیا ہر میتھڈا امیتھڈا میں نہیں دیسکتے تو اسلے میں کیا کہتے سجس کرتا ہوں کہ آپ اس ایوامل دیگرام کا Screenshot لییا کروں یا آبویسلی گٹھپت تو پلوڑ آپ کو یہ میشہ ملتا یہ اب وہاں سے نکالییا کروں اور فیلی جب آپ بیٹھتے ہونا کوڑ کا سیکشن دیکھنے تو ایوامل دیگرام کو لیے کے بیٹھا کروں دا کہ آپ کو ساتھ ساتھ ساتھ ایک حیرار کی سمجھاتی نکسٹرکچر سمجھاتا ہے کی فلو اگسے بورک کر رہے اُس کے لاما کوڑیپ کوئی پیسن سوچھویار کی یہ تو بیزنس لوجی کے تو میں کھجو بھی لگلوں گا آپ کو کوڑیپنا تو آتا یہ اگر آپ ایک C++ جا وپائیتن کسی بیبی بیگرامن چاہتے ہو آپ نے اپنے اتھونی بات بھی DSC کرییا تو آپ کو پتا ہے کہ کوڑ کیا سی لکتے ہیں ایلگواریتنس کیسے ایمپلمٹ کرتے ہیں بس آپ کو یہ سمجھنا تھا کیوں کے بیٹھ میں سٹرکچر کیا سا ہے اگر آپ کو یہ ایک بر سمجھ آ گیا نہ تو مجھنی لکتا آپ کو کوڑ میں کوئی دکتا ہے اسلے میں آپ کو دوارہ سے جس کروں گا یہ سیوامل دیگرام کو آپ ساتھ میں رکھنا جب ہم کوڑ والا پاہ DISCUSKING آپ کو زادہ بیٹھر چیزے کلیر ہو پائیں گی تو فتافٹ چلتے آپ نے کوڑ کی طرف اور اس پورے گے پورے شٹرکچر کا ہم کوڑ دیکھتے ہیں تو دیکھو یہ ہے مارہ پورہ کا پورہ انوینٹری مینجنجبین کا کوڑ امریکہ کی ایک اس بار سارا کا سارا کوڑ دیکھو ایکی فائل میں لکھا ہوئے لیکھا کیا کچھ بچو کا داغھ تھا کہ ایلگ لکھ فائل میں لکھنے سے نہ پروبلہ موتی بار بہت ٹو ان فروب مفکرنا پڑھنا مجھیاں سے تو میں نے آپ سارا کا سارا کوڑ ایکی فائل میں لکھا ہے کیا آپ چاہو تو اس کو بعد میں موڈلر کر لیں اب ایک کر کے چلتے ہیں سب سے پہ لے ہم دیکھتے اپری پروڈیکٹ اور اس کی فیکٹری بوٹھ سمپلتا میں نے کیا کہا کہ اس کی فیکٹری پروڈیکٹلسی اس کے اس کے اس کے اس کے ایلگ اس کا پریسے یہ میں اس کا конструкٹرم نہیا اور یہ اس کے گیٹر سیٹرم نہ لیے اب obviously گیٹر سیٹر میں نے UML دائگرہ میں نہیں بھا ناہی کیا کہ یہ میں نے کہا تھا یہ میں کوڑ میں وہ نہ لگے تو کچھ پاٹ کیا کہ کچھ پاٹ کیا کہ گیٹر سیٹرم کوڑ میں نہیں لکھتے ہیں UML میں نہیں بھناتے کیا کہ ہزاروپے وگیٹر آگیٹر اور اگر ان میں سے کچھ نہیں ہے تو میں نے کریں دہ مایٹم ایٹم اور اس کے اس کے اس کے U کو ایزہ STRING used کر لیا اور سوروپے پریسک اب اب اب obviously یہ کچھ نہیں ہے یہ کوئی sense نہیں بنالی یہ Method just کیوں کی میر کو ایک Method بنالی�ا تھا تاکی میں بھورا کبر فلوکہ چلاسکو تو میں اس طرح مثر بنالی آپ کو پتا реالیٹی میں آپ یاد رکھنا اور interview سے بھی آپ дисکس کر سکتے ہو کی یہ سب جو چیزے ہے یہ دیتابیس سے آتی ہوگی فیکٹ ایک بس دیتابیس کو ٹھاک چیزہ کو ٹھاکہ کر گئے اپجیک بنا کر گئے ریٹرن کرنا کلین کو جو بھی سے مانگ رہے نیٹ تو میں فیکٹری بن گئی اب ہم نے کیا کہتا پروڈک کو منج کرنے کا کام کیس کا ہو گا انوینٹری چٹور کا اور اس کے بسے конкрет انوینٹری چٹور ہوگا DB نیٹری چٹور تو میں وہ بھی بنالیہ سب سے بھی لی انوینٹری چٹور میں کون گا سے مثہڈے ایڈ پروڈک ریموف پروڈک چیک چٹٹٹ اور لیسٹ اوڑگی پروڈکس یا یا میں سارے وژٹل پروڈک پی کام کرے گا اگر آپ کو بس یہ پتے کی مابق میں چیزوں کو کیسے ایڈ کرتے اور کیسے ریموف کرتے بسے ایم گام ہمیا پی کر رہ ریموف پروڈک کیا کر رہ پیلے چک کر رہ کی اس کا کام بسیرو تو نہیں ہے کرن کائنٹری نکال کے لارے او چٹٹ کی ریمین کائنٹری نکال کے لارے ریمین کیا کہا تاپ کو سب سے پہلے پروڈک فیکٹری کو بہلے گا پروڈک کو کریٹ کر کل ایسے کیوں کا اسے پروڈک لگر کر کیے کہا اور وہ اسٹور کا ایڈ پروڈک کر دےگا Tamam بہیں بہتے کنسول موٹ پروڈپرن کیا کہ ام نے یہاں ایڈ کر دیا اس کیوں کیا ایسے ریموف کیا کر دیکھا سیمپل دلگت کر دیکھا اسٹور پی میں نے جر اور ہم نے ایٹمسٹو ریپلنش لیے ہم نے ایٹمسٹو ریپلنش میں پہلے سب سے پہلے کیا لوب Thru ہم نے نکالا اس کا SKU Cointry جو میں ایٹمسٹو ریپلنش میں لوب Thru ہم اس کا SKU ملتا جائے گا اور Cointry دویڈ ملتا جائے گی ہم ہر SKU کے لنا ہم Stalk کو چک کریں گے کیس کا کتنا Stalk ہے لے بلے بلے ہمیں کرنٹ میں دال دیں گے اگر جو Cointry Stalk وہ کام ہو گیا Thresh old سے یعنی کیوں سے ریپلنش کرنے کی ضراد ہے تو Manager کا Add Stalk کال کر دیں گے SKU دے کے اور Cointry تو Add اب Cointry تو Add کونسی ہے یہاں لیجو ہم نے اس کو پاس کیوگی ایٹمسٹو ریپلنش میں جو پاس کیوگی وہم سے دے دیں گے یعنی کی Manager کا Add Stalk جس ہم نے Cointry نے کیا کیا کیا ہوگا Stork Add Product call کیا ہوگا اور Stork داکسٹور میں دیکھا ہم نے کیا کیا رکھا ہم سپ سے پہلے داکسٹور کے اکھنام ہوگا اس کے Cointry نیٹس ہوگے XY اس کے بہت سے ایٹمسٹری Manager اور ایک ریپلنشٹڈیجی ہوگی یادا ہم نے اس کے باریم بات کی دی اس کے Cointry نیٹسے اب یہ تو ہم نے اس کیا کیا Constructor میں اس کے Cointry نیٹس کو اس کا پہلے نام Cointry نیٹس وگر لیلی اب دیکھو ہم نے اپے کیا کیا ہم نے Inventory Manager کو نا یہی پے ایک DB Inventory Stork پاس کر باہدیا دیکھو ہم نے کیا Inventory Manager کہ ہم نے کچھ سے اپجیک ریٹ کر لیا New Inventory Manager کیوں کیوں کیا کیا کیا Inventory Manager کو ناہیچ کر لیکن داکسٹور کیا اس لیا داکسٹور کیا پیار کم پوزیشن لیششتے بڑو کیا داکسٹور کیا اس کے Cointry میں جیسے داکسٹور بنے گا اور میں نے اس Inventory Manager میں ایک Stork کو پاس کرنا تھا تو میں نے ہم نے یہی بھی ایک DB Inventory Stork کو پاس کر دیا دیا میں ہم نے لکھا ہوں کہ اگر آپ کو ایسا نہیں کرنا تو کو کیا کر سکتے کہ we could have made another factory called Inventory Stork Factory to get DB Inventory Stork by Inam and hence make it loosely coupled ہمارے پاس کیا تھا ایک Inventory Stork تھا DB Inventory Stork پر لیٹ سے کل کو بہت سر Inventory Stork بنہا سکتے ہو File Inventory Stork وگر اگر Inventory Stork جیسے بھی رائٹ تو تو یہ اگر آپ نے یہ کیا تو یہ تو hard coupling جائگی حرہ تائٹ قبلگ جائگی تو اس کے لام کیا کر سکتے دے جو کہ آپ نے پھنے design میں نہیں کیا اگر آپ چاہوں تو اس کو extend کر سکتے ہو سے design ھال اور بڑا ہو جائگہ آپ ایک نہیں factory بنہا ہوں Inventory Stork Factory جو کہ اینام لگی ki کون سا کو Inventory Stork بنانہ ہے تو اگر آپ اس میں آپ پاس کر ہوگے DB Inventory Stork اب یہ مラید دوسٹٹر ہو گیا اس کے لابہ ہمارے پس کیا ہمارے پس کیا مہتھتے تھا جو دستنس ٹو تھا جو UX and UI ایوزر کے коہدمیٹ لیتے و کچھ نہیں کرتا بسیک distance formula پڑھا ہو گا تو بس ایک دستنس فٹھر ہمارے نکال رہے خودی گے و دستنس ٹو اور ریٹن کر رہے جو بھی دستنس داکسٹور بنیجر ہوگا وہ اس دستنس کو מلا سکے کہ وہ جو دیستن سے وہ 5KM ڈی نہیں یادا ہم نے بات ہی دی کہ کہاں 5KM ڈی اگر اس کو اسکپ کر دیں گا اور کام ہے تو وہ جو داستہ رہا وہ user کے location میں آتا ہے تو اس کو میکڈ کر لیں گے اگر اور دیکھو اس کے بعد ہمارے پاسے اور میں تھا دیکھا رہا ہم اثر درانڈری پلینشمنٹ جو گیا کرتے again ایک لیسٹ لیتا ایٹمسٹو ریپلینش اور جو بھی اس کے بس ریپلینش ٹریٹے جی ہو گی اگر وہ ہے تو کہ کریں گا اس کا ریپلینش مثہد کال کر دے گا اب اپنا менیجر دے کے جو بھی اس کے پس میں نے جر ہے اور یہ نائی ٹمس کو دیکھا گی رہی تو یہ بھی ہو گیا اب دیکھو میں نے ایک اور کچھ چیس کیوی ہے جو ہم نے یو میں نہیں گی دی ہم نے دبارہ سے کچھ دلگیشن میں تھا بنا رکھے ہیں جسے کہی get all product, check stock, remove stock, add stock, set replacement strategy تو چلو get run setter ہو گیا get name get coordinate یہ سب تو get run setter ہو گی انگو چھوڑ دو یہ تو بیسی کہ پر یہ دیکھو میں دبارہ سے delegate method بنا رکھے ہیں جسے کہی get all product, check stock, remove stock, add stock وگرہ بگر یہ ہمارے менیجر میں بھی تھے اور یہ ہمارے store class میں بھی تھے تو میں نے یہاں پے بھی کیوں بنایا کیوں کہ ایسا ہوتا ہے کی جو dark store manager وہ بات کرے گا dark store سے وہ dark store کے manager sorry وہ dark store کے inventory manager سے بات نہیں کرے گا ہے تو میں چاہتاں کہ جب بھی dark store manager dark store سے بات کریں گا اس کو یہ جانے کی ضرط نہ بڑے کہ مجھے inventory manager کو نکالنا ہے پہلے dark store سے اور پھر ان کا check stock remove stock add stock وگرہ Method کو call کر میں کیا یہ کیا بریک کرے گا یہ بریک کرے گا principle of least knowledge کو تو دا کی وہ principle break نہ ہو میں نے کیا کیا میں نے کہاں یہ method میں یہاں پھیں گلوڑ کر لیتاں یہ delegate method include کر لیتاں تو delegate method پھر اپنے سٹور کا object call کرے گا وگرہ وگرہ اگر آپ سمجھ گئے بیسیک dark store manager میں نے method include کریں اور یہ کیا کرتے ہیں بس اس کو transfer کرتے دیگیٹ کرتے ہیں inventory manager کا get available product inventory manager کا check stock اگر آپ کو اپنے سٹور کا object call کریں گا وگرہ بگرہ بگرہ بگرہ آپ کو اپنے سٹور کا get available product inventory manager اس کو transfer کرتے دیگیٹ کرتے ہیں inventory manager کا get available product inventory manager کا check stock اس کا remove stock اس کا add stock بگرہ گینا اور یہاں پہنے کوئیٹر سیٹرم نہ رکھے ہیں یہ بھی آپ سمجھ گئے ہو گئے آپ چلتے اپنے dark store manager کی دا ہے یہ ماری single-ton class اس کے پاس ایک list of dark stores آپ single-ton é obviously اس کے پاس ایک static instance اور private constructor یہاں پہنے get instance name کا method آگیا اور یہاں پہنے ایک method رکھیا register dark store یعنی کی add dark store جو من رکھا ہوا تھا ایک نیہ dark store لیں اُس کو اس list میں اد کروالیں گے بیسک method اب جو main method تاو اس کا وہتا یہ والا ایک ایک لوطا main method get nearby dark stores یہ user کے coordinate لگا UX UI اور ایک maximum distance لگا جو میں بات کی تھی اور ام نے کیا کہتے کیا کریں گا دیکھو سب سے پہلے تو اس نے a list بنالی جو جو distance list آنے والی ہے اس نے vector of pair of double comma dark store ایک list بنالی اب دیکھو اس نے a loop through کیا سارے dark stores میں اور ہر dark store کا distance 2 call کر دیا وہ distance formula لگا کر کے UX UI آپ کو distance لگا کر دیکھا اس کو distance double دیمستور کر دیا اب اس نے check کیا یہ جو distance کیا یہ maximum distance ایک ایک اگر ہے تو اس کو اس list مید کر لیا اور اس کے بعد کیا ہوا اس list میں ساری وہ dark stores آگیا جو گی 5 km سے کم دائرے میں اس کے بعد distance کو سوٹ کر لیا دا کی سب سے پہلے کنسے dark store جو سب سے پہا سے فیلنی اس نے کیا کیا اس نے a result کی list مریک dark stores کی اور ان کی list میں اس result کو پوش بہت کرتا رہا اور final result کو ریٹن کر رہا دیا چکے چکے اب ہو سکتا اپنے میں doubt کہ میں 2 دو دو دو لیسٹیولی پیلے میں a distance list دی فیرم نے a result لیسٹی اور final اس کو دا دیسٹنس لیسٹ لیسٹ لیسٹ لیگا بسی کی مطلبتا تا کیا اس کو distance کے بیسے میں sot again illgoretham logic اپنے ساپ سے change میں a preference کیا کیا کی پہلے میں a distance list لیسٹنس کے بیسے اور phir اس کو a result ریزٹوالی list دا دو چکے چاہلو یہ بھی ہو گیا یہ our instructor basic class user and card a list of items vector of items اور our item is a product or is a ¡ product split items pushback Projekt gł gird orch of items cutist get hog wouldHey body put are پریورٹ کنسٹٹر ہے تو گیٹ ہینز چینز نام کا پبڑلک میتھڈ بھی ہو گا اور اس کے پاس جو ایک میین میتھڈ ہے وہ ہیں مرا پلیس اڑڈر اب ہی کیای سے کام کرتا وہ دیکھتے ہیں اس کے لابا پلیکھے تکھلے گے تھے اس کے پاس اور کیا جیٹ آلڈرز یہ بس لسٹی ہے اس دیکھل کے دیگھے تھے اور فیلنڈ ہمارے پاس ایک ہی اس کا دیسٹٹر اب دیکھو یہ جو پلیس اڑڈر ہے یہ بہت بڑا میتھڈ ہے کیo cohesive a but cool 들 dagger exactly ஓa CBabyni a ke sate naoge parks nun ke'alge mo'olay k saare ko paak hi Apart from gay phones the IP a ofola کیاں کچھa ریلیسٹے بن رہے ہیں پر آپ سمجھاں کی کامام بسوطنے کر رہے ہیں اگر میں یہ آپ کو بنانے کو دے دو کی یہ دو پلیس وٹر بن آو میں آپ کو ایک یوزر دیا اور اس کی کارٹ دی چکے ہیں تو آپ خود سے بھی وہ چیس کریٹ کر سکتے ہو آپ خود سے بھی وہ کام کر سکتے ہو کیوں کی یہ ہے אלگواریتم کا کام اور آپ کو دیے سے تو ایک نہیں تو آتی ہے کیاں اتنا کام ایزی لی کر سکتے ہو رہیت اب دیکھتے ہیں اس کو ایک کر کر کیاں تو لہذا جلدی جلیں گے آپ کو اپروپر سمجھاں میں آپ کیاں کر کیاں آپ ایزی لی اس کو انٹی گریٹ کر سکتے ہیں میں نے آپ کی ایزر لیا کارٹ لیا میں نے آپ کی داکسٹور مینجر نہیں لیا کیاں کیاں کیاں کیاں میں کبھی بھی اس کو اس کا گیٹ انستنس نام کر کر کر کر سکتے ہیں دیکھتے ہیں سپ سے بھی لی first Find Near By Dark Store Within 5 KM تو یہیے والا کود کیاں کر رہے ہیں again Dark Store Manager کا Instance لے کر کیاں اور اس کا گیٹ Near By Store call کر دے سارے کے سارے Near By Store لیا اس کو دالتہ اس لیسٹ میں Near By Dark Stores دیکھتے ہیں اور اس سے پہلے کور چیس کر دے یہ جو قاعد ہے نا اس کے بس قاعد اس کے گیٹ ایٹمس کو call کر دے دیکھتے ہیں سارے کے سارے آئیٹمس کو لاسے رکھے رکھے رکھے رکھے رکھے رکھے دیکھتے ہیں کہ یہ بعد میں کامیں گے یہ ہے بیٹھٹ اور کوینٹٹی کا وکھٹر یعا بھی وہ سارے کے سارے Near By Store لیا یہاں پہ سے چیک کر لیا کیا کرنے میں نیر بیچٹور کی لیسٹیمٹی ہے تو میں کہتے ہیں بہی ایوزر کی از پس کو داستوری نہیں ہے تکہ اب کیا کرنہ ہے میں چیک کرنے کی گلوزیشٹور کے پہ سارے ایٹنس ہے کیا تو کیا سے چیک کیا ہم نے فرشٹور نکالیا ایس داستور کا فرنٹ کال کر کے کیا ہم نے گبودین وریبہ لییا all in first یہ چیک کریں گا کی سارے کے سارے فرشٹ میں ویلیبل ہے یا نہیں اب یہ بیڑی فلٹر ہو ہے اگر سارے ایوزل نہیں ہوں گے تو یہ فال سو جائے گا فر فانا لیم نے کیا کیا ایک فرد لوبنا ہے جس میں نے رکوزٹیٹ ایٹنس جو تھے یا نہیں کی یہ والے جو ایوزر کو اوڑر کرنے ہیں چکہ اس رکوزٹیٹ ایٹنس میں لوبت رو کیا ایٹنس لیکے اور ہر ایٹنس کا SKU نکالا اس کی کوئیٹی نہیں کالی اور چیک کیا کیا جو first store ہے نا اس کا چیکسٹاک میتاٹ کال کر کے چیک کیا کیا جو SKU ہے یہ کتنی کوئیٹی میں ویلے بیلے بیلے کیا اس کی کوئیٹی ہماری QT باہیہ جو ہمیں آپے پاس کر رہے جتنی ہمیں چاہیے جتنی ایوزر کو چھیں اسے کام ہے کیا اگر اسے کام ہے یا نکی first store میں سارے کے سارے ایٹنس ایٹنس ایپن نہیں ہے ہم all in first کو فالس کر دیں گے اور یہاں سے بریک کر جائیں گے پر لیکسے گر بریک ہوئے گا نہیں لوبت چلتا رہے گا سارے ایٹنس ایپنس کو first store سے ملجیں گے تو یہ all in first نیو آردر جس میں بھی تھی ہمیں بس ایوزر دالے اب دیکھتے ہمیں ایک دلیوری پاتنر چیہ ملٹیپل اگر all in first store ہے یا نکی ایپنی اگر اگزی کیوت ہوگا نیو ایلز بلوک ایک زیگیوتوگا یہاں سے اگر اگر all in first store ہوتا نکی امیں سکچھ فرس سے ملجا تھا تو بہت کامسان ہوتا ہم سمپل گا کرتے پرن کرتے تھے لیکسے کی سارے ایٹنس ایک سے ملجیں گے آپ ہمارا کام ہوتا اُن ایٹنس کو ریموف کرنا یعنی کی اوس کی کوئنتیٹی کو گھتا نہ اب اپسٹاکس ایٹنس کو کم بھی تو کرنا پڑے گا اگر ایک دلیوری اجن ناتے پاٹٹر وان اُس کو سٹ کر دے تھے اور فیلی آرڈر پلیس کر دے یعنی کی ایک دلیوری پاٹن ہو دا جو آرڈر کو لیکے جاتا پر اگر ایسا نہیں ہوتا تو ہم جاتے الزنے جو تھوڑا سا کمپلگیٹت آپ کو لکسٹتا ایٹنگ میں ہم کیا کرتے ایک نیا مابھ بناتے all items کا اینٹ کاما اینٹ جو کی ہے اس کی ایٹنس کو کاما کوئیٹنگ میں آپ ہم نے کیوں بناتے آپ کو سمجھے گا ہم پہلے گا کرتے اگر ایک ریکوشٹیڈ ایٹنس میں لکسٹھ رو کرتے کیوں کی وہ ہے مابھ بھرٹک کاما اینٹ اور ہم ایک نیا جو مابھ بناتے all items اس میں اس ویلیوز کو دالتے اینٹ کاما اینٹ میں یعنی کی ہاریس پروڑک کا پہلے اس کی ایٹنس کو کاما اینٹ اور اس کے کارس پرڈنگ اس کا اس کی کوئیٹنگ میں لکسٹھ دالتے اب ہم نے سب سے بھی ایک پائٹنگ ایڈی بنالی یعنی کی ایک دلیوری پٹنگ تو بنگیا پھر دیکھو ہم سارے داکسٹوڑس میں لکسٹوڑس میں نیر بیسٹوڑس میں اور چیک کرتے کی ایف all items بیکم ایمٹی بھی بریک ارلی کی یہ دیکھو یہ جو بریکسٹیٹمٹے بس یہ ہے کی جتنے بھی ہمارے ہمارے ایڈنس کو ایٹنس کو ایک اور لوبترور کریں گے انٹرنل کی ہم سارے all items میں لوبترور کریں ہمارے all items کیا all items یہ جو ہم نے ابھی بھی بنایا اس کی ایو کومa کوئیٹنگ تی کا جو ایو در کو چیئے اس کا مابا ہے کیا ہم کیا کریں گے ساتھ ساتھ all items میں لوبترور کریں اور اس کی اس کی ایو اور اس کی کوئیٹنگ نگلتے جائیں گے کیا ہم چیک کریں گے جو بھی ہم چٹور پے ہیں کون سے یہ جو ہم نے take-on-goentry یعنے کی اس میں سے 3 اپل ریموف کریں گے تو چار میں سے 3 گے اب اس کے پاس 1 اپل بچہ یعنے کی ہم نے اس کے اس کے اس کے اسٹور کو بڑیٹ کر دیا یہ معلوم ساہج گے اور ہم نے کیا اگے ہم نے 3 تو ٹھائی لیے تو Order میں چکھا items اس میں پوچھ بے کر دیں یہ یہ والی کو انٹرٹی کو کیا ہم نے اس کے 유 کی اپنی کو انٹرٹی اٹھہ لیے کیا اگر میں 4 اپل جی تو 3 اپل دو میں چاہ اپل اپل کے لابہ میں 4 ارجز ہی کوئی بات یہ 3 اپل مل گے اب اس کے با 3 اپل اب چک کروں اس کے پاس ارجز کیتاہ تو وہ میں دبارہ سے دوبھ کروں اس سے پہلے میں کیا میں کیا a کو انٹرٹی کو اگر کوئنتی تیڈی نیڈیٹ جو میں چھائیے تھیں وہ زیادہ تیڈیٹے سے کیوں کہ میں کام لیے ہم نے چار اپل چیے تھے پر تیڈی نہیں ملے تو مجھگہ کریں گے all items of SKU میں سے کوئنتی تیڈیڈیڈیڈیڈیڈیڈیڈیڈیڈیڈیڈیڈیڈیڈیڈیڈے یعنی کی اپنے لستم ہے بسکپڑڈڈیڈ کر دیں گے یہ والے اس میں لوک کر رہا ہوں تو میں چاہتا میں last میں ریس کر دیں گے تو ایک vector نہ رکھا تو ریس اس میں اس کو پوچھ بک کر دیا چکے اور یہاں پے ازائن کر دیا true یعنی کی ہمیں کچھ نہ کچھ تو مل گیا ازائن true cup نہیں ہوتا تو مل گیاں سے یہاں سے نہیں گل جاتا یہی سے continue کر دیاں سے نہیں گل جاتا یعنی کی وہ item ہمیں ملتا ہی نہیں چکے تو یہ ہم نے for loop میں کیا I hope آپ کو تھوڑی وچی دکلیر ہوں گی I hope you all SKUs in all items we erase any fully satisfied SKUs from the all item map ایک بر ملو ہم نے all items میں loop through کر لیا ایک پڑکلر store میں دیکھیں ہم dark store 1 میں گئیں all items میں loop through اب ہم جو items fully دکل چکے بیسکلی ملو میرے کو 3 اپل چیے تو اس میں 3 اپل دے اسے 3 دے دیے تو اس کے بہت 0 اپل بچے ہے نا تو یہ جو 0 اپل بچے اس کو update کرنا پڑے گا ہمیں یعنی کی جو بھی 2 erays نہ مق بک vector میں ہاں ہمیں ان کو all items سے erays کرنا پڑے گا all items کیا ہے ہمارے پسے گنا پہ ہے تو all items سے erays کر دیا اس SKUs یہ میں کیوں کرنے تاکہ ہم دوارہ سے اس items کے اس items سے گوثرنا کریں گا کریں گا ہم دوثری dark store پڑے جا ہے ہم سے 3 اپل لہاں گلے تم نے یہ بھی کر دیا اب ایک اور چیس کر سکتے ہیں ki if at least one SKUs taken from the store we assign a new delivery partner اگر ہم نے کسی store سے ایک بھی چیز اٹھایا ہے ایک اپل بھی اٹھایا کریں فسائد اٹھرو اگر ہم نے کوئی value اٹھایا ہے اگر لیوری پٹنگ کے ازورت ہے تو میں اگر لیوری پٹنگ کا نام اسائن کریں گے کیسے ہم یہاں اپل کچھ نہیں کر رہے ہم لیتے اپاٹنر اور ایک پٹنر کی ID جو بھی اس کی ID ہوگی plus plus تو ہمیں شک نیا پٹنگے پٹنر 1 پٹنر 2 پٹنر 3 ایسے کر کے ملیتے جائیں گے اور وہ پٹنر کا نام ہو گیا اور ہم نے کہا تو میں ایک نیا پٹنر دیزے جائیں گے اور فیلنلی یہ دیکھا ہمیں لوب پھنگ دو گیا فیل دوبارا سے ہم لوب میں گئے ہم نے نیسٹور میں گئے نیسٹور میں چکی ایتمس کو نیسٹور کی ساری کوئیٹیس کو جا کر کے دیکھا اگر کچھ بھی اٹھایا تو ازائن ٹروک کر دیا ٹروک کر دیا تو ایک نیا دیلری پٹنر ازائن کر دیا ایسے ہم کرتے جائیں گے نینہ دیلری پٹنر ازائن ہوتے جائیں گے اب دیکھا یہ ہے کی ہم نے سارے داخلیٹیسٹور جترے بھی ایوزر کی از پاس سے سب ختم کر لے پر ابھی بھی کچھ ایتمس رہے گئے ایوزر کے قات میں جو کوئی بھی فلفل نہیں کر پیا تو اگر کچھ بھی کوئی بھی فلفل تبھی نہیں کر پیا اگر اوال ایتمس ابھی بھی امتی نہیں ہوا تم ایک سمپل ایک مانلو ایررمیسج پر اند کر دیں گے اس کرین پے کہ بہی کوڑناٹ فلفل یہ ایتمس کون کون سے یہ اس کے ایو اور یہ کوئیٹیم فلفل کر ہی نہیں پائیں چکہ تم باکی بچا وہ آردہ کم سے کم یوڑ کو دیں اگر یوزر نے بہت سارا آردر مانگتس میں دوتے نائٹم نہیں بھی آپا ہے کوئی بات نہیں ہم گئیں گے ہم نے ہر داکسٹور بھیزٹ کر کر دیکھلیا وہ میں نہیں ملے ابھی ابھی جو ملا ہم نے آپ کو دیگیا چکہ اس کے بعد ہم نے اپنے آردر کے ٹوٹل ایمان کو ری کمپیٹ کیا کیا سے کیا ہم نے ہوسکتے سارے آئیٹمہ میں نہ ملے اسلام ری کمپیٹ کر رہے ضراد ہے نہیں تو ہم تو سیدہ گیٹ پریس کر سکتے دیں رہیٹ کارٹمہ جا کر گے گیٹ پریس کر سکتے پر کیا یہاں پہنے ہم نے ہم کیا سے کرتے ہوگے ہم سارے داکسٹورس میں جاتی ہوگے ہم ہم کیا جتری ہیٹمہ ہم ان سب کو فیچ کر کر کر گے ہم سب کو سکرین بھ دیگہ کرتے ہوگے ہم وہی کر رہے سارے اویلیوال پڑھت ڈاکسٹ کیا ہم ہم ہم ہم ہم ہم ہم ہم ہم ہم ہم ہم ہم ہم ہم ہم تو ایک داکسٹرز بن آئے ہیں obviously when real application we will do it in real application so in this way we don't initialize the things we create the current operation with the database so in that we will create a new docs to create, remove, delete and so on but here because we have a systematic way to explain how to do it how to do it how to do it how to do it how to do it how to do it how to do it how to do it how to do it how to do it how to do it how to do it how to do it about the docs so on열 we had built in 6 bitcoin output hidden its stored these cause the text counter میں رجسٹر داکسٹر کال کر کے میں نے ان்தீوں کو رجسٹر کر با دیا چکے 1 چیز ہو گئی اب چلتے اپنے میں کی طرف اب دیکھو میں میں یہ ہے ہمارہ پورہ کا بھورے خیپی فلو that's it happy flow میں دیکھا مگہ کرتے ہیں سپسے پہل اینشلائیس کال کرتے ہیں zapto کا اینشلائیس ایک static methaa جو نے بتایا تھا آپ کو یہ رہا یہ رہا اسے کیا ہوا یہ سارے داکسٹرز بنکے ریڈی ہو گیا میری ہاتے اب ایک میں میں کرتے کی ایک یوزر آیا platform t چکے یوزر آجتے ہیں نام کا platform t آیا جس کے یہ کارڈی نیٹس ہے 1.1 اب یوزر کا نام ہم نے پر انٹ کیا کی یوزر کا نام یہ ہے اور یہ platform t آیا فیر ہم نے کیا شو all items call کر دیا zapto ka تو شو all items آپ کو پتایئی کیاکشو کرے گا جتنے بھی پاچ کلمٹر دائرے میں darkstored سہون سپسے پرڑھٹنے کلکہ لگے اور ان پر شو کرے گا let's say a آپ کو یہ دو گا اپل تھا 102 کیا تھا 102 تھا بنانا اور 103 دی چاکلے تو اس نے اپل بنانا اور چاکلے تو کاتمے دال دیا یہ چار کو انٹ کی یہ 3 کو انٹ کی اور یہ 2 کو انٹ کی اب دیکھو اب آپ خود سے سوچو اور فیرہ لی ہائیس نے ایک اور باتاتا اس نے آڈر کو پلیس کر دیا اب جسی آڈر پلیس ہوگا تو اب ہوں کہ لیکتا کتنے داکسٹر کی ضرورت پڑے کی زرورت پڑھا فلفل کرنے گلے دیکھو خود سے سوچو ہمارے پاس 3 داکسٹر سے a b اور c اور 3 5 kilometer کے دائرے میں آتا یہ زیلی تیگ ہے تو 3 کے 3 آجیں گے اب ہم دیکھیں گے کیا جو پہلہ داکسٹور ہے جو داکسٹور 1 داکسٹور a اس کے بات کون بون سایٹم ہے اس کے بات اپل ہے اور بنانا ہے پہلچ کو انٹ کی میں اپل ہے 2 کو انٹ کی میں بنانا ہے پر ہمیں 4 کون دیڈیоф اپلچے یعنی کی داکسٹور 1 فلفل کر دے گا اور ہمیں 2 3 کو انٹ کی بنانا چاہیں یعنی کی داکسٹور 1 فلفل نہیں کر پہے گا پہمیں داکسٹور 2 2 پے جانا پڑے گا اب داکسٹور 2 پے جانے داکسٹور 2 کے پاس کیا ہے اپل ہے اور چاکلیٹس کے بات بھی بنانا تو ہی نہیں تو داکسٹور 2 پھر ہمیں داکسٹور 3 پہ جانا پڑے گا داکسٹور 3 پہ 5 بنانا ہے ہمیں تو 2 چاہیں دے 3 چاہیں ٹیک ہے 3 چاہیں پہنچ بنانا ہے فلفل کر دے گا تو داکسٹور 1ی ضرت پڑی داکسٹور C کی ضرت پڑی اور ہمیں چاکلیٹ بھی چاہیں 1 0 3 جو کیا میں 2 چاہیں دی 1 0 3 ہمیں داکسٹور بیزے مل جائیں ٹیک ہے پرنٹ ہو جانا چی ہے اب ہم پورا کا پورای سے ایک بررنگر کر دیکھتے ہیں تو یہ دیکھو, سب کچھ پرنٹ ہو گیا سب سے پہلے ہماری ایٹنڈیاد ہو ریا ایٹنڈیگستوکنڈاکسٹور یہیٹ کیا, یہیٹ کیا, یہیٹ کیا اس کے بعد ایک یوزر بھی دنے ہوا دیتے ایک ہمسونڈ پیٹھ فوم او all available اب دیکھو میں ساری اویلیبل پڑھڑ دیتے ہیں تو 101 Apple available in Beesurpe بنانا ایٹ بیسدس چاکلے ٹیشٹ پانسورپی میں ٹیشٹ پانسورپی میں ٹیشٹ پیٹھ فیم نے قاعد مائید مکا ایٹ کیا Apple کو چاریٹ کیا بنانا ٹیشکلے ٹیشٹ پیٹھ اب میں نے ایٹر پیس کر رہوں میں سب سے بلے داکسٹور ایپے گئے اس نے کہا داکسٹور ایسپلایس Apple Char سپلای کر دے گا لیکن جو بنانا ہے اس اس دو سپلای کر پائے گا این کہ ایک بنانا ہے گیا تو دیلیری پٹھنٹ وانا سائن کر لیا فو داکسٹور ایپے فرہم ایک ایگے بات گیا داکسٹور ایپے ہم نے کہای داکسٹور ایگ ٹو کے ایک کو ہم میں دے گا ایک ٹو کا مطلب بنانا جو بچا ہوا ایک بنانا تھا وہ داکسٹور ایپے دے گا اور فرہمیں پٹھنٹ ٹو سائن کر داکسٹور ایگے لیے فرہ فیم کیا داکسٹور بیگے لیے بی کے باس چیوكلےٹ کے لیے ہم نے کہ 100 3 ھنے کی جو چاکلے تھے ہمیں 2 ھنے اس کے بہت 10 ھنے تو وہ 2 ھنے دے دے گا پھر پٹھنر 3 بسائیں کر لیا تو Order 的 Summary 我們 نے Print ھنے User ھا دے دے دے Item ھنے یہ سا بہڑھ رہے ہیں Total ھو گے 210 ھنے انہوں کو کلکلٹ کر لوں اور ابھر پہ 3 ھنے پٹھنر 1 پٹھنے 2 پٹھنر 3 تو اہو بہت کو یہ پورا کا پورا کور سمجھایا ہوگا ہو سکتا تھوڑا سا اورویلمینگ آپ کو لگا ہو پر 1 ھنے اگر آپ دوبارا سے گوٹھ رو کرو گے آپ پورے کے بھر ایڈزائن کو پورے کے بھر کوڑ کو پھا کس ساری چیزے کریسٹل کلیر ہو جائیں گے تو یہی تھا ہمیں پورا کا پورا زبٹو کا ایڈمنٹری مینجمٹ بنانا اہو بہت کو مزا تو آیای ہوگا اس کے لئے میں آپ کے لیکھوں وقت بھی رکھا ہے جو میں اچھا تھا ہوں کہ اگ دو فیچر آورہ جس کو آپ اینٹگریٹ کرو فیگر آپ کی لرنگ کر بیٹھ رو پائے تو دیکھوں یہ کچھ ایک ایک چینچنسے جو میں چاہتا ہوں آپ ایڈ کرو سپسے پہلے آپ ایڈ کرو رائر مائپیگ الگواریтом یہاں پہلے آپ کو کہتا کہ دلیوری پاٹھر ایسائن ہو جائے پر کون سا دلیوری پاٹھر ایسائن ہوگا آپ دلیوری پاٹھر ایسائن ہوگا மوڑڑڑھا بنا دو. اب یہ مان کے چلو, Опشتہ لے, ضروری نہیں کیا بنا ہو. پر மوڑڑڑڑ بنانی سے نہ,コード سے ہاں بیٹھر ساں جاتے.
موڑڑڑڑ بنانے کا مطلب کیا ہوا.コード کو اولاگلک فائل میں لکھو, جس میں زوماٹوالے, کوڑڑڑھا لکھا تھا. تو یہ 3 چیزیں, میں چاہاں تھاں, جس پہ ورک کرو, ایک برس کو اچھے سے انٹیگریٹ کرنے کی گوشش کرو. آپ اپنے انسرس کو بھی لگڑڑڑھا بوست کرو. باکی پورا کبر و ایمال تو آپ کو یہاں ملگیا ہے.
اس کو ایس کرو. اور پھر اس کو اس کے ساتھ انٹیگریٹ کرنے کی گوشش کرو. اور دیکھا وہ, کیا سے آپ از میں انٹرسیک کرتے ہیں. تو اس βیڈوں میں بس اتنایں, آپ سے ملتے ہیں next βیڈوں میں.
تبتاک لیے, Thank you so much. Thank you so much.
Lesson FAQs
What is Build Zepto | 10-Mins Quick Commerce | Inventory Management | System Design about?
حن جی تو کرے start welcome back to our army our salary series and today's lecture we will take a new design problem for you so what are we going to make today? see today we are going to make our own 10 minute delivery
What key concepts are covered in this lesson?
The lesson covers System Design, Low Level Design, High level Design, System Design for Beginner, System Design for advance level.
What should I learn before Build Zepto | 10-Mins Quick Commerce | Inventory Management | System Design?
Review the previous lessons in System Design Full Course, then use the transcript and key concepts on this page to fill any gaps.
How can I practice after this lesson?
Practice by applying the main concepts: System Design, Low Level Design, High level Design, System Design for Beginner.
Does this lesson include a transcript?
Yes. The full transcript is visible on this page in indexable HTML sections.
Is this lesson free?
Yes. CourseHive lessons and courses are available to learn online for free.
