Sparta(JAVA심화3기) - TIL/Chap.01

Chap.01 : Project Day 1 - Scrum

Dev.99_tale 2025. 2. 12. 21:48

Ch.1 AI 활용 비즈니스 프로젝트

장소 : ZEP

 

참여자 : 정민수, 이지언, 염금성, 노현지

 

스크럼 진행

1. 자기 소개 및 팀장 선정

2. 핵심 기능 선정

3. 각 기능 및 역할 분담

4. 핵심 기능 API 명세서 작성

5. 테이블 명세서 작성

6. ERD 설계

7. 인프라 설계

8. 마무리 정리 및 내일 할 일 선정

 

오늘 할일,  내일 할일

장애물 개선

 

오늘 작업


01.  자기 소개 및 팀장 선정

간단한 자기 소개 후 멤버 카드 공유

정민수(Leader, INFJ) - https://teamsparta.notion.site/4f8f094c2ae341f284977327113588df

 

 

정민수 | Notion

메인 이미지

teamsparta.notion.site

이지언(Sub-Leader, ENFP) - https://teamsparta.notion.site/1952dc3ef51480af8b65dc7ae07ab3ec

 

이지언 | Notion

메인 이미지

teamsparta.notion.site

염금성(Member, INTJ) - https://teamsparta.notion.site/27bd0190ea484055a49ba7913ec55bc9

 

염금성 | Notion

메인 이미지

teamsparta.notion.site

 

노현지(Member, INFP) - https://teamsparta.notion.site/ee97e91edc71437b9b227f20f9787702

 

노현지 | Notion

메인 이미지

teamsparta.notion.site

 

02. 핵심 기능 선정

음식점 분류(카테고리), 결제 시스템, 주문관리, 데이터 보존 및 삭제 처리, 접근 권한 관리, 배송지 정보, AI API 연동, 리뷰

향후 확장성 - 운영 지역

3. 각 기능 및 역할 분담

핵심 API 4가지 - 사용자, 상품, 주문, 가게별로 각 기능 담당.

노현지 - 사용자

염금성 - 상품

이지언 - 주문

정민수 - 가게

2인 1조로 진행 ( 서로가 리뷰어가 되어 상황 공유 및 팀에서 말하기 힘든 부분 원활한 소통 진행)

A - 노현지, 염금성 / B - 정민수, 이지언

 

4. 핵심 기능 API 명세서 작성

https://teamsparta.notion.site/API-1982dc3ef5148042bc1cd9e971613a71

5. 테이블 명세서 작성

https://teamsparta.notion.site/1982dc3ef51480019373eeb7932c407a

6. ERD 설계

https://teamsparta.notion.site/ERD-1982dc3ef514800da4ace467a82aa9fc

 

ERD | Notion

ASD

teamsparta.notion.site

 

7. 인프라 설계

https://www.notion.so/teamsparta/1982dc3ef51480f9a4e6c458e33fe71d

 

인프라 설계 | Notion

..

teamsparta.notion.site

 

 

문제점 발생

데이터 베이스 구현 상에 있어서 의존관계로 인해 상품, 주문, 장바구니의 연관 관계(매핑을) 어떻게 할 것인지 의논해야 한다.

차후 MSA까지 간다는 과정하에 작성되었다.

 

문제점 해결

  1. 장바구니 상품과 주문 상품을 별도의 테이블로 둔다
    • 즉, 장바구니에 담긴 상품과 실제 주문이 확정된 상품을 다른 테이블로 관리한다.
  2. Prefix를 사용할 때 문제점
    • 테이블 간 조인할 때 name 같은 컬럼이 여러 테이블에 존재할 수 있다.
    • 여러 테이블에 같은 컬럼 이름(name)이 있으면, 어떤 테이블의 name인지 헷갈릴 수 있다.
    • 그래서 프리픽스(예: cart_item_name, order_item_name)를 붙이면 가독성이 좋아진다.
  3. MSA에서는 Prefix를 안 쓰는 게 좋다
    • MSA에서는 각각의 서비스가 독립된 DB를 사용한다.
    • 즉, 장바구니 서비스의 DB와 주문 서비스의 DB가 분리되어 있으므로, 컬럼명이 겹쳐도 문제가 없다.
    • 따라서 MSA 환경에서는 굳이 프리픽스를 붙이지 않아도 된다.

즉, 모놀리식 아키텍처에서는 조인 시 혼란을 줄이기 위해 프리픽스를 고려할 수도 있지만, MSA에서는 각 서비스의 DB가 독립적이므로 필요하지 않다

 

 

내일 작업


8.  마무리 정리 및 내일 할 일 선정

  • 내일 피드백 받고 튜터님과 결과 스크럼 진행

- Entity에서 address어떻게 관리할지 정하기

- API - PUT, PATCH

- 리프레쉬 토큰 재발급

- 결제 주문 취소 요청 API 언급

  • GIt컨벤션, Code컨벤션, 의사소통 방법 한번 더 진행해서 확정
  • 개발 과정 튜터님과 의논해서 어떻게 개발할지 등 개발진행과정 맞추기