Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

이지은님의 블로그

Java Spring 기반 아웃소싱 팀 프로젝트 - Redis를 이용한 장바구니, JWT와 쿠키를 이용한 인증과 인가 본문

프로젝트

Java Spring 기반 아웃소싱 팀 프로젝트 - Redis를 이용한 장바구니, JWT와 쿠키를 이용한 인증과 인가

queenriwon3 2025. 3. 7. 17:54

👉 심화 프로젝트 - 아웃소싱 프로젝트

배달 스타트업 클라이언트의 요청대로 배달 어플리케이션 개발 아웃소싱 프로젝트 진행

 


 

github : https://github.com/Team2DeepProject/delivery-app-project

 

발표자료: https://www.canva.com/design/DAGg0QTIJmU/9K5qwWe_EOlA6RO8amGwuw/edit?utm_content=DAGg0QTIJmU&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton

 

팀 노션: https://teamsparta.notion.site/2-1a82dc3ef5148060bb00f562a1cac855

 

팀 노션 2조 | Notion

팀 프로젝트 - 2/28(금) ~ 3/7(금)

teamsparta.notion.site

 

 

 

프로젝트 기간: 2025.02.28 ~ 2024.03.06 (7일)

 

개발 환경

  • environment : InteliJ IDEA Ultimate, git, github
  • development : Java JDK 17, Spring boot 3.4.2
  • DB : MySQL, Redis

 

👉 Lv.0 - API 명세서, ERD 다이어그램

  • API명세서 - 설계단계 작성

https://www.notion.so/teamsparta/2-1a82dc3ef5148060bb00f562a1cac855?pvs=4#1a82dc3ef5148135aee6f55dea2075b9

 

팀 노션 2조 | Notion

팀 프로젝트 - 2/28(금) ~ 3/7(금)

teamsparta.notion.site

 

  • ERD 다이어그램

https://www.erdcloud.com/d/sYg7EMsH2wZrhoBX7

 

먹슐랭

Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.

www.erdcloud.com

 

 

  • 와이어 프레임

https://www.figma.com/board/SLPcfWZG9E0VhEQNL5GAk7/Untitled?node-id=0-1&p=f

 

Figma

Created with FigJam

www.figma.com

 

 

 

👉 구현 내용

 

필수 구현 사항

0. 테스트 코드

1. 회원가입/로그인

2. 가게

3. 메뉴

4. 주문

5. 리뷰

 

선택 구현 사항 

  1. 메뉴강화 (일부 구현)
    • 카테고리: 메뉴 묶음 단위 (가게 카테고리로 구현)
    • 메뉴 옵션(메뉴의 추가 사항) (미구현)
  2. 가게 강화 (구현)
    • 즐겨찾기
    • 가게공지
    • 리뷰에 대한 사장님 댓글
  3. 장바구니 (구현)
    1. 한가게의 메뉴만 담을 수 있으며 가게 변경시 장바구니 초기화
    2. 장바구니는 마지막 업데이트로부터 최대 하루 유지
  4. 포인트 및 쿠폰 (일부 구현)
    1. 포인트 적립 및 사용(배달 완료시 3% / 배달 주문시 사용가능) (구현)
    2. 할인 쿠폰(주문시 사용가능/ 정률 정액 가능 / 정률의 경우 최대 할인금액 / 쿠폰 만료 일자) (미구현)
  5. 통합 검색 (미구현)
    1. 가게, 메뉴 등 통합 검색
    2. 인기 검색어
  6.  (미구현)
    1. 메인화면
    2. 추천기능
  7. 가게 대시보드 (미구현)
    1. 사장님은 본인의 가게에 대한 통계 확인가능(일간/월간 고객수, 일간/월간 매출)
  8. 관리자 대시보드 (미구현)
    1. 관리자가 확인할 수 있는 통계 (일간/월간 주문수, 일간/월간 주문 총액)
  9. 부가 서비스 (미구현)
    1. 구독서비스, 고객 등급혜택, 배달팁 지원
  10. 소셜 로그인 (미구현)
    1. 네이버 로그인
    2. 카카오 로그인
  11. 알림 (미구현)
    1. 주문 및 배달 상태에 따른 알림
  12. 광고 (미구현)
    1. 광고설정시 검색 최상단 노출
  13. 이미지 저장 (미구현)
    1. 가게, 메뉴, 프로필 등에 필요한 이미지 업로드
    2. 이미지는 AWS S3와 같은 클라우드 저장소에 저장됩니다.
    3. 지원되는 이미지 파일 형식은 jpg, png, jpeg을 지원합니다.

 

👉 담당한 파트

  • 인증 및 인가(authentication)
    • jwt를 통한 로그인 기능
    • refresh token을 cookie에 담아 토큰 재발급 가능
    • refresh token 만료로 로그아웃
    • filter를 사용한 로그인 필터, 권한에 따른 interceptor 사용
  • 가게(store)
    • 가게주인이 가게 CUD가능
    • 즐겨찾기 개수를 포함한 가게 다건 조회
    • 가게 단건 조회시 메뉴 조회
  • 가게 카테고리(category)
    • 관리자의 카테고리 생성/삭제
    • 가게 주인의 카테고리 등록/해제
    • 카테고리별 가게 다건 조회

 

  •  

👉 부족하거나 아쉬운 점, 공부하고 싶은 내용

  • AWS 이미지 저장
  • Redis 사용으로 토큰 저장
  • 메뉴 카테고리 및 메뉴 옵션 설정 --> 장바구니 수정
  • 관리자 및 가게주인 대시보드
  • 포인트 및 쿠폰 등 미구현 내용

 

👉 트러블 슈팅 및 구현 과정

https://queenriwon3.tistory.com/127

250305 - Java Spring 아웃소싱 프로젝트 구현과 트러블 슈팅: Filter와 OncePerRequestFilter의 차이점, 테스트코드, 쿠키로 토큰 관리(http-only)

 

250305 - Java Spring 아웃소싱 프로젝트 구현과 트러블 슈팅: Filter와 OncePerRequestFilter의 차이점, 테스

▷ 오늘 배운 것아웃소싱 팀프로젝트를 진행하면서, 새로 배우게 되거나 트러블 슈팅을 한 내용을 작성해보려고 한다. >1. Filter와 OncePerRequestFilter의 차이점2. 쿠키로 토큰을 관리해보자.    1)

queenriwon3.tistory.com