𝗟𝗲𝘀𝘀𝗼𝗻𝘀 𝗟𝗲𝗮𝗿𝗻𝗲𝗱 𝗕𝘂𝗶𝗹𝗱𝗶𝗻𝗴 𝗣𝗢𝗦 𝗟𝗶𝘁𝗲

ചെറുകിട ബിസിനസ്സുകൾക്കായി ഒരു ഫുൾ സ്റ്റാക്ക് പോയിന്റ് ഓഫ് സെയിൽ (point of sale) സിസ്റ്റമായ POS Lite നിർമ്മാണം ഞാൻ പൂർത്തിയാക്കി. ഇതിന്റെ ആർക്കിടെക്ചറും (architecture) ഡിപ്ലോയ്മെന്റും (deployment) ഞാൻ നേരത്തെ പങ്കുവെച്ചിരുന്നു. ഇപ്പോൾ, ഇതിലൂടെ ഞാൻ പഠിച്ച കാര്യങ്ങൾ പങ്കുവെക്കാൻ ഞാൻ ആഗ്രഹിക്കുന്നു.

ഒരു യഥാർത്ഥ പ്രോജക്റ്റ് നിർമ്മിക്കുന്നത് ഒരു ട്യൂട്ടോറിയൽ പിന്തുടരുന്നതിൽ നിന്നും വ്യത്യസ്തമാണ്. ട്യൂട്ടോറിയലുകൾ നിങ്ങൾക്കായി തീരുമാനങ്ങൾ എടുക്കുന്നു. എന്നാൽ യഥാർത്ഥ പ്രോജക്റ്റുകളിൽ തീരുമാനങ്ങൾ എടുക്കാൻ നിങ്ങൾ നിർബന്ധിതരാകുന്നു.

നിങ്ങൾ തീരുമാനിക്കേണ്ട കാര്യങ്ങൾ ഇവയാണ്:

എന്റെ പ്രധാന പാഠങ്ങൾ താഴെ പറയുന്നവയാണ്:

  1. പൂർണ്ണതയ്ക്കായുള്ള കാത്തിരിപ്പ് നിങ്ങളെ പിന്നോട്ടടിക്കും മികച്ച ഒരു ആർക്കിടെക്ചറിനോ അല്ലെങ്കിൽ UI-നോ വേണ്ടി കാത്തുനിൽക്കരുത്. പ്രവർത്തിക്കുന്ന ഒരു വേർഷനുമായി തുടങ്ങുക. ഘട്ടം ഘട്ടമായി അത് മെച്ചപ്പെടുത്തുക. ഉദാഹരണത്തിന്, ആദ്യം പ്രൊഡക്റ്റ് മോഡ്യൂൾ (product module) പ്രവർത്തിപ്പിക്കുക. അതിനുശേഷം വാലിഡേഷൻ (validation) ചേർക്കുക. തുടർന്ന് ഇൻവെന്ററി (inventory) കണക്ട് ചെയ്യുക. ചെറിയ വിജയങ്ങളാണ് ഒരു പൂർത്തിയായ ഉൽപ്പന്നത്തിലേക്ക് നയിക്കുന്നത്.

  2. വളർച്ചയനുസരിച്ച് സ്ട്രക്ചർ പ്രധാനമാണ് ചെറിയൊരു ബാക്ക്‌എൻഡ് കൈകാര്യം ചെയ്യാൻ എളുപ്പമാണ്. എന്നാൽ വലിയൊരു ബാക്ക്‌എൻഡിന് കൃത്യമായ ക്രമീകരണം ആവശ്യമാണ്. കാര്യങ്ങൾ അടുക്കിവെക്കാൻ ഞാൻ ഒരു ലെയേർഡ് സ്ട്രക്ചർ (layered structure) ഉപയോഗിച്ചു:

  1. ഓതന്റിക്കേഷൻ സങ്കീർണ്ണമാണ് ഓതന്റിക്കേഷൻ എന്നത് വെറുമൊരു ലോഗിൻ ഫോം മാത്രമല്ല. ക്രെഡൻഷ്യലുകൾ പരിശോധിക്കുക (validating credentials), ടോക്കണുകൾ നിർമ്മിക്കുക (generating tokens), റൂട്ടുകൾ സംരക്ഷിക്കുക (protecting routes), ഉപയോക്താക്കളുടെ ആക്സസ് നിയന്ത്രിക്കുക എന്നിവയെല്ലാം ഇതിൽ ഉൾപ്പെടുന്നു. JWT ഉപയോഗിച്ചത് സെക്യൂരിറ്റി എങ്ങനെയാണ് ഫ്രണ്ട്‌എൻഡിനെയും ബാക്ക്‌എൻഡിനെയും തമ്മിൽ ബന്ധിപ്പിക്കുന്നത് എന്ന് മനസ്സിലാക്കാൻ എന്നെ സഹായിച്ചു.

  2. UX എന്നത് ഉപയോഗക്ഷമതയെക്കുറിച്ചാണ് ഫ്രണ്ട്‌എൻഡ് എന്നത് വെറും കാഴ്ചയ്ക്ക് വേണ്ടിയുള്ളതല്ല. ഉപയോക്താക്കൾക്ക് ഉൽപ്പന്നങ്ങൾ തിരയാനും, വിൽപ്പനകൾ പൂർത്തിയാക്കാനും, റിപ്പോർട്ടുകൾ വേഗത്തിൽ കാണാനും സാധിക്കണം. ഭംഗിയുള്ളതിനേക്കാൾ പ്രായോഗികമായ ഒരു ഇന്റർഫേസ് ആണ് നല്ലത്.

  3. ഡിപ്ലോയ്മെന്റ് എന്നത് എഞ്ചിനീയറിംഗ് പ്രക്രിയയാണ് ലോക്കൽ ഡെവലപ്‌മെന്റിൽ നിന്ന് ക്ലൗഡിലേക്ക് മാറുന്നതിലൂടെ പുതിയ പ്രശ്നങ്ങൾ വെളിപ്പെടുന്നു. CORS എററുകൾ, എൻവയോൺമെന്റ് വേരിയബിൾ (environment variable) പ്രശ്നങ്ങൾ, DNS സെറ്റപ്പ് ജോലികൾ എന്നിവ നിങ്ങൾ നേരിടേണ്ടി വരും. ഡിപ്ലോയ്മെന്റ് എന്നത് അവസാന ഘട്ടമല്ല, മറിച്ച് പ്രക്രിയയുടെ ഒരു പ്രധാന ഭാഗമാണ്.

  4. തെറ്റുകൾ പാഠങ്ങളാണ് ചെറിയ പിഴവുകൾ വലിയ പാഠങ്ങൾ പഠിപ്പിക്കുന്നു. ഒരു എൻവയോൺമെന്റ് വേരിയബിളിന്റെ അഭാവമോ അല്ലെങ്കിൽ തെറ്റായ ഒരു പോർട്ടോ എല്ലാം തകരാറിലാക്കാം. കൂടുതൽ ശ്രദ്ധയോടെ ഡീബഗ് (debug) ചെയ്യാൻ ഈ ബഗുകൾ എന്നെ പഠിപ്പിച്ചു.

നിങ്ങളുടെ സ്വന്തം പ്രോജക്റ്റുകൾക്കായി എന്റെ ഉപദേശം:

പൂർത്തിയാകാത്ത, തികഞ്ഞ ഒരു ആശയത്തേക്കാൾ കൂടുതൽ കാര്യങ്ങൾ ഒരു പൂർത്തിയായ, ഡിപ്ലോയ് ചെയ്ത പ്രോജക്റ്റ് നിങ്ങളെ പഠിപ്പിക്കും.

Source: https://dev.to/guadalupe182/lessons-learned-building-pos-lite-from-idea-to-full-stack-application-471h