मार्केटप्लेस · वर्गीकृत

प्रबंधित करें — सात मार्केटप्लेस जो एक इंजन साझा करते हैं

वर्गीकृत, कारें, रियल एस्टेट, दुकानों के साथ एक सामान बाजार, डिजिटल कुंजी, कूपन और एक मूल्य एग्रीगेटर। सात सेवाएँ अपने-अपने उपडोमेन पर हैं, और उनमें से प्रत्येक एक ही एप्लिकेशन है: सेवा होस्टनेम से चुनी जाती है, और कैटलॉग, खाते, पैसे, मॉडरेशन और खोज साझा किए जाते हैं। हमने मॉडल डिजाइन किया, इंजन लिखा और सभी सात को भेजा।

मुझे समान चाहिएसाइट पर जाएं
श्रेणी
मार्केटप्लेस · वर्गीकृत
अनुमानित लागत
से €32,000
सेवाएँ
सात, एक कोडबेस
भाषाएँ
EN, UK · चार प्रदर्शन मुद्राएँ
स्टैक
PHP 8.3, MariaDB, कोई फ्रेमवर्क नहीं
admister.org
Admister
प्रोजेक्ट होमपेज — admister.org

01प्रोजेक्ट का अवलोकन

Admisterएक बहु-क्षैतिज मार्केटप्लेस है। एक ही छत के नीचे यह वर्गीकृत विज्ञापन, एक कार और भागों का बोर्ड, बिक्री और किराए के साथ रियल एस्टेट, विक्रेता दुकानों के साथ एक सामान बाजार, डिजिटल सामान, एक कूपन सेवा और एक मूल्य समेकक चलाता है। इनमें से प्रत्येक का अपना उपडोमेन, अपनी फ्रंट पेज और एक आइटम क्या है इसका अपना विचार है।

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

02संदर्भ और समस्या

कई मार्केटप्लेस लॉन्च करने का सामान्य तरीका कई वेबसाइटों को लॉन्च करना है। यह दूसरे तक काम करता है: अब दो उपयोगकर्ता तालिकाएँ, दो मॉडरेशन कतारें, दो भुगतान एकीकरण और दो स्थान हैं जहाँ एक ही बग को दो बार ठीक करना है — और अलग-अलग ठीक करना है, क्योंकि तब तक कोड भटक गया है।

विपरीत चरम भी उतना ही बुरा है। एक साइट जिसमें «कारें» नाम की एक श्रेणी है, वह कार बोर्ड की तरह माइलेज, इंजन और प्लेट नहीं पूछ सकती, और एक रियल-एस्टेट खोज जो मंजिल और कमरों के अनुसार फ़िल्टर नहीं कर सकती, वह एक रियल-एस्टेट खोज नहीं है। कार्य था एक इंजन को बनाए रखना बिना यह दिखाए कि सात बहुत अलग कैटलॉग एक ही कैटलॉग हैं।

03प्रोजेक्ट के लक्ष्य

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

04हमने क्या किया

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

जो कुछ भी वर्टिकल-विशिष्ट नहीं है, उसे एक बार लिखा गया था: खाते और सत्र, बैलेंस और भुगतान, मीडिया इनटेक, मॉडरेशन, सहेजे गए खोज, सूचनाएँ, साइटमैप और एपीआई। सातवें सेवा को जोड़ना ज्यादातर इसके एट्रिब्यूट्स और इसके फ्रंट पेज को लिखना था — कोई और मार्केटप्लेस नहीं।

05सात सेवाएँ, सात कैटलॉग

  • क्लासिफाइड्स — सामान्य बोर्ड: साइकिल से लेकर सोफे तक, पोस्ट करने के लिए स्वतंत्र।
  • गाड़ियाँ — वाहन, प्लेटें और भाग, इसके लिए कई दर्जन क्षेत्रों और फ़िल्टरों के साथ एक समर्पित विशेषता सेट।
  • अचल संपत्ति — बिक्री और किराया, इसका अपना विशेषता सेट, मानचित्र और प्रति-ज़िले खोज।
  • बाजार — विक्रेता की दुकानों के साथ सामान: प्रत्येक विक्रेता के लिए एक स्टोरफ्रंट, स्टॉक, ऑर्डर।
  • डिजिटल — कुंजी, उपहार कार्ड और eSIM: सामान जो वितरित किए जाते हैं, भेजे नहीं जाते।
  • सौदे — भागीदार दुकानों के कूपन और प्रोमो कोड।
  • कीमत — एक कीमत समेकक: दुकानों में एक ही उत्पाद, तुलना की गई, साथ ही गिने हुए आउटबाउंड क्लिक।

वे खाता, बैलेंस, मॉडरेशन कतार और खोज अनुक्रम साझा करते हैं — और अपनी विशेषताओं में कुछ भी साझा नहीं करते, जो कि बिंदु है।

06पैसा: एक बैलेंस, क्रिप्टो इनवॉइस, सामंजस्य

भुगतान की सुविधाएँ — प्रचार, दुकान योजनाएँ, डिजिटल सामान — आंतरिक बैलेंस से भुगतान की जाती हैं, और बैलेंस को क्रिप्टो के माध्यम से टॉप अप किया जाता है Payoraहमारे अपने गेटवे। चालान का शरीर ठीक एक फ़ंक्शन में बनाया गया है, क्योंकि वही शरीर पुनः समायोजन क्रॉन द्वारा उसी आइडेम्पोटेंसी कुंजी के तहत पुनः चलाया जाता है: एक ऐसा एकल क्षेत्र जो दोनों के बीच भिन्न होता है, वह एक संघर्ष के रूप में वापस आएगा और भुगतान को लटका देगा।

दो विवरण जो हम किसी भी गेटवे पर दोहराएंगे। चालान में खरीदार का अपना स्थानीय क्षेत्र होता है जो उनके खाता पंक्ति से लिया गया है, न कि वेब अनुरोध से — क्रॉन के पास कोई अनुरोध नहीं है और अन्यथा सभी को अंग्रेजी भेज देगा। और इसमें एक वापसी पता होता है जो सीधे खाता में लौटता है बुनियादी डोमेन पर, इसलिए एक खरीदार जो कार वर्टिकल पर शुरू हुआ, वह लॉग इन करके लौटता है, न कि एक पृष्ठ पर जो उनसे फिर से साइन इन करने के लिए कहता है।

07विश्वास: मध्यस्थता, बैज, विवाद

एक मार्केटप्लेस को इसकी सबसे खराब लिस्टिंग से आंका जाता है, इसलिए यहाँ मॉडरेशन एक साइड स्क्रीन नहीं है। हर निर्णय — स्वीकृत, अस्वीकृत, हटाना — एक हैंडलर के माध्यम से जाता है, और «अस्वीकृत» जानबूझकर «हटाने» के समान नहीं है: पहला लेखक को एक कारण के साथ उत्तर है, दूसरा कुछ हटाता है जो पहले से लाइव था। दो क्रियाएँ, दो अलग-अलग अक्षर, रिकॉर्ड में दो अलग-अलग स्थितियाँ।

बिक्री करने वाले और दुकानें बैज पहनते हैं जो अर्जित किए जाते हैं, खरीदे नहीं जाते: खाता कितने समय से अस्तित्व में है, कितने सौदे बंद हुए, क्या फोन और ईमेल की पुष्टि की गई है। खरीदार हर जगह वही बैज देखता है जहाँ विक्रेता प्रकट होता है, क्योंकि यह एक ही स्थान पर गणना की जाती है।

09एक मोबाइल ऐप जिसमें अपना बैकएंड है

एप्लिकेशन वेबसाइट को स्क्रैप नहीं करता है। यह अपने स्वयं के बैकेंड-फॉर-फ्रंटेंड से बात करता है: एक छोटे सेट के एंडपॉइंट जो स्क्रीन की जरूरतों के अनुसार आकार में उत्तर देते हैं, टोकन वेब सत्रों से अलग जारी किए जाते हैं। बिना टोकन के दो रास्ते खुले हैं — संदर्भ डेटा जिसकी ऐप को आवश्यकता होती है इससे पहले कि कोई भी साइन इन करे, और एक स्वास्थ्य एंडपॉइंट।

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

10SEO के सात मोर्चे

एक डोमेन पर सात सेवाएं का मतलब है सात साइटमैप, संरचित डेटा के सात सेट और डुप्लिकेट बनाने का एक बहुत आसान तरीका। प्रत्येक वर्टिकल अपने कैश से अपना खुद का साइटमैप प्रकाशित करता है, लिस्टिंग पृष्ठ अपने संरचित डेटा के प्रकार की घोषणा करते हैं, और खोज परिणाम पृष्ठ कभी भी लिस्टिंग के लिए कैनोनिकल होने का दावा नहीं करते।

सामग्री पक्ष भी स्वचालित है: एक संपादकीय धारा आती है Astrina, उस प्लेटफॉर्म से जिसे हमने इसके लिए ठीक इसी तरह बनाया है, और जैसे ही एक लेख आता है, उसके वर्टिकल के लिए साइटमैप कैश हटा दिया जाता है - अन्यथा नया पृष्ठ अगले पुनर्निर्माण के लिए इंतजार करेगा और कोई नहीं जान पाएगा कि यह क्यों गायब था।

11एक आउटबाउंड चैनल

ऐसा सब कुछ जो एप्लिकेशन बाहर भेजता है - एपीआई कॉल, वेबहुक, भागीदार फीड, छवियां जो यह लाता है, मेल - एकल मॉड्यूल के माध्यम से जाता है जो SOCKS5 निकासी प्रॉक्सी से बंधा होता है, जिसमें DNS भी प्रॉक्सी के माध्यम से हल किया जाता है। मॉड्यूल फेल-क्लोज्ड है: यदि प्रॉक्सी अनुपलब्ध है तो अनुरोध को ब्लॉक किया जाता है बजाय इसके कि इसे सर्वर के अपने पते से चुपचाप भेजा जाए।

यह सजावट नहीं है। एक मार्केटप्लेस दिन भर भागीदार फीड और दूरस्थ छवियों को खींचता है; इनमें से प्रत्येक एक अनुरोध है जो अन्यथा साइट के मूल पते को तीसरे पक्ष तक ले जाएगा। मेल भी उसी तरह जाता है, YourTrend, इसलिए पत्रों पर हस्ताक्षर किए जाते हैं और सर्वर का होस्टनाम कभी भी हेडर में नहीं दिखाई देता।

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

  • PHP 8.3 बिना किसी फ्रेमवर्क के, एक पतला PDO रैपर और हर जगह तैयार किए गए बयान;
  • MariaDB, स्कीमा को नंबर वाले माइग्रेशन फ़ाइलों के रूप में रखा गया है न कि किसी की याददाश्त के रूप में;
  • मीडिया को वेब रूट के बाहर संग्रहीत किया गया है और एक नियंत्रक द्वारा सेवा दी जाती है, इसलिए एक अपलोड कभी भी एक निष्पादन योग्य पथ नहीं होता;
  • एक निर्माण चरण जो संपत्तियों को हैश करता है और कुछ भी इनलाइन नहीं करता जो कैश किया जाना चाहिए, जब यह गलत व्यवहार करता है तो एक किल स्विच के साथ;
  • हर आउटबाउंड कॉल के लिए SOCKS5 निकासी, YourTrend SMTP के माध्यम से मेल;
  • क्रिप्टो इनवॉइस के लिए Payora, साइन-इन और संपादकीय सामग्री के लिए Astrina, घर के विज्ञापन के लिए Adgora।

13परिणाम

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

जो मालिक दिन-प्रतिदिन प्राप्त करता है वह देखने के लिए एक जगह है। मॉडरेशन, पैसा, विक्रेता और सामग्री को पूरे समूह के साझा नियंत्रण पैनल से प्रबंधित किया जाता है, और मार्केटप्लेस उन्हें एक साइन किए गए प्रशासन API के माध्यम से उजागर करता है न कि इसके अपने दूसरे प्रशासन साइट के माध्यम से।

14सीखने योग्य बातें

पाठ जो हम अगले मार्केटप्लेस में ले जाएंगे: मशीनरी साझा करें, अर्थ नहीं. खाते, पैसे, संयम और खोज हर क्षेत्र में समान समस्या हैं और इन्हें एक बार लिखा जाना चाहिए। विशेषताएँ, फ़िल्टर और लिस्टिंग का आकार स्वयं उत्पाद हैं, और इन्हें एक सार्वभौमिक तालिका में मजबूर करना ही है जिससे बाजार सभी के लिए एक साथ अनुपयोगी हो जाते हैं।

दूसरी पाठ पैसे के बारे में है। जहां एक भुगतान का वर्णन किया जाता है, वह एकल कार्य होना चाहिए, क्योंकि कुछ और इसे पुनः चलाएगा - एक क्रॉन, एक पुनः प्रयास, एक समन्वय - और एक भुगतान के दो वर्णन होना पैसे को चुपचाप खोने का सबसे सस्ता तरीका है।

यदि आप एक बाजार, एक वर्गीकृत बोर्ड या एक इंजन पर एक बहु-क्षैतिज प्लेटफ़ॉर्म बना रहे हैं, तो यह वह प्रकार का काम है जो हम अंत से अंत तक करते हैं।

हमने और उत्पाद बनाए

सभी 16 उत्पाद
Payorapayora.moneyफिनटेक · क्रिप्टोसे €16,000PayoraUSDT और TON स्वीकार करने के लिए एक क्रिप्टो भुगतान गेटवे: एक API, एक होस्टेड चेकआउट और साइन किए गए वेबहुक। स्वयं-होस्टेड और गैर-निगरानी — कुंजी और धन व्यापारी के पास रहते हैं। API, चेकआउट और प्रशासन के लिए अलग उपडोमेन।मामला खोलें24freelance24freelance.proमार्केटप्लेससे €13,00024freelanceएक फ्रीलांस और रिमोट-वर्क मार्केटप्लेस: परियोजनाएँ और बोलियाँ, फ्रीलांसर और ग्राहक प्रोफाइल, संदेश और सौदे। एक बहुभाषी UI (ru/en/uk) जिसमें प्रत्येक भाषा के लिए अलग SEO संरचना है।मामला खोलेंAdgoraadgora.netऐडटेक · क्रिप्टोसे €14,000Adgoraएक क्रिप्टो विज्ञापन नेटवर्क: CPC/CPM/CPA अभियान, विज्ञापनदाता और प्रकाशक डैशबोर्ड, धोखाधड़ी विरोधी और TON और USDT में भुगतान। प्रकाशकों के लिए 70% राजस्व हिस्सा।मामला खोलें

इस पृष्ठ के उत्तर देने वाले खोज

बहु-क्षैतिज मार्केटप्लेस विकास, वर्गीकृत वेबसाइट विकास कंपनी, olx की तरह एक मार्केटप्लेस बनाएं, कार मार्केटप्लेस विकास, रियल एस्टेट लिस्टिंग प्लेटफ़ॉर्म विकास, डिजिटल सामान मार्केटप्लेस विकास, कूपन वेबसाइट विकास, मूल्य तुलना वेबसाइट विकास, विक्रेता दुकानों के साथ मार्केटप्लेस, सहेजे गए खोज अलर्ट पुश, विक्रेता बैज और विश्वास संकेत, मार्केटप्लेस के लिए क्रिप्टो भुगतान, मार्केटप्लेस बैलेंस और भुगतान, मार्केटप्लेस मॉडरेशन वर्कफ़्लो, मार्केटप्लेस मोबाइल ऐप बैकएंड, मार्केटप्लेस की लागत कितनी है, मल्टी टेनेट मार्केटप्लेस एक कोडबेस, वर्टिकल आर्किटेक्चर के लिए उपडोमेन, वर्टिकल के लिए मार्केटप्लेस एसईओ साइटमैप, प्रबंधित करें.