MERN Stack പഠനത്തിന്റെ 51-ാം ദിവസം

എന്റെ MERN stack പഠനയാത്രയുടെ 51-ാം ദിവസമെത്തിയിരിക്കുന്നു.

ഇന്നലെ, അടിസ്ഥാനപരമായ ഹോസ്റ്റ് സബ്മിഷനുകൾ കൈകാര്യം ചെയ്യാൻ ഞാൻ പഠിച്ചു. ഇന്ന്, പ്രൊഡക്ഷൻ ലെവൽ ഡാറ്റാ സിൻക്രണൈസേഷനിലേക്ക് ഞാൻ കടന്നുചെന്നു. ഐഡി (ID) അടിസ്ഥാനമാക്കിയുള്ള അപ്‌ഡേറ്റുകളിലും റിസോഴ്സ് ഡിലീഷനിലും (resource deletion) ഞാൻ ശ്രദ്ധ കേന്ദ്രീകരിച്ചു.

വലിയ ആപ്ലിക്കേഷനുകൾക്ക് ഡാറ്റ ചേർക്കുന്നത് കൊണ്ട് മാത്രം പോരാ. അവ എഡിറ്റ് ചെയ്യാനോ ഡിലീറ്റ് ചെയ്യാനോ പ്രത്യേക റെക്കോർഡുകളെ ലക്ഷ്യം വെക്കേണ്ടതുണ്ട്. ഇന്ന് ഞാൻ ഈ ലോജിക് എന്റെ കൺട്രോളർ ലെയറുകളിൽ (controller layers) ഉൾപ്പെടുത്തി.

എന്റെ ജോലി പ്രധാനമായും രണ്ട് കാര്യങ്ങളിൽ ശ്രദ്ധ കേന്ദ്രീകരിച്ചു:

  • URL പാരാമീറ്ററുകളിൽ നിന്ന് ഐഡന്റിഫയറുകൾ (identifiers) വേർതിരിച്ചെടുക്കുക.
  • ഇന്റർഫേസ് മോഡുകൾ നിയന്ത്രിക്കാൻ ക്വറി വേരിയബിളുകൾ (query variables) ഉപയോഗിക്കുക.

എന്റെ കൺട്രോളറിനുള്ളിൽ ഒരു എഡിറ്റ് ലുക്കപ്പ് (edit lookup) ഞാൻ നിർമ്മിച്ചു. കൃത്യമായ ഐറ്റം കണ്ടെത്താൻ ഞാൻ req.params.homeId ഉപയോഗിച്ചു. ഉപയോക്താവ് എഡിറ്റ് മോഡ് കാണേണ്ടതുണ്ടോ എന്ന് പരിശോധിക്കാൻ ഞാൻ req.query.editing ഉം ഉപയോഗിച്ചു.

എന്റെ വർക്ക്സ്പേസിലെ കോഡ് ഉദാഹരണം:

const homeId = req.params.homeId; const editing = req.query.editing === 'true';

ഏത് റെക്കോർഡാണ് മാറ്റേണ്ടതെന്ന് ബാക്കെൻഡിന് (backend) കൃത്യമായി മനസ്സിലാക്കാൻ ഈ പ്രക്രിയ സഹായിക്കുന്നു. ഡാറ്റ എങ്ങനെ പ്രദർശിപ്പിക്കണമെന്ന് ഇത് ഫ്രണ്ട്‌എൻഡിനോടും (frontend) പറയുന്നു.

സ്രോതസ്സ്: https://dev.to/ali_hamza_589ec7b3eb6688d/day-51-of-learning-mern-stack-22cn