Lovable மற்றும் Supabase மூலம் 16 தயாரிப்புகளை இயக்குவதில் ஏற்படும் தொழில்நுட்பத் தவறுகள்
Inithouse-இல் நாங்கள் 16 தயாரிப்புகளை இயக்குகிறோம். அவை அனைத்திற்கும் Lovable மற்றும் Supabase ஆகியவற்றைப் பயன்படுத்துகிறோம். ஒரே ஒரு குழு அனைத்தையும் நிர்வகிக்கிறது. இது கேட்பதற்கு நன்றாகத் தோன்றலாம், ஆனால் நீங்கள் 16 custom domains, 16 Supabase projects மற்றும் 16 edge functions தொகுப்புகளைச் சந்திக்கத் தொடங்கும் போது நிலைமை மாறும்.
நாங்கள் நேரத்தை வீணடித்த சில தவறுகளைச் செய்துள்ளோம். அவற்றில் முக்கியமான ஐந்து தொழில்நுட்பத் தவறுகளும், அவற்றை நாங்கள் சரிசெய்த முறைகளும் இங்கே கொடுக்கப்பட்டுள்ளன.
1. சீரற்ற database schemas
எங்களது முதல் மூன்று தயாரிப்புகள் ஒரே தரவிற்காக வெவ்வேறு table பெயர்களைப் பயன்படுத்தின. ஒரு திட்டத்தில் analytics-க்காக page_views பயன்படுத்தப்பட்டது. மற்றொன்றில் analytics_events பயன்படுத்தப்பட்டது. இதனால் பொதுவான குறியீடுகளை (shared code) எழுதுவது சாத்தியமில்லாமல் போனது. ஒரு மதிய நேரத்தில் முடித்திருக்க வேண்டிய ஒரு பணி, இரண்டு வாரங்கள் எடுத்தது.
தீர்வு: நாங்கள் ஒரு பொதுவான migration template-ஐ உருவாக்கினோம். ஒவ்வொரு புதிய தயாரிப்பிற்கும் analytics, blog posts மற்றும் auth ஆகியவற்றிற்கான ஒரே மாதிரியான அடிப்படை அட்டவணைகள் (base tables) வழங்கப்படுகின்றன. வேலைப்பளு குறைவாக உள்ள வாரங்களில் பழைய திட்டங்களை நாங்கள் மாற்றியமைத்தோம். இப்போது, ஒரு monitoring endpoint-ஐச் சேர்ப்பதற்கு ஒரு நாளைக்குப் பதிலாக 20 நிமிடங்கள் மட்டுமே ஆகிறது.
2. செயலிழந்த custom domains
Lovable மூலம் நீங்கள் custom domains-ஐ இணைக்க முடியும். சில நேரங்களில் deploy வெற்றிகரமாக முடிந்தாலும், DNS verification தோல்வியடைகிறது. Preview URL வேலை செய்யும், ஆனால் live domain ஒரு வெற்றுப் பக்கத்தையே (blank page) காட்டும். நேரடி URL-ஐச் சரிபார்க்காததால், நாங்கள் மூன்று நாட்களுக்கான போக்குவரத்தை (traffic) இழந்தோம்.
தீர்வு: நாங்கள் ஒரு post-publish checklist-ஐப் பயன்படுத்துகிறோம். ஒவ்வொரு live domain-ஐயும் சரிபார்க்க ஒரு incognito window-வில் திறக்கிறோம். மேலும், ஒரு domain செயலிழந்தால் Slack-க்குத் தகவல் தெரிவிக்கும் வகையில் ஒரு uptime check-ஐயும் சேர்த்துள்ளோம்.
3. சிதறிய தரவுத் தெரிவுத்திறன் (Fragmented data visibility)
ஒவ்வொரு தயாரிப்பிற்கும் தனித்தனி dashboards-களைத் திறக்காமல், எங்களது முழு போர்ட்ஃபோலியோவும் (portfolio) எவ்வாறு செயல்படுகிறது என்பதை எங்களால் பார்க்க முடியவில்லை. நாங்கள் எதையும் அறியாமலேயே செயல்பட்டுக் கொண்டிருந்தோம்.
தீர்வு: நாங்கள் ஒவ்வொரு Supabase project-க்கும் ஒரு stats API endpoint-ஐப் பயன்படுத்தினோம். ஒவ்வொரு தயாரிப்பும் users மற்றும் signups போன்ற முக்கிய அளவீடுகளை (metrics) ஒரு நிலையான வடிவத்தில் (standard format) அனுப்புகிறது. ஒரு ஒற்றை script இந்தத் தரவை ஒரே dashboard-க்குள் கொண்டு வருகிறது.
4. கூறுகளை நகலெடுத்து ஒட்டுதல் (Copy-pasting components)
நாங்கள் ஒரு திட்டத்திலிருந்து மற்றொரு திட்டத்திற்கு React components-களை நகலெடுத்து ஒட்டுவதை வழக்கமாகக் கொண்டிருந்தோம். இந்த கூறுகள் பழைய அனுமானங்களைக் கொண்டிருந்தன. ஒரு தயாரிப்பிலிருந்து எடுக்கப்பட்ட pricing card, மற்றொரு தயாரிப்பில் வேலை செய்யவில்லை, ஏனெனில் அது வேறுபட்ட payment flow-வை எதிர்பார்த்தது. இந்தத் தெளிவற்ற பிழைகளை (phantom bugs) சரிசெய்யவே நாங்கள் பல நாட்களைச் செலவிட்டோம்.
தீர்வு: நாங்கள் நகலெடுத்து ஒட்டுவதை நிறுத்திவிட்டோம். component patterns பற்றிய ஒரு ஆவணத்தைப் பராமரிக்கிறோம். இந்த patterns-களின் அடிப்படையில் ஒரு புதிய கூறுகளை உருவாக்க Lovable-இடம் கூறுகிறோம். இதை அமைப்பது சற்று மெதுவானதுதான், ஆனால் பராமரிப்பது மிகவும் எளிது.
5. சாட் வரலாற்றை ஆவணமாகப் பயன்படுத்துதல் (Using chat history as documentation)
தொழில்நுட்ப முடிவுகளை நினைவில் கொள்ள Lovable chat history-யையே நாங்கள் நம்பியிருந்தோம். Chat logs மிகவும் குழப்பமானவை. அவை வெற்றிகரமான மாற்றங்களையும் தோல்வியடைந்த முயற்சிகளையும் கலந்து வைத்திருக்கும். ஒரு நீண்ட உரையாடலில் (thread) ஒரு குறிப்பிட்ட மாற்றத்திற்கான காரணத்தைக் கண்டறிவது கடினம்.
தீர்வு: நாங்கள் முடிவுகளைப் பதிவு செய்யும் பணியை Linear-க்கு மாற்றினோம். என்ன மாறியது மற்றும் ஏன் மாறியது என்பதை விளக்கி Linear-இல் ஒரு வரியைத் தட்டச்சு செய்கிறோம். Lovable chat என்பது செயல்பாட்டிற்கானது (execution). Linear என்பது முடிவுகளுக்கானது (decisions).
பாடம் எளிமையானது. 16 தயாரிப்புகளையும் 16 தனித்தனித் திட்டங்களாகக் கருதாதீர்கள். அவற்றை ஒரே போர்ட்ஃபோலியோவாகக் கருதுங்கள். உங்கள் templates-களைத் தரப்படுத்துங்கள் மற்றும் அனைத்தையும் ஒரே இடத்திலிருந்து கண்காணிக்கவும்.
Source: https://dev.to/jakub_inithouse/technical-mistakes-of-running-16-products-on-lovable-supabase-59fh
Optional learning community: https://t.me/GyaanSetuAi
