परिवर्तन लॉग
क्या नया है.
यह जहाज के रूप में, प्लेटफार्म के हर सुधार.
· kamo-internal
एमएलओएस कैपिटल एंड रिस्क कमान सेंटर स्टेवर्ड कंसोल
एआई-नेटिव बंधक स्टेवर्ड कंसोल को /कॉमर्स (MORTGAGE मार्केट) के तहत जोड़ें टैब, प्लेसहोल्डर इरादे / प्रतिबद्धताओं के साथ उप-टैब की जगह MortgageStewardSection + आंतरिक स्टेवर्ड स्क्रीन टैब। पहली स्क्रीन: राजधानी MLOSCapitalMarketsService reads (लॉक्स बाय) स्थिति / परिदृश्य + पाइपलाइन-funding P(fund) p5/p50/p95), वर्तमान में स्थिरता समर्थित एक टाइप क्लाइंट के पीछे (एक फ़ाइल लाइव रीड-पैथ पर स्वैप)। - पुन: प्रयोज्य पूर्ण-चौड़ाई कंसोल किट: कंसोलशेल, सेक्शनकार्ड, KpiTile, स्टेटसफिल + मोशन रैपर (CountUp, Stagger, Crossfade) - कम गति - रंग-प्राइमरी के माध्यम से जागरूक, सफेद लेबल। - हस्ताक्षर फंडिंग संभावना फैन (p5/median/p95), फिल्टर करने योग्य लॉक पाइपलाइन एक्सरी-टोन उलटी गिनती, लॉक-डिटेल ड्रॉअर (lifecycle timeline + AI) के साथ निर्णय तर्कसंगत), खंड टूटने, ईमानदार "आज" पट्टी। - सभी इंटरैक्टिव पंक्तियों पर कीबोर्ड / एआरआईए, डब्ल्यूसीएजी-एए विपरीत, अगले-intl पूरे।.
· kamo-internal
प्रणाली वाइड टॉगल + क्रेडिट-संतुलन संपादक + कैस्केड फ़िल्टर; इतिहास के सदस्य फ़िल्टर / लिंक / योजना; इंजेक्शन आइकन + INJECT पुष्टि
- / लीड्स / क्रेडिट: सही संरेखित 'सिस्टम वाइड:' सक्रिय / निलंबित ड्रॉपडाउन; क्रेडिट शेष ∞-capable InfinityCell (lowering invalidates, ∞ पत्तियों as-is); उत्पाद फ़िल्टर वेंडर से कैस्केड (विक्रेता = ऑल होने पर अक्षम / रीसेट)। - / लीड्स / इतिहास: प्रबंधक-केवल सदस्य फ़िल्टर (view LEADS धारकों, वर्णमाला), लीड आईडी + लीड, फुल सर्वर-साइड पेजिनेशन के लिए संपर्क नाम लिंक। - / लीड्स / उपलब्ध: इंजेक्ट टेस्ट लीड अब टूलटिप के साथ एक आइकन-केवल बटन है। - पुष्टि डायलॉग: वैकल्पिक चुनौतीशब्द prop (Inject 'INJECT' का उपयोग करता है); हटाने प्रवाह यादृच्छिक शब्द को अपरिवर्तित रखें।.
· SecurityService
सिस्टम-वाइड टॉगल, लीड-व्यूअर, क्रेडिट-बैलेंस संपादित करें, इतिहास की शुरुआत
- /credits/system-wide GET+PATCH (org credit-suspend), /credits/lead-viewers (view LEADS) धारकों को इतिहास के सदस्य फ़िल्टर के लिए अनुदान-सभी) शामिल हैं। - PATCH/allotments/{id} पर क्रेडिट-संतुलन संपादित: संख्या अमान्यता के माध्यम से कम है, null = ∞. - / लीड्स / इतिहास अब paginated (page/size/total) + रिटर्न लीड कॉन्टैक्ट नाम। - उपलब्ध सारांश + उपलब्ध () ओरग सिस्टम वाइड स्विच पर गेट क्रेडिट स्वीकृति।.
· kamo-shared-library
सिस्टम-वाइड क्रेडिट निलंबित, क्रेडिट-संतुलन अमान्यता, पितृ इतिहास
Org-wide 'सिस्टम वाइड' स्विच जो निलंबित करता है CREDIT-BASED लीड ऑटो-assignment (FFA unaffected) System SUSPENDED परिणाम). ********** + Repo invalidateCreditsByIds: एक को कम सदस्य के उपलब्ध शेष को लक्ष्य के लिए अतिरिक्त पुराने सबसे पहले अवैध घोषित करके। - creditAssignmentHistoryService: सर्वर-साइड pagination (getHistoryPage/PagedHistory) + प्रति प्रविष्टि लीड संपर्क नाम (केवल दृश्य पृष्ठ के लिए बैच-रिसोल)।.
· kamo-internal
स्प्लिट लीड क्रेडिट्स में उपलब्ध / इतिहास / प्रबंधन क्रेडिट कार्रवाई
Reorders the /leads top-right action to: Add New Lead, Leads available (→/लीड/उपलब्ध) बोल्ट आइकन + लाइव उपलब्धता सूचक, स्पेंड / रिसीवर के साथ दिखाया गया है), इतिहास (→/लीड/हिस्ट्री), इतिहास आइकन), प्रबंधन क्रेडिट (→/लीड/क्रेडिट, क्रेडिट कार्ड आइकन, प्रबंधक केवल)। बदलना सिंगल 'लीड क्रेडिट' बटन जो / लीड्स/अल्लॉटमेंट्स रीडायरेक्ट पर इंगित करता है।.
· kamo-internal
इंजेक्ट टेस्ट लीड एक्शन ऑन / लीड्स / उपलब्ध (केवल प्रबंधक)
प्रत्येक विक्रेता / उत्पाद के लिए स्वीकार करने के लिए 'इंजेक्ट टेस्ट लीड' बटन जोड़ें, केवल दिखाया गया है प्रबंधक के साथ सदस्य एक पुष्टि संवाद खोलता है, फिर नए इंजेक्शन के लिए POSTs समापन बिंदु; पूल में सिंथेटिक लीड भूमि और ग्रिड ताज़ा रहते हैं।.
· SecurityService
इंजेक्ट टेस्ट लीड + अनुदान-सभी व्यवस्थापकों के लिए प्रबंधन-क्रेडिट सूची को ठीक करें
- नया पोस्ट **************** (Manage CREDITS): एक सिंथेटिक बनाता है 'Void > टेस्ट लीड' (जॉन डो / 555-555-5555 / noreply@<org बेस डोमेन> के साथ) को बाजार/vendor/उत्पाद ऑटो असाइनमेंट पूल में असाइनमेंट = ट्र्यू की आवश्यकता होती है ताकि स्वीकार्य प्रवाह को अंत-टू-एंड का प्रयोग किया जा सकता है; लाइव अपडेट के लिए उपलब्धता प्रकाशित करता है। - प्रबंधन-Credits पात्र सदस्य सूची अब संघों अनुदान सभी सदस्यों (owners/admin whose) *** प्रत्येक दाएं के साथ आबादी है) स्पष्ट-rights क्वेरी के साथ, इसलिए अनुदान-सभी व्यवस्थापक जो SPEND Receive in-session रखती है लेकिन इसमें कोई स्पष्ट सदस्य नहीं हैRightsApplied row अब सूची में दिखाई देता है। - ग्रांटऑलरोलरिसोल्वर में सत्र के अनुदान-सभी का पता लगाना और इसका पुन: उपयोग करना पोस्टऑथ *** सर्विस (कोई व्यवहार परिवर्तन नहीं) और लीडक्रेडिट कंट्रोलर दोनों।.
· kamo-shared-library
LeadImport रन पर मूल अपलोड फ़ाइल कुंजी स्टोर करें
SOURCE FILE KEY + SOURCE FILE CONTENT TYPE कॉलम जोड़ें ताकि एक रन संदर्भ MinIO (KamoInitializer) में संग्रहीत मूल फ़ाइल अगले रन पर कॉलम जोड़ती है।.
· kamo-internal
मूल आयातित फ़ाइल को संग्रहीत और डाउनलोड करें
प्रारंभ में, कच्चे फाइल को आयात करने पर अपलोड किया जाता है (सर्वश्रेष्ठ-effort) और इसकी कुंजी आयात को पारित कर दी गई है। POST; पिछले आयात एक संग्रहीत फ़ाइल के साथ रन के लिए एक डाउनलोड बटन दिखाता है। +2 प्रॉक्सी रूट (सोर्स-फ़ाइल अपलोड + डाउनलोड), +2 i18n कुंजी।.
· SecurityService
मूल फ़ाइल को MinIO + download endpoint
Injects MinIOStorageService; POST/source-file स्टोर करता है कच्चे अपलोड में निजी आंतरिक बाल्टी; GET /{id}/source-file इसे वापस स्ट्रीम करता है (ऑर्ग-चेक); कुंजी धागा है आयात POST के माध्यम से और शेष ImportRun के माध्यम से; गेट इतिहास में अब SourceFile है।.
· kamo-internal
आयात टेम्पलेट + पिछले आयात उप-टैब, ऑटो-डिटेक्ट, फिर से आयात
- लीडमैनुअल इम्पोर्टमैनेजर में सब-टैब बार: आयात लीड्स (आयात टेम्पलेट्स) - LeadImportTemplateManager: टेम्पलेट सूची/create/edit/delete + अपलोड-against-template (आयात के रूप में है या मैपिंग समायोजित); फ़ाइल-एग्नोस्टिक मोड में फील्ड मैपिंगइंटरफेस का पुन: उपयोग करता है - LeadImportHistoryManager: आयातित / कुल + त्रुटि आइकन, त्रुटि रिपोर्ट के साथ सूची चलाएं, फिर से आयात असफल पंक्तियों (वैकल्पिक मैपिंग समायोजित) - ऑटो-डिटेक्ट: फाइल पार्स पर, POST हेडर्स टू /डिटेक्ट; एक मिलान टेम्पलेट चुनें या नया बनाएं; एक ताजा आयात के अंत में सेव-as-template - FieldMappingInterface: parsedData वैकल्पिक + headers टेम्पलेट संपादित मोड के लिए सहारा - लीड-आयात-टेम्पलेट /* और **************** के लिए अगला प्रॉक्सी मार्ग
· SecurityService
Persist रन / रिकॉर्ड, टेम्पलेट CRUD, हेडर ऑटो-डिटेक्ट और फिर से आयात
- LeadImportPersistenceService: हेडर सामान्यीकृत + SHA3 फिंगरप्रिंट (ऑर्डर / आदेशित) मानचित्रण/row JSON राउंड-ट्रिप्स, रन + गैर-सफल रिकॉर्ड, टेम्पलेट का पता लगाने (Jaccard) - LeadImportTemplateController: **************** CRUD + / Detect (org-scoped) - LeadImportController: रियल पेजेड GET इतिहास; POST रन + नॉन-सक्सेस पंक्तियों को जारी रखता है। वास्तविक आयात आईडी (fileName/templateId) को क्वेरी पैराम के माध्यम से लौटा देता है; +GET /{id}/records और POST/{id}/reimport-failed; processImport per-row RowOutcomes (global) उत्सर्जित करने के लिए refactored पंक्ति सूचकांक, बनायाLeadUid) जबकि चरण-0 शुद्धता निर्धारण को बनाए रखने
· kamo-internal
लीड क्रेडिट बटन पर लाइव उपलब्धता सूचक
मिरर नवप्रि लीड्स सूचक पर / लीड्स 'लीड क्रेडिट्स' कार्रवाई: एक ग्रीन / रेड स्टेटस डॉट (ग्रीन = लीड अब एफएफए या क्रेडिट, रेड के माध्यम से स्वीकार्य है) = कोई नहीं) और जब एक स्वीकार्य क्रेडिट लीड इंतजार कर रहा है तो एक ग्रीन पल्स / चमक। गेट SPEND RECEIVE LEAD CREDIT सिग्नल (leadAlert.active). यहाँ ग्रीन तय किया गया है (यह क्रेडिट कार्रवाई है), थीम-एग्नोस्टिक व्हाइट नवप्री ब्लिंक के विपरीत।.
· kamo-internal
लाइव नवप्रि लीड अलर्ट - ग्रीन / रेड डॉट, ब्लिंक, फायर पॉपअप, एज ट्रिम
- LeadAlertProvider (global, NavPri स्तर पर घुड़सवार): WS-driven / उपलब्ध-summary; सभी राज्य ड्राइव - NavPri लीड्स आइकन: ग्रीन डॉट (स्वीकार कर सकते हैं) / लाल (cannot); ध्यान देने योग्य ब्लिंक जब क्रेडिट लीड होता है स्वीकार्य। पूरी तरह से SPEND RECEIVE LEAD CREDIT — सही बिना कोई सूचक / पॉपअप नहीं। - NewLeadPopup: सेंटर-स्क्रीन फायर पॉपअप (फ्लेम + एनिमेटेड लौ), लीड स्वीकार करें / अब नहीं (दोनों) अक्षम 1s), एक 1s फीका के साथ ऑटोक्लोज़, अगर पूल निकाला जाता है, कोई पृष्ठभूमि बंद नहीं है। केवल आग एक नए स्वीकार्य क्रेडिट लीड पर जब नौसेना टॉप स्थिति उपलब्ध है। - LiveEdgeTrim: कामो विपणन लाइव shimmer सभी 4 स्क्रीन किनारों के आसपास लपेटा जबकि पॉपअप ऊपर है। सभी NATS-> STOMP पर रहते हैं।.
· SecurityService
लाइव नवप्रि लीड अलर्ट के लिए गेट / लीड्स / उपलब्ध सारांश
सभी सक्रिय बाजारों में कॉलर स्वीकार्यता को एकत्र करता है (comment Gate + credit/FFA/) दैनिक खर्च नियम रिटर्न में स्वीकार करने योग्य / है स्वीकार करने योग्य क्रेडिट / अवरुद्ध बायकमेंट्स / टॉप क्रेडिट। SPEND RECEIVE LEAD CREDIT के बिना सदस्यों के लिए सभी झूठे रिटर्न।.
· kamo-shared-library
आयात टेम्पलेट्स, रन और प्रति पंक्ति रिकॉर्ड के लिए दृढ़ता रीढ़
वास्तविक @ अनंतता कक्षाओं के साथ खाली स्टब संस्थाओं को बदल देता है (मॉडल पर) LeadIntake* precedent: UUID id, gen random uid, DB-default timetamps, statusId @transient enum) प्लस भंडार, तो मैनुअल आयात टेम्पलेट्स, पिछले आयात इतिहास और असफलता फिर से आयात जारी रख सकते हैं: - LeadImportTemplate (+ headerHashOrdered/Unordered फिंगरप्रिंट, useCount, soft-delete) - LeadImportTemplateMapping ************* JSON) - लीडआयमपोर्ट (रन हेडर: गिनती, मैपिंग्स स्नैपशॉट, टेम्पलेट / स्रोत लाइनेज) - LeadImportRecords (per non-success row: rawRowJson, स्थिति, त्रुटि संदेश) - LeadImportRecordStatus enum + 4 repositories टेबल अगले रन पर KamoInitializer (ddl-auto) द्वारा बनाई गई हैं; सेवाएं ddl-auto:none रहती हैं।.
· kamo-internal
/खाता शैली हेडर + टैब, / लीड्स कार्ड कंटेनर, राइट गिटिंग
- लीड्सक्रेडिटलेआउट: ढाल नायक हैडर + अंडरलाइन टैब (मैच / खाता); फिल्टर + ग्रिड राउंड / लीड्स-स्टाइल कार्ड में उपलब्ध टैब SPEND RECEIVE LEAD CREDIT - SPEND RECEIVE (member x product मैट्रिक्स) रखने वाले सदस्यों से क्रेडिट ग्रिड को प्रबंधित करें, निर्माण पर संपादित करें; / लीड्स-शैली फिल्टर कंटेनर - /लीड/उपलब्ध गार्ड दाईं ओर; /लीड/अलोटमेंट रीडायरेक्ट राइट-एवेयर है - लीड व्यू: मार्क-एस-रीक्वायरस-रीसाइनमेंट एक्शन (मार्क राइट) + असाइनमेंट ने गेट को इस्तीफा दिया REASSIGN LEADS MANUALLY - रोलRighttype.ts: 3 नए अधिकार
· SecurityService
मार्क राइट द्वारा मार्क-रिसाइनमेंट गेट किया गया; मैनेज-क्रेडिट स्पेंड/रीसिव राइट के साथ सदस्यों को लौटाता है
LeadAcceptController: मार्क-रिसाइनमेंट को मार्क LEADS REQUIRES ASSIGNMENT की आवश्यकता होती है। LeadCreditController.manage: रिटर्न योग्यMemberIds (SPEND RECEIVE LEAD CREDIT धारक).
· kamo-shared-library
3 CRM अधिकार + सदस्यों के साथ-साथ सही क्वेरी
रोलराइट प्रकार: SPEND RECEIVE LEAD CREDIT(147), **************************************************************************************************************************************************************************** CRM के तहत REASSIGN LEADS MANUALLY(149)। ************* लिस्टिंग सदस्यों के लिए एक अधिकार रखने के लिए। सिक्योरिटी सर्विस बूट पर सेल्फ-हील्स; कोई स्कीमा परिवर्तन नहीं।.
· InitializerService
Codify §4.2 आवश्यकता लेखक एकल-जीवन आंशिक-अद्वितीय बैकस्टॉप
प्रति (loan file uid, img doc type id, party) एक लाइव आवश्यकता पर दायित्व सेल। ************* app-layer idempotency read एक समवर्ती डबल-इंस्टेंटिएट नहीं पकड़ सकता (दोनों ने शून्य-जीवन पढ़ा); शर्त + आवश्यकता विभिन्न तालिकाओं के लिए INSERT → कोई CRDB संघर्ष नहीं। यह आंशिक-unique एकल जीवित संरचनात्मक बनाता है। मिरर ************* दस्तावेज़ीकरणStatus @Enumerated (STRING) है। Idempotent CREATE अगर नहीं EXISTS.
· kamo-shared-library
************* (Accepted-today स्तंभ)
गिनती एक सदस्य को एक विक्रेता उत्पाद के लिए क्रेडिट / एफएफए के माध्यम से स्वीकार करने की ओर जाता है क्योंकि एक यूटीसी तत्काल (day) LeadAcceptController / lead / उपलब्ध द्वारा उपभोग किया गया।.
· kamo-internal
क्रेडिट आधारित लीड असाइनमेंट यूआई (उपलब्ध/हिस्ट्री/क्रेडिट)
- / लीड्स / उपलब्ध: वास्तविक समय विक्रेता / उत्पाद ग्रिड, परमाणु स्वीकार (सीसा को रूट करता है), टिप्पणी-gate अवरुद्ध राज्य, पंक्तियां उस क्षण को अलग करती हैं जब एक लीड दावा करने योग्य है - / लीड्स / इतिहास: घटना प्रकार फिल्टर के साथ लाइव क्रेडिट + असाइनमेंट टाइमलाइन - / लीड्स / क्रेडिट: MANAGE CREDITS-gated grouped ग्रिड; ∞-capable Daily Allotment / Max शेष / मैक्स डेली खर्च / क्रेडिट शेष, सक्रिय / निलंबित टॉगल, वितरित, लाइव ब्लिंक - साझा लीड्सक्रेडिटलेआउट (नव टैब + मार्केट सब-टैब + 'सीआरएम कॉन्फ़िगर नहीं' स्टेट्स + क्विक टिप्स) - मीडिया सर्विस पर STOMP हुक (useCreditAssignment WebSocket); उपयोगLeadMarkets - 10 प्रॉक्सी मार्ग; ************* / लीड्स / आवंटन अब पुनर्निर्देशित Tsc -noEmit: नई फ़ाइलों में 0 त्रुटियाँ।.
· kamo-shared-library
**************** रजिस्ट्री निर्णय आधा के लिए
doc 11 §5.3 कदम 4 / §10 लेखा परीक्षा पूर्णता - हर रजिस्ट्री टकसाल / रसीद / सुपरमार्केट एक जोड़ी उत्सर्जित करता है WORM AiDecision + LoanIdentifierEvent. यह AiFunction को ******************* स्तंभ के लिए आरक्षित था। Additive enum स्थिर केवल (कोई संस्करण टक्कर नहीं, कोई डीडीएल नहीं: ai function कोई नहीं है व्हाइटलिस्ट CHECK - जेनेरिक enum-CHECK स्वीप लागू होता है।.
· DaemonService
Daily-allotment forfeit audit job (hourly, per-member timezone)
सदस्यों के लिए रिकॉर्ड्स फॉरफिटेड पंक्तियाँ जिन्होंने ड्रिप आवंटन के साथ अपने सदस्यों पर हस्ताक्षर नहीं किया था। स्थानीय दिन पूरा किया। Idempotent, GRANTED पंक्तियों को पैदा करता है। Compiles स्वच्छ (mvn).
· MediaService
STOMP के लिए रिले क्रेडिट / लीड-साइनमेंट NATS इवेंट
Security.leads.> और Security.credits.>, प्रत्येक को /topic / प्रतिबिंबित करता है। CRM फ्रंट-एंड लीड्स-अवैलेबल ग्रिड, मैनेज-क्रेडिट फील्ड्स और इतिहास लाइव अपडेट करता है। Compiles स्वच्छ (mvn).
· SecurityService
क्रेडिट लीड असाइनमेंट एपीआई ****************
- LeadAcceptController: GET / lead / उपलब्ध, POST / lead / accept (tom, comment-gated,) FFA + credit), GET /leads/uncommented, POST/leads/{id}/mark-reassignment, GET/leads/history - LeadCreditController (MANAGE CREDITS): GET/credits/manage ग्रिड, POST/credits/distribute, POST/PATCH/credits/allotments, POST/credits/daily-grant - creditAssignmentPublisher: org-scoped NATS घटनाओं ************* - पोस्टऑथ *** सर्विस: सदस्य के स्थानीय दिन के पहले साइन-इन पर दैनिक आवंटन प्रदान करें Compiles स्वच्छ (mvn).
· kamo-shared-library
क्रेडिट असाइनमेंट ऑर्केस्ट्रेशन सर्विसेज (शेयर्ड-लीब)
- LeadAllotment.isInfiniteBalance (∞ credit शेष → mint-on-the-fly स्वीकार्य) - क्रेडिट लीड असाइनमेंट सर्विस: परमाणु स्वीकार-लीड (चुनें → लॉक → चेक → लाम, बहु-इंस्टेंस) सुरक्षित), FFA बायपास, टिप्पणी गेट, मार्क-फॉर-रिसाइनमेंट (markED FOR REASSIGNMENT इतिहास) - DailyAllotmentservice: प्रति सदस्यीय समय क्षेत्र दैनिक अनुदान (idempotent) + forfeit audit - क्रेडिट असाइनमेंट हिस्ट्री सर्विस: एकीकृत असाइनमेंट + क्रेडिट लाइफसाइकल टाइमलाइन ********** (org-wide credit history) मौजूदा लीड*सेवा को पूरा करता है; कोई तर्क डुप्लिकेट नहीं है। Compiles स्वच्छ (mvn).
· kamo-shared-library
क्रेडिट असाइनमेंट साझा-lib सहायक
- ************* - पहले टिप्पणी करने के लिए 'की शक्तियां किसी अन्य लीड गेट को स्वीकार करना (Comment = सदस्य का नॉन-रिमूव्ड MediaObj in lead stream) ************* - प्रति-vendor-product credit क्रेडिट आधारित स्वीकार लीड प्रवाह के लिए खर्च Compiles स्वच्छ (mvn). Additive; स्वीकार-orchestration सेवा (next).
· kamo-shared-library
क्रेडिट लीड असाइनमेंट डेटा मॉडल (शेयर्ड-lib)
- लीड: की आवश्यकता हैसाइनमेंट फ्लैग + चिह्नित ForReassignmentAt/By (nullable; null actor = विक्रेता/API आयात) ********** + ईवेंटटाइप फॉरकी रूटिंग + रजिस्ट्री डिक्रिप्टर ********** (Commoned predicate बिल्डर के माध्यम से समग्र इतिहास) - रोलRighttype.MANAGE CREDITS (146, CRM समूह) - सुरक्षा सेवा बूट पर स्वयं हील्स - दैनिक आवंटन अनुदान इकाई + भंडार (once-per-local-day अनुदान, idempotent) ********** प्रति सदस्य दिन सीमा - LeadRepository: असाइनेबल-पूल गिनती / फीच + pessimistic-lock दावा (multi-instance safe) - LeadCreditRepository: प्रति-vendor-product शेष + दैनिक खर्च गिनती Additive स्कीमा केवल (नए nullable/defaulted कॉलम + नई तालिका)। मौजूदा Reuses ************* Compiles स्वच्छ (mvn).
· kamo-internal
बाजार और फील्ड टेबल से ड्रॉप वेंडर उत्पाद कॉलम

तुम्हारा ब्रह्मांड इंतजार कर रहा है.
मिनटों में मुफ्त शुरू करें. जब भी आप तैयार हों तो उत्पाद जोड़ें - कोई माइग्रेशन नहीं, कोई नया लॉगइन नहीं.
हमेशा के लिए मुफ्त - कोई क्रेडिट कार्ड की आवश्यकता नहीं