Zenzop: لاسٹ مائل کے لیے بنائے گئے ڈیلیوری ایپس
مسئلہ
Zenzop ایک آن-ڈیمانڈ ڈیلیوری ایپ ہے: کھانا، گروسری، دوائیں، اور روزمرہ کی ضروریات آپ کے دروازے تک۔ ڈیلیوری دو چیزوں پر ٹکتی یا گرتی ہے جنہیں کسٹمر سیدھے محسوس کرتا ہے: کیا مجھے پتہ ہے میرا آرڈر کہاں ہے، اور کیا ETA ایماندار ہے۔ میرا کام ان ایپس کو بنانا تھا جو دونوں کو سنبھالیں، صفر سے، iOS اور Android کے لیے۔
فیصلے
دو ایپس، ایک کام۔ میں نے دونوں طرف مکمل طور پر React Native میں بنائے: Shop ایپ جس سے کسٹمر آرڈر کرتا ہے، اور Rider ایپ جسے ڈیلیوری پارٹنر چلاتا ہے۔ ہر ایک iOS اور Android پر شپ ہوا، تاکہ ایک چھوٹی ٹیم چاروں سرفیس پر ایک ساتھ کام کر سکے۔ Google Maps ریئل-ٹائم جیو لوکیشن اور روٹ آپٹیمائزیشن سنبھالتا ہے، وہی ریڑھ جو دونوں ایپس شیئر کرتے ہیں۔
لائیو ٹریکنگ جو لاک شدہ فون میں بھی چلے۔ رائیڈر کا فون پوری ٹرپ جیب میں رہتا ہے۔ میں نے بیک گراؤنڈ لائیو ٹریکنگ بنائی تاکہ رائیڈر کی پوزیشن تب بھی بہتی رہے جب ایپ فور گراؤنڈ میں نہ ہو، اور iOS پر میں Swift کے ساتھ نیٹِو گیا تاکہ Live Activities چلا سکوں: آرڈر اسٹیٹس اور رائیڈر پروگریس Dynamic Island اور لاک اسکرین پر، تاکہ کسٹمر بغیر کچھ کھولے دیکھ سکے کہ اس کا کھانا کہاں ہے۔ ایک ایپ جسے لوگ چیک کرتے ہیں اور ایک ایپ جس پر لوگ بھروسہ کرتے ہیں، ان دونوں کے درمیان یہی فرق ہے۔
ایک ETA انجن، ETA اندازہ نہیں۔ ڈیلیوری ETA ایک وعدہ ہے۔ میں نے ایک انجن بنایا جو اسے ڈسٹینس میٹرِسس، لائیو ٹریفک، رائیڈر کی لائیو پوزیشن، اور روٹ کے ہسٹاریکل ایوریج سے کیلکولیٹ کرتا ہے، نہ کہ ایک سیدھی-لائن کے اندازے سے۔ اس نے ETA کی درستگی 28% بڑھائی، وہ نمبر جو کسٹمر ہر ایک آرڈر پر محسوس کرتا ہے۔
لوڈ میں تیز، فکس میں تیز۔ میں نے ایپس کو 30% تیز لوڈ ٹائم کے لیے ری فیکٹر کیا اور CodePush جوڑا، تاکہ اوور-دی-ایئر اپڈیٹس پورے اسٹور ریلیز کے بغیر سیدھے صارفین تک پہنچیں۔ فکسز اور تبدیلیاں اسی دن آتی ہیں، اگلے ریویو سائیکل میں نہیں۔
ڈاکس تاکہ API بوٹل نیک نہ بنے۔ میں نے جامع Swagger API ڈاکیومنٹیشن لکھی تاکہ کلائنٹ اور بیک اینڈ ٹیمیں ٹرائبل نالج کے بجائے ایک سنگل سورس آف ٹروتھ کی بنیاد پر بلڈ، ٹیسٹ، اور انٹیگریٹ کر سکیں۔
نتیجہ
دونوں ایپس iOS اور Android پر شپ ہوئیں: ایک کسٹمر ایپ اور ایک رائیڈر ایپ صفر سے بنے، لائیو ٹریکنگ کے ساتھ جو جیب میں بھی ٹکتی ہے، Dynamic Island پر iOS Live Activities، اور ایک ETA انجن جو بیس لائن سے 28% زیادہ درست ہے۔ لاسٹ مائل ڈیلیوری کا وہ حصہ ہے جسے کسٹمر اصل میں تجربہ کرتا ہے، اور یہ ایپس اسی کو سنبھالا ہوا محسوس کرانے کے لیے بنے تھے۔