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

ನಾನು ಸಣ್ಣ ವ್ಯವಹಾರಗಳಿಗಾಗಿ ಫುಲ್ ಸ್ಟ್ಯಾಕ್ (full stack) ಪಾಯಿಂಟ್ ಆಫ್ ಸೇಲ್ (point of sale) ವ್ಯವಸ್ಥೆಯಾದ POS Lite ಅನ್ನು ನಿರ್ಮಿಸುವುದನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ್ದೇನೆ. ನಾನು ಈ ಮೊದಲು ಇದರ ಆರ್ಕಿಟೆಕ್ಚರ್ (architecture) ಮತ್ತು ನಿಯೋಜನೆಯನ್ನು (deployment) ಹಂಚಿಕೊಂಡಿದ್ದೆ. ಈಗ, ನಾನು ಕಲಿತ ವಿಷಯಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಬಯಸುತ್ತೇನೆ.

ನೈಜ ಯೋಜನೆಯನ್ನು ನಿರ್ಮಿಸುವುದು ಟ್ಯುಟೋರಿಯಲ್ ಅನುಸರಿಸುವುದಕ್ಕಿಂತ ಭಿನ್ನವಾಗಿದೆ. ಟ್ಯುಟೋರಿಯಲ್‌ಗಳು ನಿಮಗಾಗಿ ನಿರ್ಧಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತವೆ. ಆದರೆ ನೈಜ ಯೋಜನೆಗಳು ನಿಮ್ಮನ್ನು ಸ್ವತಃ ಆಯ್ಕೆಗಳನ್ನು ಮಾಡಲು ಒತ್ತಾಯಿಸುತ್ತವೆ.

ನೀವು ನಿರ್ಧರಿಸಲೇಬೇಕು:

ನನ್ನ ಪ್ರಮುಖ ಕಲಿಕೆಗಳು ಇಲ್ಲಿವೆ:

  1. ಪರಿಪೂರ್ಣತೆಯು ನಿಮ್ಮ ವೇಗವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಪರಿಪೂರ್ಣ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅಥವಾ UI ಗಾಗಿ ಕಾಯಬೇಡಿ. ಕೆಲಸ ಮಾಡುವ ಒಂದು ಆವೃತ್ತಿಯೊಂದಿಗೆ (working version) ಪ್ರಾರಂಭಿಸಿ. ಅದನ್ನು ಹಂತ ಹಂತವಾಗಿ ಸುಧಾರಿಸಿ. ಉದಾಹರಣೆಗೆ, ಮೊದಲು ಪ್ರಾಡಕ್ಟ್ ಮಾಡ್ಯೂಲ್ (product module) ಕೆಲಸ ಮಾಡುವಂತೆ ಮಾಡಿ. ನಂತರ ವ್ಯಾಲಿಡೇಶನ್ (validation) ಸೇರಿಸಿ. ನಂತರ ಇನ್ವೆಂಟರಿಯನ್ನು (inventory) ಸಂಪರ್ಕಿಸಿ. ಸಣ್ಣ ಗೆಲುವುಗಳು ಪೂರ್ಣಗೊಂಡ ಉತ್ಪನ್ನಕ್ಕೆ ದಾರಿ ಮಾಡಿಕೊಡುತ್ತವೆ.

  2. ಬೆಳವಣಿಗೆಯೊಂದಿಗೆ ರಚನೆ (structure) ಮುಖ್ಯವಾಗುತ್ತದೆ ಸಣ್ಣ ಬ್ಯಾಕ್ ಎಂಡ್ ಅನ್ನು ನಿರ್ವಹಿಸುವುದು ಸುಲಭ. ಆದರೆ ದೊಡ್ಡ ಬ್ಯಾಕ್ ಎಂಡ್ ಅನ್ನು ನಿರ್ವಹಿಸಲು ಸಂಘಟನೆ ಅಗತ್ಯ. ನಾನು ವ್ಯವಸ್ಥಿತವಾಗಿರಲು ಲೇಯರ್ಡ್ ಸ್ಟ್ರಕ್ಚರ್ (layered structure) ಬಳಸಿದೆ:

  1. ಅಥೆಂಟಿಕೇಶನ್ ಸಂಕೀರ್ಣವಾಗಿದೆ ಅಥೆಂಟಿಕೇಶನ್ ಎಂದರೆ ಕೇವಲ ಲಾಗಿನ್ ಫಾರ್ಮ್ ಮಾತ್ರವಲ್ಲ. ಇದು ಕ್ರೆಡೆನ್ಶಿಯಲ್‌ಗಳನ್ನು (credentials) ಪರಿಶೀಲಿಸುವುದು, ಟೋಕನ್‌ಗಳನ್ನು (tokens) ಸೃಷ್ಟಿಸುವುದು, ರೂಟ್‌ಗಳನ್ನು (routes) ರಕ್ಷಿಸುವುದು ಮತ್ತು ಬಳಕೆದಾರರ ಪ್ರವೇಶವನ್ನು ನಿರ್ವಹಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. JWT ಬಳಸಿದ್ದು, ಸೆಕ್ಯೂರಿಟಿ ಹೇಗೆ ಫ್ರಂಟ್ ಎಂಡ್ ಅನ್ನು ಬ್ಯಾಕ್ ಎಂಡ್‌ನೊಂದಿಗೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ನನಗೆ ಸಹಾಯ ಮಾಡಿತು.

  2. UX ಎಂದರೆ ಉಪಯುಕ್ತತೆ (utility) ಫ್ರಂಟ್ ಎಂಡ್ ಎಂದರೆ ಕೇವಲ ನೋಟ ಮಾತ್ರವಲ್ಲ. ಬಳಕೆದಾರರು ಉತ್ಪನ್ನಗಳನ್ನು ಹುಡುಕಲು, ಮಾರಾಟ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಡೆಸಲು ಮತ್ತು ವರದಿಗಳನ್ನು (reports) ವೇಗವಾಗಿ ನೋಡಲು ಸಾಧ್ಯವಾಗಬೇಕು. ಸುಂದರವಾದ ಇಂಟರ್ಫೇಸ್ಗಿಂತ ಹೆಚ್ಚು ಉಪಯುಕ್ತವಾದ ಇಂಟರ್ಫೇಸ್ ಉತ್ತಮವಾದುದು.

  3. ನಿಯೋಜನೆ (Deployment) ಎನ್ನುವುದು ಎಂಜಿನಿಯರಿಂಗ್ ಆಗಿದೆ ಲೋಕಲ್ ಡೆವಲಪ್‌ಮೆಂಟ್‌ನಿಂದ ಕ್ಲೌಡ್‌ಗೆ (cloud) ಬದಲಾಯಿಸುವಾಗ ಹೊಸ ಸಮಸ್ಯೆಗಳು ಎದುರಾಗುತ್ತವೆ. ನೀವು CORS ದೋಷಗಳು, ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯಬಲ್ (environment variable) ಸಮಸ್ಯೆಗಳು ಮತ್ತು DNS ಸೆಟಪ್ ಕಾರ್ಯಗಳನ್ನು ಎದುರಿಸುತ್ತೀರಿ. ನಿಯೋಜನೆಯು ಕೇವಲ ಕೊನೆಯ ಹಂತವಲ್ಲ. ಇದು ಪ್ರಕ್ರಿಯೆಯ ಒಂದು ಪ್ರಮುಖ ಭಾಗವಾಗಿದೆ.

  4. ತಪ್ಪುಗಳು ಪಾಠಗಳಾಗಿವೆ ಸಣ್ಣ ತಪ್ಪುಗಳು ದೊಡ್ಡ ಪಾಠಗಳನ್ನು ಕಲಿಸುತ್ತವೆ. ಒಂದು ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯಬಲ್ ಮಿಸ್ ಆಗಿದ್ದರೆ ಅಥವಾ ತಪ್ಪು ಪೋರ್ಟ್ (port) ಇದ್ದರೆ ಎಲ್ಲವೂ ಹಾಳಾಗಬಹುದು. ಈ ಬಗ್‌ಗಳು (bugs) ಹೆಚ್ಚು ಎಚ್ಚರಿಕೆಯಿಂದ ಡಿಬಗ್ (debug) ಮಾಡಲು ನನಗೆ ಕಲಿಸಿದವು.

ನಿಮ್ಮ ಸ್ವಂತ ಯೋಜನೆಗಾಗಿ ನನ್ನ ಸಲಹೆಗಳು:

ಪೂರ್ಣಗೊಂಡ ಮತ್ತು ನಿಯೋಜಿಸಲಾದ ಯೋಜನೆಯು, ಪೂರ್ಣಗೊಳ್ಳದ ಮತ್ತು ಪರಿಪೂರ್ಣವಾದ ಕಲ್ಪನೆಗಿಂತ ಹೆಚ್ಚು ಕಲಿಸುತ್ತದೆ.

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