लाईव्ह इन्व्हेंटरीसह स्टॅटिक साइट्स

तुम्हाला एक वेगवान साइट हवी आहे. तुम्हाला अचूक स्टॉक लेव्हल्सची देखील गरज आहे. बहुतेक लोक यांपैकी एक निवडतात. ते वेग किंवा अचूकता यांपैकी एक निवडतात. पण तुम्हाला तसे करण्याची गरज नाही.

स्टॅटिक साइट्स वेगवान असतात. परंतु बिल्ड्सच्या (builds) दरम्यान डेटा जुना होतो. क्लायंट-साइड फेचिंग (Client side fetching) अचूक असते. परंतु यामुळे लोडिंग स्पिनर्स (loading spinners) येतात. स्पिनर्समुळे युजर एक्सपिरियन्स (user experience) खराब होतो.

सत्याचे दोन स्तर (layers of truth) वापरा.

पहिला स्तर बाह्य प्रणालींना (external systems) सेवा देतो.

  • Google आणि Meta साठी बिल्ड टाइम डेटा वापरा.
  • यामुळे विकल्या गेलेल्या वस्तूंच्या जाहिराती थांबतात.
  • एक सिंक स्क्रिप्ट (sync script) हा डेटा ताजे ठेवते.

दुसरा स्तर तुमच्या व्हिजिटर्सना (visitors) सेवा देतो.

  • शॉप ग्रिड स्टॅटिक HTML म्हणून रेंडर करा.
  • वस्तू उपलब्ध आहेत असे गृहीत धरा.
  • पेज लोड झाल्यानंतर UI मध्ये बदल करण्यासाठी एक लहान स्क्रिप्ट वापरा.
  • यामुळे विकल्या गेलेल्या वस्तूंचे 'बाय' (buy) बटण काढून टाकले जाते.

हा दृष्टिकोन लोडिंग स्टेट्स (loading states) काढून टाकतो. पेज त्वरित लोड झाल्यासारखे वाटते. जर तुमची API फेल झाली, तरी साइट काम करते. युजर्स ब्राउझ करू शकतात आणि कार्टमध्ये वस्तू जोडू शकतात. जर एखादी वस्तू विकली गेली असेल, तर कार्ट ती विनंती (request) नाकारते.

ब्लँक स्क्रीनपेक्षा कार्ट एरर (cart error) असणे अधिक चांगले आहे.

याचा वापर कमी ट्रॅफिक असलेल्या शॉप्ससाठी करा. हे आर्ट किंवा विशिष्ट (niche) वस्तूंसाठी उपयुक्त आहे. फ्लॅश सेल्ससाठी (flash sales) याचा वापर करू नका. जास्त ट्रॅफिकसाठी कडक तपासणीची (strict checks) आवश्यकता असते.

स्रोत: https://dev.to/dbartalos/static-site-live-inventory-two-sources-of-truth-that-dont-fight-each-other-5c0a