UniMarket

UniMarket-ஐ நாங்கள் உருவாக்கிய விதம்: ஒரே சர்வரில் வேகமான, இருமொழிச் சந்தை

வங்காள எழுத்துருக்கள், ஒற்றைக் கோட்பாடு கட்டமைப்பு, பல கடைகளின் ஆர்டர்கள், முழு பைசாக்களாகச் சேமிக்கப்படும் பணம், மின்னஞ்சல் சென்றடைவு, ஒரே கட்டளையில் டெப்ளாய் என UniMarket-இன் பின்னணியில் உள்ள முடிவுகள்.

UniMarket என்பது வங்கதேசத்துக்கான, வங்காளம் மற்றும் ஆங்கிலத்தில் இயங்கும் பல-விற்பனையாளர் சந்தை. ஸ்டோர், Seller Center, அட்மின் பேனல், நிறுவக்கூடிய ஆப் ஆகியவற்றை ஒரே TypeScript திட்டமாக உருவாக்கி, எங்கள் சொந்த சர்வரில் இயக்குகிறோம். மிக முக்கியமான முடிவுகளையும் அவற்றின் காரணங்களையும் இங்கே விளக்குகிறோம்.

டார்க் தீமில் UniMarket வகைப் பக்கம்: விலை, தள்ளுபடி பேட்ஜ், Add பொத்தானுடன் பொருட்களின் வரிசை.
டெஸ்க்டாப்பில் ஒரு வகைப் பக்கம்.

தொழில்நுட்பத் தொகுப்பும் காரணங்களும்

அடுக்குதேர்வுகாரணம்
ஆப்Next.js 16, React 19, TypeScriptசர்வரில் உருவாகும் பக்கங்கள் உலாவியின் JavaScript-ஐக் குறைவாக வைக்கின்றன; ஒரே மொழி ஸ்டோர், Seller Center, அட்மின், API அனைத்தையும் உள்ளடக்குகிறது.
ஸ்டைலிங்டிசைன் டோக்கன்களுடன் Tailwind CSS 4சிறிய CSS; ஒரே டோக்கன்களிலிருந்து லைட், டார்க் தீம்கள்.
தரவுதனி இன்ஸ்டன்ஸுடன் MongoDBவெவ்வேறு விருப்பங்கள் உள்ள பொருட்களுக்கு நெகிழ்வான ஆவணங்கள் பொருந்தும்; தனி இன்ஸ்டன்ஸ் இருப்பதால் சர்வரில் உள்ள மற்ற சேவைகள் பாதிக்கப்படுவதில்லை.
உள்நுழைவுஒருமுறைக் குறியீடுகள், Google, Apple; தொலைபேசிக் குறியீடுகளுக்கு Firebase Authவங்கதேசத்தில் வாங்குபவர்கள் தொலைபேசி எண்ணால் உள்நுழைகிறார்கள்; குறியீட்டுக்கு மறக்கக்கூடிய கடவுச்சொல் தேவையில்லை.
ஹோஸ்டிங்சொந்த VPS, nginx, Cloudflare, Let’s Encryptமுன்கூட்டியே அறியக்கூடிய செலவு; பேக்கப், மின்னஞ்சல், வரம்புகள் மீது முழுக் கட்டுப்பாடு.

வங்காளத்திலும் வேகமான பக்கங்கள்

பார்வையாளர் காணும் பெரும்பாலான பக்கங்கள் பொதுவானவை; அதனால் அவை கேஷ் செய்யப்படும்படி உருவாக்கப்படுகின்றன. கார்ட் எண்ணிக்கை, உள்நுழைந்தவர் பெயர் போன்ற தனிப்பட்ட தகவல்கள் தனியாக நிரப்பப்படுவதால் பக்கத்தை அவை தாமதப்படுத்துவதில்லை. படங்கள் பதிவேற்றப்படும்போதே நிலையான அளவுகளில் நவீன வடிவங்களுக்கு மாற்றப்படுகின்றன.

எழுத்துருக்கள் எதிர்பாராத சவாலாக இருந்தன. வங்காள வெப் எழுத்துரு பெரியது; நாங்கள் முயன்றது சுமார் 200 KB. எங்கள் சோதனையில் அது மொபைல் Lighthouse செயல்திறன் மதிப்பெண்ணில் பத்துக்கும் மேற்பட்ட புள்ளிகளைக் குறைத்தது. எனவே வங்காள உரை தொலைபேசி அல்லது கணினியில் ஏற்கெனவே உள்ள எழுத்துருவைப் பயன்படுத்துகிறது; லத்தீன் எழுத்துகளுக்கும் எண்களுக்கும் மட்டும் சிறிய, சுயமாக ஹோஸ்ட் செய்த எழுத்துரு உள்ளது. வாசகர்கள் தினமும் படிக்கும் எழுத்துருவையே காண்கிறார்கள்; கூடுதலாக எதுவும் பதிவிறங்குவதில்லை.

எங்கள் உள்ளூர் புரொடக்ஷன் பில்டில் சோதித்த ஒவ்வொரு பக்கத்திலும் Accessibility, Best Practices, SEO ஆகியவை 100 மதிப்பெண் பெற்றன; மொபைல் Performance 93 முதல் 98 வரை இருந்தது. இவை உள்ளூர் பில்டில் நாங்களே எடுத்த அளவீடுகள்; பின்னர் மூன்றாம் தரப்பு ஸ்கிரிப்ட்களைச் சேர்த்தால் இவை குறையும்.

உண்மையிலேயே இரண்டு மொழிகளாக இருக்கும் இரு மொழிகள்

வங்காளத்துக்கும் ஆங்கிலத்துக்கும் தனித்தனி முகவரி உண்டு; தேடுபொறிகள் சரியானதைக் காட்ட அவற்றுக்கிடையே hreflang இணைப்புகள் உள்ளன. இடைமுகத்தின் ஒவ்வொரு சரமும் வகைப்படுத்தப்பட்ட அகராதியில் உள்ளது; வங்காளச் சரம் இல்லையென்றால் பில்டு தோல்வியடையும். எனவே பாதி மொழிபெயர்த்த பக்கம் வெளியாகவே முடியாது. விலைகள் வங்காளத்தில் வங்காள இலக்கங்களிலும், ஆங்கிலத்தில் லத்தீன் இலக்கங்களிலும் காட்டப்படும்.

ஒரே செக்அவுட், பல விற்பனையாளர்கள்

ஒரு கார்ட்டில் பல கடைகளின் பொருட்கள் இருக்கலாம். வாங்குபவர் ஆர்டரை உறுதிசெய்யும்போது, செக்அவுட் உலாவியை நம்பாமல் ஒவ்வொரு விலையையும் டேட்டாபேஸிலிருந்து மீண்டும் கணக்கிடுகிறது; இருப்பை ஒரே அணு (atomic) படியில் ஒதுக்குகிறது; ஆர்டரை ஒவ்வொரு கடைக்கும் ஒரு ஷிப்மென்ட்டாகப் பிரிக்கிறது; ஒரு கடைக்கு ஒரு டெலிவரி கட்டணத்தை வசூலிக்கிறது. இரண்டு முறை சமர்ப்பித்தாலும் இரண்டு ஆர்டர்கள் உருவாகாது; ரத்து செய்தால் இருப்பு திரும்பிவிடும்.

பணம் முழு பைசாக்களாகச் சேமிக்கப்படுகிறது; ஒரு டாக்கா 100 பைசா. எனவே எந்தக் கூட்டலும் தசமத்தால் ஒருபோதும் முழுமையாக்கப்படுவதில்லை.

இயல்பாகவே பாதுகாப்பு

  • விற்பனையாளர்கள் தங்கள் சொந்த ஆர்டர்களையும் பொருட்களையும் மட்டுமே பார்க்க முடியும்; ஊழியர்களுக்கு அவர்களின் பணிக்கான அனுமதிகள் மட்டுமே உண்டு. ஊழியர்கள் கடவுச்சொல்லுடன் authenticator குறியீட்டையும் கொண்டு உள்நுழைகிறார்கள்; அவர்களின் மாற்றங்கள் தணிக்கைப் பதிவில் (audit log) சேர்கின்றன.
  • வெப் சர்வர் உள்நுழைவு மற்றும் API கோரிக்கைகளுக்கு வரம்பு விதிக்கிறது; ஆப் ஒவ்வொரு பயனருக்கும் தனி வரம்புகளையும் சேர்க்கிறது.
  • பதிவேற்றங்கள் மீண்டும் என்கோடு செய்யப்படுகின்றன; இதனால் புகைப்படங்களில் மறைந்துள்ள இருப்பிடத் தரவு நீங்கிவிடும். அடையாள ஆவணங்கள் பொதுக் கோப்புறைக்கு வெளியே சேமிக்கப்படுகின்றன.
  • பாதுகாப்பு மதிப்பாய்வுக்குப் பிறகு, கணக்குக் கைப்பற்றல் தொடர்பான இரண்டு கண்டுபிடிப்புகளை முதலில் சரிசெய்தோம்; அடுத்து நடுத்தரக் கண்டுபிடிப்புகளைச் சரிசெய்தோம்.

சென்றடையும் மின்னஞ்சல்

UniMarket ஆர்டரின் ஒவ்வொரு படியிலும் மின்னஞ்சல் அனுப்புகிறது; எனவே மின்னஞ்சல் சென்றடைவு தயாரிப்பின் ஒரு பகுதி. மின்னஞ்சல் எங்கள் சொந்த மெயில் சர்வர் வழியாக DKIM கையொப்பத்துடன் செல்கிறது; டொமைன் SPF, DMARC பதிவுகளை வெளியிடுகிறது. எங்கள் சோதனைகளில் ஆர்டர் மின்னஞ்சல்கள் மூன்று சரிபார்ப்புகளிலும் தேறி, ஸ்பாமில் அல்லாமல் இன்பாக்ஸில் வந்தன.

திறந்த டேப்களை உடைக்காமல் டெப்ளாய் செய்தல்

டெப்ளாய் சர்வரிலேயே பில்டு செய்து, புதிய வெளியீட்டுக்கு மாறி, அது நலமாக உள்ளதா எனச் சரிபார்க்கிறது. இரண்டாவது கட்டளை முந்தைய வெளியீட்டுக்குத் திரும்பச் செல்லும். ஒவ்வொரு வெளியீட்டுக்கும் தனி டெப்ளாய்மென்ட் ஐடி உண்டு. எனவே டெப்ளாய் நடக்கும்போது வாங்குபவர் டேப்பைத் திறந்து வைத்திருந்தால், பக்கத்தின் பொத்தான்கள் பழைய வெளியீட்டுக்குரியவை என்பதைப் பக்கம் உணர்ந்து, பிழையைக் காட்டாமல் தானாகவே மீண்டும் ஏற்றுகிறது.

டேட்டாபேஸ் ஒவ்வொரு இரவும் பேக்கப் எடுக்கப்படுகிறது; கடைசி 14 பேக்கப்கள் வைத்திருக்கப்படுகின்றன.

UniMarket முன்னணி அணுகல் (early access) நிலையில் டெமோ பட்டியலுடன் உள்ளது. சந்தை நேரலையில் செயல்படுகிறது; unimarket.bd டொமைன் திட்டமிடப்பட்டுள்ளது.

UniMarket நேரடி ஆப் மற்றும் அதன் Seller Center வழிகாட்டியுடன் 22Softwares குழு சரிபார்த்த தகவல்கள்.

கேள்விகள்

தொடர்ந்து படியுங்கள்