728x90
반응형
프로젝트 개요
단순한 주문 시스템을 넘어, 장기적으로는 브랜드 홍보부터 고객 소통 & 멤버십 혜택까지 아우르는 프랜차이즈 플랫폼 '꿀떡볶이'의 백엔드 시스템을 구축하고자 한다.
기획 단계에서 서비스의 기능을 명확히 분류하고, 이를 데이터 모델로 연결하는 과정을 기록하겠다.
서비스 기능 요구사항 (사이트맵)
사용자 관점에서 접하게 될 기능들을 크게 7가지 카테고리로 분류하여 요구사항 구체화
- 마이페이지 : 회원정보 관리, 쿠폰함, 멤버십 등급 확인, 주문 내역 조회
- 매장찾기 : 지역별/매장명 검색 및 위치 기반 매장 정보 제공
- 메뉴 : 카테고리별 메뉴 리스트(신메뉴, 메인메뉴, 반반메뉴, 세트메뉴, 사이드, 음료/주류) 및 상세 옵션(맵기조절, 토핑제거, 토핑추가) 조회
- 주문 : 주문타입(배달, 포장, 매장취식)에 따른 결제 프로세스
- 이벤트 : 진행 이벤트, 종료 이벤트
- 브랜드 : 회사 소개, 보도자료, 가맹점 모집, 인재채용
- 고객센터 : 자주하는 질문, 1:1 문의
기능 기반 도메인 모델링
각 카테고리의 기능을 구현하기 위해 필요한 핵심 엔티티 도출
| 카테고리 | 핵심 엔티티 (Domain/Entity) | 설계 포인트 |
| 마이페이지 | Member, Membership, Coupon | 회원-등급-쿠폰 간 연관관계 설정 |
| 매장찾기 | Store, Address, Region | 위치 기반 검색을 위한 주소 데이터 구조화 |
| 메뉴 | Menu, Category, MenuOption | 다양한 카테고리와 메뉴별 상세 옵션 관리 |
| 주문 | Order, OrderItem, Payment | 주문 타입(Enum)에 따른 비즈니스 로직 분리 |
| 이벤트 | Event | 시작/종료일에 따른 상태값 자동 관리 |
| 브랜드 | BrandInfo, News, Recruitment | 정적 데이터 효율적 관리 |
| 고객센터 | FAQ, Inquiry | 1:1 문의 답변 상태 및 FAQ 카테고리화 |
설계 인사이트
- 주문 타입 전략적 관리 : 배달, 포장, 매장취식을 OrderType으로 정의하여 결제 시 배달비 산정이나 알림 로직을 유연하게 처리
- 메뉴 카테고리의 유연성 : 신메뉴나 세트메뉴 등 빈번하게 변하는 메뉴 카테고리를 DB 기반의 Category 엔티티로 분리하여 코드 수정 없이 관리할 수 있도록 설계
- 공통 속성 추출 : 이벤트, 보도자료 등은 모두 게시글의 성격을 가지므로, 생성일/수정일을 담은 BaseTimeEntity를 상속받아 관리 효율을 높이고자 함
설계된 7개의 도메인을 바탕으로 ERD를 구체화하고, JPA 엔티티 코드를 하나씩 구현해 나갈 예정이다.
개발하면서 구성이 중간중간 바뀔 수도 있을 것 같다.
728x90
반응형
'[Project] > 사이드 프로젝트' 카테고리의 다른 글
| [꿀떡볶이 프로젝트] 안녕 꿀떡볶이! & 스프링 시큐리티 접근제어 해제 (0) | 2026.03.17 |
|---|---|
| [꿀떡볶이 프로젝트] 프로젝트 생성 및 컨테이너화 (IntelliJ, docker) (0) | 2026.03.17 |
| [꿀떡볶이 프로젝트] 사이드 웹프로젝트 기술 스택 선정 (0) | 2026.03.16 |
| [꿀떡볶이 프로젝트] docker로 개발 환경 구축하기 (0) | 2026.03.12 |
| [Mac/intellij] 사용하지 않는 import문 자동 삭제 해제 (0) | 2023.12.12 |