मामा कैलेंडर – क्रॉस-प्लेटफ़ॉर्म अनुस्मारक ऐप

Written by

in

मामा कैलेंडर एक क्रॉस-प्लेटफ़ॉर्म ईवेंट और रिमाइंडर एप्लिकेशन है जो रिएक्ट नेटिव (एक्सपो) में दो बैकएंड कार्यान्वयन के साथ लिखा गया है: Node.js + MongoDB और PHP + MariaDB।

एप्लिकेशन आपको इमोजी वर्गीकरण के साथ ईवेंट बनाने, पुनरावृत्ति के प्रकार (एक बार, वार्षिक, मासिक, साप्ताहिक, दैनिक) का चयन करने और अगले 3 दिनों के लिए एक अलग “महत्वपूर्ण ईवेंट” टैब में महत्वपूर्ण ईवेंट देखने की अनुमति देता है।

प्रौद्योगिकी स्टैक

फ्रंटएंड रिएक्ट नेटिव 0.86 में एक्सपो एसडीके 57 के माध्यम से टाइपस्क्रिप्ट, नेविगेशन के लिए एक्सपो राउटर और एनिमेशन के लिए <कोड>रिएक्ट-नेटिव-रीएनिमेटेड के साथ लिखा गया है। एक्सपो-प्रतीकों का उपयोग आइकनों के लिए किया जाता है (आईओएस पर एसएफ प्रतीक, एंड्रॉइड/वेब पर सामग्री आइकन)।

बैकएंड दो संस्करणों में लागू किया गया है:

  • Node.js: एक्सप्रेस 4, मूल ड्राइवर के माध्यम से MongoDB 8, स्क्रिप्ट + नमक के साथ कस्टम प्रमाणीकरण, मैन्युअल टोकन प्रबंधन। डॉकर कंपोज़ क्लाइंट (nginx), सर्वर और MongoDB लाता है।
  • PHP: फ्रेमवर्क के बिना PHP 8.2, PDO + MariaDB 11, पासवर्ड हैशिंग के लिए bcrypt, आपका अपना राउटर और कंपोजर के माध्यम से PSR-4 ऑटोलोडिंग।

एप्लिकेशन फ़ंक्शन

  • पंजीकरण और प्राधिकरण: उपयोगकर्ता नाम/पासवर्ड और बियरर टोकन के साथ सरल प्रणाली
  • CRUD ईवेंट: दिनांक, इमोजी और दोहराव प्रकार के साथ ईवेंट बनाएं, देखें, संपादित करें और हटाएं
  • स्मार्ट फ़िल्टरिंग: महत्वपूर्ण ईवेंट टैब पुनरावृत्ति नियमों को ध्यान में रखते हुए, अगले 3 दिनों के लिए ईवेंट दिखाता है। उदाहरण के लिए, वार्षिक घटनाएँ निकटतम वार्षिक घटना दर्शाती हैं, मासिक – महीने के दिन के अनुसार, साप्ताहिक – सप्ताह के दिन के अनुसार
  • इमोजी पिकर: घटनाओं के त्वरित वर्गीकरण के लिए 20 प्रीसेट इमोजी
  • आज की घटनाओं को हाइलाइट करना: आज की घटनाओं को लाल पृष्ठभूमि (#B71C1C) के साथ हाइलाइट किया गया है
  • डार्क थीम: लाइट और डार्क थीम के लिए अलग-अलग पैलेट के साथ सिस्टम रंग योजना का स्वचालित पता लगाना
  • अंतर्राष्ट्रीयकरण: रिएक्ट संदर्भ के माध्यम से रूसी और अंग्रेजी भाषाएँ
  • Анимации: анимированный сплэш-скрин с Keyframe API и упругой интерполяцией, анимированная иконка приложения с вращающимся свечением
  • एडमिन एंडपॉइंट: उपयोगकर्ताओं, टोकन को प्रबंधित करना और मास्टर टोकन के माध्यम से डेटाबेस को साफ़ करना

दो बैकएंड कार्यान्वयन क्यों?

Node.js संस्करण मुख्य है, लेकिन PHP संस्करण अधिक क्लासिक होस्टिंग के विकल्प के रूप में मौजूद है। एपीआई पूरी तरह से समान है, जो आपको क्लाइंट कोड को बदले बिना उनके बीच स्विच करने की अनुमति देता है।

बुनियादी ढाँचा

पूरे स्टैक को डॉकर कंपोज़ के माध्यम से उठाया गया है: क्लाइंट को मल्टीस्टेज बिल्ड (एक्सपो एक्सपोर्ट → nginx अल्पाइन), Node.js, MongoDB 8 पर एक सर्वर के माध्यम से इकट्ठा किया गया है। PHP संस्करण के लिए MariaDB 11 और परीक्षणों के लिए phpunit के साथ एक अलग कंपोज़ फ़ाइल है।

वेब संस्करण की असेंबली एक PowerShell स्क्रिप्ट द्वारा स्वचालित की जाती है जो एक्सपो एक्सपोर्ट से पहले API_URL को पैच करती है और बाद में मूल को पुनर्स्थापित करती है।

आउटपुट

मामा कैलेंडर एक पूर्ण विशेषताओं वाला क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन है जो पूरे चक्र को कवर करता है: रिएक्ट नेटिव पर मोबाइल और वेब फ्रंटएंड से लेकर दो सर्वर-साइड विकल्पों तक। यह परियोजना अपनी वास्तुकला, आधुनिक एक्सपो एसडीके क्षमताओं के उपयोग और दोहरे बैकएंड कार्यान्वयन के लिए दिलचस्प है।

लिंक

https://github.com/zefir1990/Mama-Calendar
https://demensdeum.com/software/mama-calendar/events

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *