बहुतेक शालेय सॉफ्टवेअर म्हणजे जे आधीच घडून गेले ते नोंदवण्याची जागा. कोणीतरी हजेरी घेतो, कोणीतरी पावती नोंदवतो, कोणीतरी परिपत्रक टाइप करतो. सॉफ्टवेअर ते इमानेइतबारे साठवते. पण पाठपुरावा — दुसरी आठवण, तिसरा फोन, एखादे मूल आठवडाभर गैरहजर आहे हे लक्षात येणे — तो मात्र आधीच चार कामे करत असलेल्या माणसाच्याच डोक्यावर राहतो.
EdunodeX मधला ऑटोपायलट हा तोच पाठपुरावा करतो. केवळ एका दाव्यावर विश्वास ठेवण्याऐवजी तुम्हाला स्वतः पारख करता यावी म्हणून, हे प्रत्यक्षात यंत्ररचनेच्या पातळीवर काय आहे हे या पानावर मांडले आहे.
EdunodeX मध्ये “ऑटोपायलट” म्हणजे नेमके काय
ऑटोपायलट म्हणजे पॅकची सूची. पॅक म्हणजे एका ठराविक उद्देशासाठी बनवलेले, नाव असलेले, स्वयंपूर्ण स्वयंचलन: थकीत फीचा पाठपुरावा, सलग गैरहजेरी लक्षात आणून देणे, कायदेशीर मुदतीची आठवण लेखापालाला करून देणे. तुमच्या शाळेसाठी एखादा पॅक सुरू केल्यावर तुमच्याच शाळेच्या डेटाबेस स्कीमामध्ये एक किंवा अधिक नियम लिहिले जातात. त्यानंतर पार्श्वभूमीवर चालणारी प्रणाली ते नियम त्यांच्या वेळापत्रकानुसार तपासते आणि जे पाठवायचे ठरवले आहे ते पाठवते.
यासाठी कोणालाही सॉफ्टवेअर उघडून बसावे लागत नाही. तोच तर मुख्य हेतू आहे, आणि म्हणूनच खाली दिलेली सुरक्षाकवचे वैशिष्ट्यांच्या यादीपेक्षा जास्त महत्त्वाची आहेत.
पॅक ज्या विभागांशी संबंधित आहेत त्यानुसार वर्गवारीत ठेवले आहेत — फी, हजेरी, शैक्षणिक, संपर्क, अनुपालन, कामकाज आणि वेतन. सध्याची सूची, प्रत्येक पॅकची सेटिंग्ज आणि एका वेळी चालण्याचा अंदाजित खर्च ऑटोमेशन स्क्रीनवर पाहता येतो.
पॅकची रचना: अट, कृती, वेळापत्रक
पॅक तयार करत असलेल्या प्रत्येक नियमाला नेमके तीन भाग असतात.
अट — तुमच्या माहितीवरची एक ठरावीक प्रकारची क्वेरी. किती दिवस थकीत आणि किमान किती रक्कम या मूल्यांसह fee_ledger_overdue. जोखीम गुण वाचणारी ml_score_threshold. हजेरी घेतली गेली का हे तपासणारी attendance_pending_after_period. अटी ठरावीक संज्ञांमधून सर्व्हरवरच तयार होतात; तुमच्या शाळेच्या नोंदींवर कोणतेही लँग्वेज मॉडेल SQL लिहीत नाही.
कृती — अट जुळल्यावर काय घडते. मान्य कृती प्रकार आहेत: मंजूर WhatsApp टेम्पलेट, SMS, ईमेल, ॲपमधील सूचना, पुश सूचना, किंवा सारांश तयार करणारा एक अंतर्गत इंटेंट. प्रत्येक कृतीसोबत तिचे व्हेरिएबल मॅपिंग, तिची डीडुप्लिकेशन की आणि तिची विंडो असते.
वेळापत्रक — cron, ठरावीक अंतर, एकवेळ, किंवा घटनाआधारित. cron वेळापत्रके तुमच्या शाळेच्याच टाइमझोनमध्ये असतात, त्यामुळे “10:00” म्हणजे कुठल्यातरी सर्व्हरवरची नव्हे, तर शाळा जिथे आहे तिथली सकाळचे दहा.
हे तिन्ही भाग कोड नसून माहिती असल्याने पॅकचे वर्तन तपासता व बदलता येते. फी आठवण सात दिवसांवरून दहा दिवसांवर नेता तेव्हा तुम्ही एक मर्यादा बदलत असता — कोणाला पुन्हा डिप्लॉय करायला सांगत नसता.
नियम पद्धत आणि एजंट पद्धत: पॅक ठरवण्याचे दोन मार्ग
बहुतेक पॅक नियम पद्धतीत चालतात. अट जुळते, कृती घडते, संदेश आधीच मंजूर टेम्पलेटमध्ये व्हेरिएबल भरून जातो. निश्चित, स्वस्त आणि अंदाज बांधता येणारे — सात दिवसांची आठवण म्हणजे सात दिवसांचीच आठवण.
काही पॅक एजंट पद्धतही वापरतात. इथेही संभाव्य नोंदी निवडणे व त्यांना संदर्भ जोडणे हे ठरावीक SQL च करते — मॉडेल तुमच्या डेटाबेसला कधीच क्वेरी करत नाही. त्यानंतर एकच संरचित कॉल एखादी निर्णयात्मक गोष्ट ठरवतो: या पालकाला कोणता सूर योग्य, कोणती गैरहजेरी अधूनमधूनची नसून सातत्याची दिसते, सोमवारी फोन करण्यासारखी नेमकी कोणती तीन प्रकरणे. आउटपुट काटेकोर स्कीमाशी पडताळले जाते आणि ओळखता न आलेले काहीही टाकून दिले जाते.
एजंट पद्धत प्रत्येक पॅकसाठी स्वेच्छेने निवडायची असते, आणि प्रत्येक पॅक आपला एजंट थेट कोणत्या कृती करू शकतो याची अरुंद यादी जाहीर करतो. त्या यादीबाहेरचे काहीही पार पाडले न जाता तपासणीसाठी प्रलंबित राहते. मॉडेलला दिलेली शाळेची माहिती स्पष्ट सीमांकनासह (delimiters) दिली जाते आणि ती अविश्वासार्ह मजकूर म्हणून हाताळण्याच्या सूचना दिल्या जातात — त्यामुळे विद्यार्थ्याच्या नोंदीत टाइप केलेली एखादी टिप्पणी आदेश म्हणून काम करू शकत नाही.
सुरक्षाकवचे: डीडुप्लिकेशन, सर्किट ब्रेकर, पाठवण्याच्या वेळा
पालकांना स्पॅम पाठवू शकणाऱ्या स्वयंचलनापेक्षा स्वयंचलन नसलेलेच बरे. तसे होऊ नये म्हणूनच तीन यंत्रणा आहेत.
डीडुप्लिकेशन. कोणताही संदेश पाठवण्यापूर्वी त्या कृतीची डीडुप्लिकेशन की, ठरवलेल्या विंडोइतक्या टाइम-टू-लिव्हसह, Redis मध्ये अॅटॉमिकपणे क्लेम केली जाते. एकाच वेळी तोच नियम तपासणाऱ्या दोन वर्करपैकी नेमका एकाचाच क्लेम यशस्वी होतो. की प्रत्येक शाळेसाठी वेगळ्या असतात. महत्त्वाचे म्हणजे ही तपासणी फेल-क्लोज्ड आहे: Redis उपलब्ध नसेल तर कृती पाठवली न जाता वगळली जाते — कारण वगळलेली फेरी पुढच्या तपासणीत भरून निघते, पण पाठवलेला दुसरा संदेश परत घेता येत नाही.
सर्किट ब्रेकर. प्रत्येक नियम सलग त्रुटी मोजतो. पाचव्या त्रुटीनंतर तो नियम त्रुटी स्थितीत जातो आणि पूर्णपणे थांबतो. ॲडमिन व मुख्याध्यापक वापरकर्त्यांना ॲपमध्ये सूचना मिळते — तीही डीडुप केलेली, जेणेकरून बिघडलेला नियम स्वतःच गोंगाटाचे कारण होऊ नये. ब्रेकर ट्रिप करणाऱ्या WhatsApp कृती तपासणीसाठी डेड-लेटर तक्त्यात नोंदवल्या जातात.
पाठवण्याच्या वेळा. पॅक आपले संदेश सभ्य आणि बदलता येणाऱ्या वेळेत पाठवतात — फी आठवणी डीफॉल्ट स्थानिक 10:00 वाजता, वसुलीचा आढावा 08:00 वाजता, हजेरीचा सारांश हजेरीनंतर 17:00 वाजता. अनेक पॅकमध्ये सुट्ट्या व शनिवार-रविवार वगळण्याची सेटिंग असते. याखेरीज त्रासदायक ठरू शकणाऱ्या माध्यमांवरील — पुश, SMS, WhatsApp — प्रसारणे शाळेच्या डीफॉल्ट शांत वेळेत, म्हणजे रात्री 21:00 ते सकाळी 07:00 IST दरम्यान थांबवली जातात; आणीबाणी वर्गातील संदेशांना यातून सूट असते.
सुरुवात कुठून करावी: तीन पॅकचा क्रम
पहिल्याच दिवशी सगळे सुरू करणे हाच शाळांचा स्वयंचलनावरील विश्वास उडण्याचा मार्ग आहे. चालणारा क्रम असा:
- फक्त वाचण्यासाठी, आणि फक्त कर्मचाऱ्यांना. रोजचा वसुली आढावा किंवा हजेरीचा सारांश. काहीही शाळेबाहेर जात नाही. तुम्ही आधीच गृहीत धरलेले आकडे यांच्याशी जुळतात का, हे कळते.
- व्यवहारापुरते आणि पालकांना हवेहवेसे. भरणा झाल्याच्या पावत्या. पालक त्या आनंदाने स्वीकारतात, आणि WhatsApp मार्ग सुरुवातीपासून शेवटपर्यंत तपासला जातो.
- पाठपुरावा करणारे. फी पाठपुरावा किंवा सलग गैरहजेरी. इथवर तुमच्याकडे आठवडाभराचा नोंदींचा इतिहास असतो आणि आकडे बरोबर आहेत हे तुम्हाला ठाऊक असते.
प्रत्येक टप्प्यानंतर नोंदवही तपासा. प्रत्येक तपासणी एक ओळ लिहिते — काय जुळले, काय पाठवले, काय पुनरावृत्ती म्हणून वगळले आणि काय अयशस्वी झाले.
ऑटोपायलट मुद्दाम जे करत नाही
तो तुमच्या वतीने कोणत्याही शासकीय पोर्टलवर काहीही सादर करत नाही. अनुपालन पॅक मुदती समोर आणतात आणि संबंधित फाइल आढाव्यासाठी तयार करतात; सादरीकरण मात्र माणसाचीच कृती राहते.
तो आर्थिक निर्णय घेत नाही. माफी, सवलती, उलट नोंदी आणि समायोजने — मॉडेलने काहीही सुचवले तरी ती माणसांच्या मंजुरी रांगेतच जातात.
तो EdunodeX Lite मध्ये समाविष्ट नाही. पॅक चालवणारी यंत्रणा त्या श्रेणीतून स्पष्टपणे वगळलेली आहे; Lite शाळांना फक्त पाहण्यापुरत्या AI सुविधा मिळतात.
आणि तो नोंदीशिवाय चालत नाही. प्रत्येक फेरी, प्रत्येक पुनरावृत्ती-वगळणी, प्रत्येक सर्किट-ब्रेकर ट्रिप ही तुम्ही वाचू शकता अशी एक ओळ असते. नोंदीविना दिलेली स्वायत्तता म्हणजे तुम्हाला तपासता येणार नाहीत अशा गोष्टी करणारे सॉफ्टवेअर, एवढेच.