# Zenzop: ಲಾಸ್ಟ್ ಮೈಲ್‌ಗಾಗಿ ಕಟ್ಟಿದ ಡೆಲಿವರಿ ಆ್ಯಪ್‌ಗಳು

> Zenzop ನ ಕಸ್ಟಮರ್ ಮತ್ತು ರೈಡರ್ ಆ್ಯಪ್‌ಗಳನ್ನು React Native ನಲ್ಲಿ ಶೂನ್ಯದಿಂದ ಕಟ್ಟುವುದು: ಲೈವ್ ಟ್ರ್ಯಾಕಿಂಗ್, iOS Live Activities, ಮತ್ತು 28% ಹೆಚ್ಚು ನಿಖರವಾದ ಒಂದು ETA ಇಂಜಿನ್.

Canonical URL: https://saifsiddiqui.in/kn/work/zenzop/ (this is its markdown representation; the same URL serves HTML to browsers)
Other languages: en: https://saifsiddiqui.in/work/zenzop/ · hi: https://saifsiddiqui.in/hi/work/zenzop/ · ur: https://saifsiddiqui.in/ur/work/zenzop/ · te: https://saifsiddiqui.in/te/work/zenzop/ · ar: https://saifsiddiqui.in/ar/work/zenzop/ · hi-Latn: https://saifsiddiqui.in/hi-latn/work/zenzop/

**ಪಾತ್ರ:** ಸುನ್ನಾದಿಂದ ನಿರ್ಮಿಸಿದ  
**ಸ್ಟ್ಯಾಕ್:** React Native, Swift, Google Maps, CodePush

**ಕೊಂಡಿಗಳು**

- iOS: https://apps.apple.com/in/app/zenzop/id6749267701

## ಸಮಸ್ಯೆ

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 ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಬರೆದೆ
ಇದರಿಂದ ಕ್ಲೈಂಟ್ ಮತ್ತು ಬ್ಯಾಕೆಂಡ್ ತಂಡಗಳು ಟ್ರೈಬಲ್ ನಾಲೆಡ್ಜ್‌ನ ಬದಲು ಒಂದು ಸಿಂಗಲ್ ಸೋರ್ಸ್ ಆಫ್
ಟ್ರುತ್ ಆಧಾರದ ಮೇಲೆ ಬಿಲ್ಡ್, ಟೆಸ್ಟ್, ಮತ್ತು ಇಂಟಿಗ್ರೇಟ್ ಮಾಡಬಹುದು.

## ಫಲಿತಾಂಶ

{/* TODO(saif): metrics slot, installs / on-time delivery rate / order volume.
    Qualitative until real numbers land. */}

ಎರಡೂ ಆ್ಯಪ್‌ಗಳು iOS ಮತ್ತು Android ನಲ್ಲಿ ಶಿಪ್ ಆದವು: ಒಂದು ಕಸ್ಟಮರ್ ಆ್ಯಪ್ ಮತ್ತು ಒಂದು ರೈಡರ್
ಆ್ಯಪ್ ಶೂನ್ಯದಿಂದ ಕಟ್ಟಲಾಯಿತು, ಜೇಬಿನಲ್ಲೂ ಉಳಿಯುವ ಲೈವ್ ಟ್ರ್ಯಾಕಿಂಗ್, Dynamic Island ಮೇಲೆ iOS
Live Activities, ಮತ್ತು ಬೇಸ್‌ಲೈನ್‌ಗಿಂತ 28% ಹೆಚ್ಚು ನಿಖರವಾದ ETA ಇಂಜಿನ್ ಜೊತೆ. ಲಾಸ್ಟ್ ಮೈಲ್
ಡೆಲಿವರಿಯ ಕಸ್ಟಮರ್ ನಿಜವಾಗಿ ಅನುಭವಿಸುವ ಭಾಗ, ಮತ್ತು ಈ ಆ್ಯಪ್‌ಗಳು ಇದನ್ನೇ ನಿರ್ವಹಿಸಲಾಗಿದೆ ಎಂದು
ಅನಿಸುವಂತೆ ಕಟ್ಟಲಾಗಿತ್ತು.

ಎಲ್ಲಾ ಕೆಲಸ: [/kn/work/](/kn/work/)

---

Mohd Saif, Product Engineer. I build solutions, not dead software.
Email: saifmd238@gmail.com · GitHub: https://github.com/Saif-09 · LinkedIn: https://www.linkedin.com/in/mohd-saif-134076141/ · Résumé (PDF): https://saifsiddiqui.in/resume

More for agents:
- [/llms.txt](/llms.txt): short summary of this site
- [/llms-full.txt](/llms-full.txt): the complete text of every page in one fetch
- [/agents.md](/agents.md): when to use this site, and how to query it
- [/sitemap-index.xml](/sitemap-index.xml): every URL, in seven languages
