रनिंग रिकॉर्ड ऐप
अंतिम अपडेट: 9 जुलाई 2026
रनिंग रिकॉर्ड ऐप एक मोबाइल ऐप है जो फोन से दौड़ी गई दूरी, समय, पेस और रूट को उसी समय दर्ज करता है, और लॉग इन किए हुए व्यक्ति को केवल उसका अपना रिकॉर्ड दिखाता है। दौड़ पूरी होते ही आज का रिकॉर्ड सूची में जुड़ जाता है, और एक व्यक्ति का रिकॉर्ड दूसरे को दिखाई नहीं देता।
यह उदाहरण एक ही बात दिखाता है। जो बैकएंड वेब सेवा में इस्तेमाल होता था, वही मोबाइल ऐप ज्यों का त्यों इस्तेमाल करता है। रिकॉर्ड रखना, सदस्य लेना, हर किसी को केवल उसका अपना रिकॉर्ड दिखाना, ये काम वेब में हों या ऐप में, अलग नहीं होते। इसलिए यह उदाहरण भी उस बैकएंड (रिकॉर्ड रखने वाला डेटा, सदस्य लॉगिन, केवल अपना रिकॉर्ड देखने का अधिकार) को तैयार करने की पूरी प्रक्रिया शुरू से अंत तक दिखाता है, और मोबाइल होने के कारण बदलने वाली दो बातें, यानी वितरण और लॉगिन के परिणाम को ऐप में वापस लाने वाले कनेक्शन को ही अलग से बताता है।
हम क्या बनाते हैं
कपड़ों की दुकान या ब्लॉग की जगह, इस बार का उदाहरण एक व्यक्तिगत रनिंग रिकॉर्ड ऐप है। स्क्रीन तीन तय की गई हैं।
- लॉगिन स्क्रीन: Google से लॉग इन करते हैं।
- रिकॉर्ड सूची: लॉग इन किया हुआ व्यक्ति अब तक दर्ज किए अपने रनिंग रिकॉर्ड को नवीनतम क्रम में देखता है।
- रिकॉर्ड जोड़ना: दौड़ी गई दूरी, समय, पेस, रूट और तारीख दर्ज करते हैं।
मूल बात यह है कि "हर कोई केवल अपना रिकॉर्ड देखता है"। लॉग इन किए हुए व्यक्ति को केवल उसके द्वारा दर्ज किया गया रिकॉर्ड ही पहुँचता है, और दूसरों का रिकॉर्ड दिखाई नहीं देता। यही शर्त आगे चलकर सदस्य लॉगिन और अधिकार को एक साथ ज़रूरी बना देती है।
![]()
![]()
![]()
पहले स्क्रीन बनाकर फिर जोड़ना
इस ऐप को खुद बनाने का रास्ता दो कदम का है। पहले ऐप की स्क्रीन बनाते हैं, और उसके बाद उस स्क्रीन के पीछे का काम WEEGLOO को सौंप देते हैं।
1. स्क्रीन डिज़ाइन बनाना। ऊपर की स्क्रीन LLM को नीचे जैसा प्रॉम्प्ट देकर निकाली गई हैं। किस काम का ऐप है यह एक पंक्ति में, स्क्रीन की सूची और हर स्क्रीन में रखी जाने वाली सामग्री, तथा डिज़ाइन की दिशा लिख देने भर से काम हो जाता है।
रनिंग रिकॉर्ड ऐप की स्क्रीन डिज़ाइन कर दो। यह वर्टिकल मोबाइल ऐप है।
स्क्रीन:
- लॉगिन: ऐप का एक पंक्ति का परिचय और "Continue with Google" बटन।
- रिकॉर्ड सूची (होम): कुल दूरी और रनिंग की संख्या का सारांश, रनिंग रिकॉर्ड कार्ड की सूची (तारीख, दूरी, समय, पेस, रूट थंबनेल), रिकॉर्ड जोड़ने का बटन।
- रिकॉर्ड जोड़ना: तारीख, दूरी, समय, पेस, मेमो और रूट फ़ोटो का इनपुट तथा सहेजना।
साफ़-सुथरे और सक्रिय अंदाज़ में, ताकि दूरी और पेस जैसे आँकड़े एक नज़र में पढ़े जा सकें। मोबाइल UI की प्रथा का पालन करता है।
ऊपर "हम क्या बनाते हैं" की तीनों स्क्रीन इसी प्रॉम्प्ट से निकला परिणाम हैं। अभी न डेटा है न लॉगिन, केवल स्क्रीन की स्थिति है।
2. WEEGLOO से जोड़ना। एजेंट को WEEGLOO से कनेक्ट करते हैं (कनेक्ट करना) और यह कहते हैं।
WEEGLOO से जोड़ दो।
क्या बना रहे हैं यह लंबा समझाए बिना ही, एजेंट इन स्क्रीन को देखकर स्क्रीन के पीछे ज़रूरी चीज़ें तैयार कर देता है। पूरा काम सौंप देने का यह तरीका एक वाक्य में जोड़ना जैसा ही है।
स्क्रीन के पीछे WEEGLOO जो तैयार करता है
"जोड़ दो" इस एक वाक्य पर एजेंट स्क्रीन देखकर जो तैयार करता है वे ये चार चीज़ें हैं। यह स्क्रीन के पीछे WEEGLOO जो बैकएंड संभालता है, वही है।
- रनिंग रिकॉर्ड रखने वाला डेटा ढाँचा (Content Type)। दूरी, समय, पेस, रूट, तारीख जैसे आइटम रखता है।
- Google लॉगिन (ServiceLogin)। ऐप के उपयोगकर्ता खुद पंजीकरण करके लॉग इन कर सकें, यह करता है।
- "केवल अपना रिकॉर्ड" अधिकार। लॉग इन किए हुए व्यक्ति द्वारा दर्ज किया गया रिकॉर्ड ही वह व्यक्ति पढ़, लिख और मिटा सके, यह करता है।
- अपने रिकॉर्ड का वितरण। लॉग इन किए हुए व्यक्ति को उसके ही रिकॉर्ड की सूची भेजता है।
ये चारों वही हैं जो इसी सेवा को वेब पर बनाते समय ज़रूरी होते हैं। हर टुकड़े को अलग-अलग संभालने का तरीका सदस्य पंजीकरण और लॉगिन जोड़ना, अधिकार बाँटना, डेटा सहेजना और निकालकर इस्तेमाल करना में एक-एक करके बताया गया है। रूट मैप की छवि या फ़ोटो भी साथ रखना हो तो फ़ाइल (Media) भी जोड़ी जा सकती है।
असल में जो बनाया गया
नीचे इस उदाहरण के Stride Space में असल में बनाए गए रिसोर्स हैं। यह एक-एक चीज़ सेट करने का तरीका नहीं, बल्कि "जोड़ दो" के परिणामस्वरूप इस ऐप में क्या बना, यह देखते हैं।
रनिंग रिकॉर्ड रखने वाला ढाँचा
पहला है, रनिंग रिकॉर्ड रखने वाला ढाँचा (Content Type) "Run"। एक रनिंग में जो मान आते हैं वे आइटम के हिसाब से अलग-अलग खानों में बँटे हैं।
![]()
| आइटम | खाने की किस्म | अनिवार्य | रखा जाने वाला मान |
|---|---|---|---|
Date | Date | अनिवार्य | दौड़ी गई तारीख। सूची में रिकॉर्ड को दर्शाने वाले शीर्षक के रूप में भी इस्तेमाल होती है। |
Distance (km) | Number | अनिवार्य | दौड़ी गई दूरी (किलोमीटर)। दशमलव तक डालते हैं। |
Duration (seconds) | Integer | अनिवार्य | लगा समय (सेकंड में)। स्क्रीन पर 41:05 जैसे मिनट-सेकंड में दिखाया जाता है। |
Notes | Long Text | वैकल्पिक | उस दिन की रनिंग का मेमो। |
Route photo | Media | वैकल्पिक | रूट मैप या फ़ोटो की एक फ़ाइल। |
औसत पेस को अलग से सहेजने वाला कोई खाना नहीं है। दूरी और समय हों तो यह अपने आप निकलने वाला मान है, इसलिए ऐप इसे उसी समय गणना करके दिखाता है (रिकॉर्ड जोड़ने की स्क्रीन का "auto-calculated")।
Google लॉगिन
दूसरा है, वह रास्ता जिससे सदस्य Google से लॉग इन करते हैं (ServiceLogin)। इस उदाहरण में इसका नाम "Stride" रखा गया है, और लॉगिन का तरीका केवल Google एक ही चालू किया गया है। नया लॉग इन करने वाला व्यक्ति डिफ़ॉल्ट रूप से नीचे दिया "Runner" अधिकार पाता है। लॉगिन पूरा होते ही उसका परिणाम लॉगिन के परिणाम को ऐप में वापस लाना में बताए बिचौलिए पुल जैसे पेज से होकर ऐप में लौट आता है।
"केवल अपना रिकॉर्ड" अधिकार
तीसरा है, सदस्य को मिलने वाला अधिकार (ServiceUserRole) "Runner"। नियम ऐसे हैं।
| जो काम कर सकते हैं | लागू दायरा |
|---|---|
| रिकॉर्ड बनाना | लॉग इन किया हुआ कोई भी सदस्य |
| रिकॉर्ड पढ़ना | केवल अपना बनाया हुआ |
| रिकॉर्ड बदलना | केवल अपना बनाया हुआ |
| रिकॉर्ड मिटाना | केवल अपना बनाया हुआ |
"पढ़ना" "केवल अपना बनाया हुआ" तक सीमित होने से, सूची में हर किसी को केवल उसका अपना रिकॉर्ड ही दिखता है। पहले बताई चार चीज़ों में से 3 नंबर (अधिकार) और 4 नंबर (वितरण) असल में इसी एक नियम से एक साथ निकलते हैं। हर सदस्य को केवल अपना रिकॉर्ड ही पढ़ने को मिलता है, तो वही उस व्यक्ति तक पहुँचने वाली सूची बन जाती है।
रिकॉर्ड और फ़ोटो
चौथा है, एक-एक रनिंग रिकॉर्ड (Content) और रूट फ़ोटो (Media)। ये दोनों पहले से बनाकर नहीं रखे जाते, बल्कि जब सदस्य ऐप में रनिंग दर्ज करता है तब उसके नाम से एक-एक करके बनते हैं। नीचे असल में दर्ज किया गया एक रिकॉर्ड है। पिछले "Run" ढाँचे में मान भरे गए हैं, और रूट फ़ोटो साथ जुड़ी हुई है।
![]()
दूरी 42.195 मैराथन की फुल कोर्स है। समय सेकंड में रखा जाता है (यहाँ 3 घंटे 53 मिनट का रिकॉर्ड), और ऐप में 3:53:00 जैसे दिखाया जाता है। रूट फ़ोटो फ़ाइल (Media) के रूप में अलग सहेजी जाती है, और रिकॉर्ड में उस फ़ाइल को दर्शाने वाला कनेक्शन भर रखा जाता है। "हम क्या बनाते हैं" की सूची और कार्ड ऐसे ही कई रिकॉर्ड जुड़ जाने का रूप हैं।
वेब से अलग दो बातें
यहाँ तक सब कुछ वेब जैसा ही है। वही बैकएंड मोबाइल ऐप ज्यों का त्यों इस्तेमाल करता है। मोबाइल होने के कारण जो बदलता है वह केवल दो बातें हैं।
वितरण: ऐप मार्केट WEEGLOO के बाहर
वेब सेवा में बनी हुई चीज़ को Web Hosting से इंटरनेट पर डाला जा सकता है (साइट को इंटरनेट पर डालना), पर बनी हुई मोबाइल ऐप को लोगों के हाथ तक पहुँचाने का काम (ऐप मार्केट में पंजीकरण) WEEGLOO के बाहर होता है। WEEGLOO जो संभालता है वह ऐप स्क्रीन के पीछे का डेटा, सदस्य और अधिकार है।
लॉगिन के परिणाम को ऐप में वापस लाना
लॉगिन सुविधा अपने आप में वेब जैसे ही तरीके से जुड़ती है। बस, लॉगिन पूरा होने के बाद उसका परिणाम ऐप में वापस पाने वाला कनेक्शन वेब से अलग है। लॉगिन का परिणाम केवल वेब पते पर ही लौट सकता है, इसलिए उस परिणाम को ऐप तक पहुँचाने वाले बिचौलिए पुल की भूमिका वाला एक पेज एक कदम के तौर पर ज़रूरी होता है। यह तकनीकी कदम Auth API में बताया गया है।
जाँचना कि केवल अपना रिकॉर्ड ही दिखता है
इस ऐप की मूल शर्त, "हर कोई केवल अपना रिकॉर्ड देखता है", असल में निभती है। नीचे दो अलग-अलग खातों से एक ही ऐप खोलने पर की होम स्क्रीन है। ऐप एक ही है, पर कुल दूरी भी, रनिंग की संख्या भी, और सूची में दिखने वाला रिकॉर्ड भी अलग है।
![]()
![]()
एक खाते में 5km का एक ही रिकॉर्ड, दूसरे खाते में मैराथन और 3km के दो ही रिकॉर्ड दिखते हैं। एक-दूसरे का रिकॉर्ड सामने वाले को दिखाई नहीं देता। Stride में ये तीनों रिकॉर्ड मौजूद हैं (असल में जो बनाया गया देखें), पर हर सदस्य को केवल उसका दर्ज किया हुआ रिकॉर्ड ही पहुँचता है। पहले "केवल अपना रिकॉर्ड" अधिकार में पढ़ने को "केवल अपना बनाया हुआ" तक सीमित करने का यही नतीजा है।
आगे क्या करना है
- सदस्य पंजीकरण और लॉगिन जोड़ना: अपने खुद के सदस्य लेने वाला लॉगिन अलग से जोड़ने का तरीका बताता है।
- Auth API: लॉगिन के परिणाम को ऐप में वापस लाने का तकनीकी कदम बताता है।
- अधिकार बाँटना: सदस्य केवल अपनी ही चीज़ें संभालें, इसके लिए अधिकार तय करने का तरीका बताता है।
- डेटा सहेजना और निकालकर इस्तेमाल करना: डेटा ढाँचा बनाने और सामग्री भरने का तरीका बताता है।
