प्रिज्मा-सीएमएस जल्दी से एमवीपी बनाने के लिए एक इंजन के रूप में

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

दिलचस्प है, एमवीपी की तुलना अधिक उन्नत प्रोटोटाइप विकी से की जा सकती है। इसी समय, प्रोटोटाइप के लिए विशेष सॉफ्टवेयर है, और एक बार मैंने एक ही एक्सुरे का उपयोग भी किया। लेकिन एक्सुर से क्या गायब था और मैंने तुरंत इसे क्यों छोड़ दिया? (मुझे नहीं पता, शायद अब वह अधिक उन्नत हो गया है और इन मुद्दों को हल कर दिया गया है, लेकिन उस समय नहीं था)।

  1. वास्तविक डेटा के साथ कोई काम नहीं है। यही है, मेरे पास प्रोटोटाइप में एक उपयोगकर्ता अनुभाग है, लेकिन मैं एपीआई के माध्यम से उपयोगकर्ता डेटा प्राप्त नहीं कर सकता और उन्हें अपने टेम्पलेट में लूप में प्रदर्शित कर सकता हूं। और वास्तव में, सिद्धांत रूप में, वास्तविक डेटा के साथ काम करने का कोई तरीका नहीं है (रिकॉर्ड बनाएं, उन्हें पढ़ें)।
  2. प्रोटोटाइपिंग चरण को पार करना और सीधे विकास के लिए आगे बढ़ना, आप प्रोटोटाइप में बनाए गए टेम्प्लेट का उपयोग नहीं कर सकते। यही है, प्रोटोटाइप तैयार होने के बाद और ग्राहक के साथ सहमत होने पर और जब हमने प्रोग्रामिंग पर स्विच किया, तो हम सिर्फ अपनी आंखों से प्रोटोटाइप को देख सकते थे, इसके साथ और कुछ नहीं किया जा सकता था। और इसलिए मैं एक प्रोटोटाइप फेंकना चाहता था और फिर इसे विकास में उपयोग करना चाहता था।

अभी भी क्षण थे, लेकिन ये दोनों सबसे महत्वपूर्ण हैं। यह पता चला कि प्रोटोटाइप और प्रोग्रामिंग के चरणों ने अपने स्वयं के स्वतंत्र जीवन जीते थे और किसी भी तरह से एक दूसरे को प्रभावित नहीं किया था। लेकिन मैं चाहूंगा कि प्रोटोटाइप चरण आसानी से सीधे प्रोग्रामिंग में जाए। और वर्तमान लेख के ढांचे के भीतर, कोई यह भी सुझाव दे सकता है कि प्रोटोटाइप एमवीपी के निर्माण में बहता है, और फिर, यदि सफल होता है, तो एमवीपी को अंतिम पूर्ण उत्पाद के रूप में विकसित किया जा सकता है। वास्तव में, यदि आप ऐसा सोचते हैं, तो एमवीपी का निर्माण हमेशा यह गारंटी नहीं देता है कि भविष्य में एक अधिक पूर्ण उत्पाद होगा। आखिर MVP बनाने की बात क्या है? सबसे पहले, विचार को न्यूनतम लागतों के साथ लागू करने के लिए, ताकि आप काम में कोशिश कर सकें, और दूसरी बात, मांग का अध्ययन करने और अपने लिए यह तय करने के लिए कि क्या यह एक पूर्ण उत्पाद के लिए निवेश और इसे विकसित करने के लायक है। और इसलिए यह पता चला है कि हमें एक उपकरण की आवश्यकता है जो हमें तेज़ी से प्रोटोटाइप / एमवीपी बनाने की अनुमति देगा, और दूसरी ओर, यदि एमवीपी सफल होता है, तो हम बिना किसी विशेष प्रतिबंध के परियोजना को और विकसित कर सकते हैं।

तथ्य की बात के रूप में, प्रिज्मा सीएमएस को देखते हुए, मैं बस ऐसे इंजन को देखता हूं। परियोजना के मसौदे को जल्दी फेंकने के लिए बहुत कुछ है:

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

और यह सब ओपनसोर्स है, अर्थात यह सास नहीं है, जिसके लिए आपको लगातार भुगतान करना पड़ता है (बिना किसी निपटान के सब कुछ)। यह आपके सर्वर पर तैनात किया जा सकता है और अपने लिए अनुकूलित कर सकता है।

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


इसलिए, सर्वर पर प्रिज्मा सीएमएस स्थापित करना (मैं ubuntu का उपयोग करता हूं, अधिमानतः कम से कम 4 जीबी रैम और एक एसएसडी)।

यह माना जाता है कि आप पहले से ही नोड-जेएस, एनपीएम / यार्न, प्रतिक्रिया और ग्रेफेल से परिचित हैं।

1. आवश्यक सॉफ़्टवेयर स्थापित करें


यदि टर्मिनल में सब कुछ एक बार में डाला जाता है, तो निष्पादन टूट सकता है, इसलिए लाइन द्वारा लाइन निष्पादित करना बेहतर है।

यह बिना किसी एक्सेस लेवल सेटिंग के आदि के लिए एक न्यूनतम इंस्टॉलेशन है, सिर्फ सूचना के उद्देश्यों के लिए, अर्थात यदि आप एक नए क्लीन सर्वर पर कोशिश करते हैं, तो सब कुछ रूट से होगा (साइट को लॉन्च करने सहित)। हमारे प्रयोग के लिए, यह बिल्कुल महत्वपूर्ण नहीं है।

sudo apt update sudo apt install mc sudo apt install git curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get install -y nodejs sudo npm i -g yarn sudo apt-get install software-properties-common python-software-properties sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' sudo apt-get update sudo apt-get install -y docker-engine sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose 

2. भंडार का क्लोन


 mkdir /var/www cd /var/www git clone https://github.com/prisma-cms/boilerplate cd boilerplate yarn --ignore-engines 

3. MySQL और प्रिज्मा के साथ डॉकटर कंटेनर लॉन्च करें (प्रिज्मा एक अलग उत्पाद है, मेरा नहीं, लेकिन जिसके साथ सर्वर हिस्सा दृढ़ता से जुड़ा हुआ है, देखें github.com/prisma/prisma )।

 sudo docker-compose -f src/server/scripts/docker/prisma/docker-compose.yml up -d 

यदि आप phpMyAdmin के माध्यम से डेटाबेस में देखना चाहते हैं, तो इसे भी इंस्टॉल करें।

 sudo docker run -d --link prisma_mysql_1:db --network prisma_default -p 8090:80 phpmyadmin/phpmyadmin 

8090 पोर्ट पर लटकाएगा। डिफ़ॉल्ट रूप से, उपयोगकर्ता नाम / पासवर्ड रूट / प्रिज्मा है

4. रोजगार योजना


 endpoint=http://localhost:4466/my-project/dev yarn deploy 

मेरे-प्रोजेक्ट / देव, क्रमशः, आप अपना स्वयं का लिख ​​सकते हैं और एक ही सर्वर पर कई प्रोजेक्ट बना सकते हैं।

महत्वपूर्ण! उत्पादन पर, पोर्ट 4466 को एक फ़ायरवॉल द्वारा बंद किया जाना चाहिए, यह सीधे बाहर से सुलभ नहीं होना चाहिए।

5. एपीआई सर्वर लॉन्च करें


 APP_SECRET=MyStrongSecret endpoint=http://localhost:4466/my-project/dev yarn start-server 

शुरू करने के बाद, आप सर्वर-आईपी : 4000 एपीआई खोल सकते हैं।

जैसा कि मैंने पिछले लेख में लिखा था, यह एक मध्यवर्ती सर्वर है जो उत्पन्न किए गए एक के ऊपर अपने तर्क को लागू करता है (जो पोर्ट 4466 पर चलता है)।

6. सामने लॉन्च करें


हम एक और टर्मिनल खोलते हैं और उसी फ़ोल्डर में जिसे हम निष्पादित करते हैं

 yarn start 

सामने बंदरगाह 3000 पर शुरू होगा। अब आप सीधे सामने की "प्रोग्रामिंग" पर जा सकते हैं। सर्वर-आईपी खोलें: 3000। प्रवेश करते समय, जबकि सामने के लिए एक भी बचाया टेम्पलेट नहीं है, आपके लिए एक प्राधिकरण बटन प्रदर्शित किया जाएगा। तर्क साइट को पंजीकृत करने और डिजाइन करना शुरू करना है। पहला कौन है - वह और स्नीकर साइट। यह ऐसा दिखता है:


7. स्क्रिप्ट बनाएं और SSR (सर्विस-साइड रेंडरिंग) चलाएं


यार्न स्टार्ट के माध्यम से शुरू करना एक देव-विधा है, पहली शुरुआत के लिए उपयुक्त (जो सब कुछ काम करता है) और सीधे जेएस भाग की प्रोग्रामिंग के लिए। और लड़ाई के लिए, ज़ाहिर है, एक एकत्रित मोर्चे की आवश्यकता है। इंटरप्ट रनिंग यार्न Ctrl + C के माध्यम से शुरू होता है और स्क्रिप्ट का निर्माण करता है।

 yarn build 

आप धूम्रपान कर सकते हैं और कॉफी डाल सकते हैं, यह प्रक्रिया जल्दी नहीं है। दुर्लभ मामलों में, इमारत पहली बार गिरती है, बस इसे फिर से चलाएं, इस मामले में, एक नियम के रूप में, यह सफलतापूर्वक और बहुत तेजी से पूरा होता है।

जब इमारत खत्म हो जाती है, तो इकट्ठे मोर्चे को चलाएं।

 yarn start-ssr 

अब लॉन्च बहुत तेज है, और स्क्रिप्ट्स छोटी हैं।

निष्कर्ष


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

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

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

परियोजना के सूत्र

ध्यान देने के लिए आप सभी का धन्यवाद!

Source: https://habr.com/ru/post/hi457270/


All Articles