일주일동안 팀프로젝트를 하느라 TIL를 너무 안썼다
팀 프로젝트는 좋게 마무리 되었다
이번 팀 프로젝트에서 느낀 점은 3Layer Architecture의 각 역할의 쓰임
전역 처리의 중요성, 확장 가능한 프로젝트 설계, 초기 프로젝트 구축의 중요성을 많이 느꼈다.
아래는 내가 프로젝트를 완료 후 확장성을 생각한 것 들이다

진행한 프로젝트는 이커머스 서비스 운영자가 사용하는 백오피스 시스템이다
관리자는 이 시스템을 통해 다음 데이터를 관리할 수 있다
현재 ERD로도 충분히 프로젝트가 진행이 되지만
현업에서 유지보수성과 이력 관리를 고려한다면 admins 테이블의 reject_reason(거부사유)이나 orders 테이블의 cancel_reason(취소 사유)를 단일 컬럼으로 두기보다 별도의 이력 테이블로 분리해 사유 데이터를 누적 저장하는 방식이 더 적절할 수 있다고 느꼈다
이렇게 하면 이력 관리가 가능하고 어떤 관리자가 처리했는지, 상태 변경 이력 확장에 이점이 있다
이번 프로젝트에서는 Cookie/Session 기반 인증을 적용했는데
인증 흐름과 세션 동작 원리를 직접 이해하는 데는 매우 도움이 되었다.
다만 프로젝트를 확장하거나 프론트엔드 분리, 서버 다중화까지 고려한다면
서버가 세션 상태를 직접 저장하지 않아도 되는 JWT 방식이 더 유리할 수 있다고 느꼈다.
특히 JWT는 요청마다 토큰만 검증하면 되기 때문에 서버 확장성과 클라이언트 분리 측면에서 장점이 있고 실제 현업에서 자주 사용되는 인증 방식이라는 점에서도 다음 프로젝트에서 적용해보고 싶은 기술이다
이상 첫번째 프로젝트 회고를 마친다
다음 프로젝트에는 유지 확장성을 고려한 설계를 해야겠다