POS Lite를 구축하며 배운 교훈들

소상공인을 위한 풀스택 POS(Point of Sale) 시스템인 POS Lite 구축을 마쳤습니다. 이전에는 아키텍처와 배포에 대해 공유했는데요, 이제는 제가 무엇을 배웠는지 공유하고자 합니다.

실제 프로젝트를 만드는 것은 튜토리얼을 따라 하는 것과는 다릅니다. 튜토리얼은 대신 결정을 내려주지만, 실제 프로젝트는 스스로 선택하도록 만듭니다.

다음 사항들을 직접 결정해야 합니다:

여기 제가 얻은 주요 교훈들입니다:

  1. 완벽주의는 속도를 늦춥니다 완벽한 아키텍처나 UI를 기다리지 마세요. 일단 작동하는 버전부터 시작하세요. 그리고 단계별로 개선해 나가는 겁니다. 예를 들어, 먼저 상품 모듈이 작동하게 만드세요. 그다음 유효성 검사를 추가하고, 재고 관리 기능을 연결하는 식입니다. 작은 성공들이 모여 완성된 제품이 됩니다.

  2. 규모가 커질수록 구조가 중요해집니다 작은 백엔드는 관리하기 쉽지만, 규모가 커지면 체계적인 조직화가 필요합니다. 저는 체계적인 관리를 위해 계층형 구조(layered structure)를 사용했습니다:

  1. 인증은 복잡합니다 인증은 단순히 로그인 폼을 만드는 것 이상입니다. 자격 증명 검증, 토큰 생성, 라우트 보호, 사용자 권한 관리 등을 포함합니다. JWT를 사용하면서 보안이 프론트엔드와 백엔드를 어떻게 연결하는지 이해할 수 있었습니다.

  2. UX는 유용성에 관한 것입니다 프론트엔드는 단순히 보기 좋은 것이 전부가 아닙니다. 사용자는 상품을 검색하고, 판매를 처리하며, 보고서를 빠르게 확인해야 합니다. 예쁜 인터페이스보다 실용적인 인터페이스가 더 낫습니다.

  3. 배포는 엔지니어링입니다 로컬 개발 환경에서 클라우드로 옮기면 새로운 문제들이 드러납니다. CORS 에러, 환경 변수 문제, DNS 설정 작업 등을 마주하게 될 것입니다. 배포는 마지막 단계가 아니라, 프로세스의 핵심적인 부분입니다.

  4. 실수는 곧 교훈입니다 작은 실수가 큰 교훈을 줍니다. 누락된 환경 변수나 잘못된 포트 설정 하나가 모든 것을 망가뜨릴 수 있습니다. 이러한 버그들을 통해 더 주의 깊게 디버깅하는 법을 배웠습니다.

여러분의 프로젝트를 위한 조언:

완성되어 배포된 프로젝트가, 완성되지 않은 완벽한 아이디어보다 더 많은 것을 가르쳐 줍니다.

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