백오피스 관리자 커머스 프로젝트

이상민·2026년 7월 21일

Spring

목록 보기
43/59

쇼핑몰을 관리하는 관리자 백오피스 프로젝트의 개발이 완료되었습니다.
본 프로젝트에서는 통일된 내부 코드를 구현하는 과정, Git을 사용한 협업과정 등을 중점으로 개발하였습니다.


개발 프로세스

개발 프로세스

엔티티는 관리자,고객,주문,상품,리뷰 5가지로 구현되어 있습니다.
보안은 HttpSession을 사용하여 진행하였고, 데이터 베이스는 MySql을 사용하였습니다.

프로젝트의 동작 방식은 다음과 같습니다.

1.로그인
2.메인화면인 대시보드(요약)으로 이동
3.왼쪽의 사이드바에서 주문 관리, 상품 관리 등의 기능 수행
4.데이터 베이스 업데이트 및 화면에 즉시 반영


코드 컨벤션


팀 프로젝트간 코드의 디자인을 통일하기 위해 규칙을 정의했습니다.

각 객체, 클래스, 매서드, API URI같은 경우 사회적 통념에 맞게 선언하였습니다.
MVC패턴을 사용한 계층형 구조를 사용하고, 각 엔티티는 PROTECT로 생성됩니다.

클라이언트의 요청은 toEntity 응답은 from을 사용하여 통일하였고, ApiResponse<T>를 통해 일관되게 프론트엔드에게 응답을 보내주었습니다.

마지막으로, 커스텀 에러코드를 생성하여 디버깅을 보다 효율적으로 할 수 있게 했습니다.

트러블슈팅 및 개선점

트러블슈팅: 운영 관리자가 상품 등록/삭제 요청시 권한이 부여되지 않는 오류가 발생하였습니다.

해결방법: 상품 권한에 관련된 코드에서 문제가 발생된것을 확인하였습니다. 조회 및 수정은 누구나 가능하게 하고, 등록 및 삭제는 슈퍼관리자와 운영관리자만 가능하도록 규칙을 재설계하였습니다.

if(!(request.getMethod().equals("POST") || request.getMethod().equals("DELETE")){return true;}

개선점: 현재는 HttpSession을 사용하여 보안을 하고있는데, 이를 JWT를 사용하여 개발해볼 예정입니다.
또한, 상태를 비교할때 equals를 사용하여 비교하고있는데, 이는 객체지향의 원칙에 위반되는 사항이라 판단하여 canChangeTo와 같은 내부 메서드를 만들어 스스로 상태를 수정하게끔 리펙토링 할 예정입니다.

profile
백앤드 개발 브이로그

0개의 댓글