이지은님의 블로그
Java Spring 기반 아웃소싱 팀 프로젝트 - Redis를 이용한 장바구니, JWT와 쿠키를 이용한 인증과 인가 본문
Java Spring 기반 아웃소싱 팀 프로젝트 - Redis를 이용한 장바구니, JWT와 쿠키를 이용한 인증과 인가
queenriwon3 2025. 3. 7. 17:54👉 심화 프로젝트 - 아웃소싱 프로젝트
배달 스타트업 클라이언트의 요청대로 배달 어플리케이션 개발 아웃소싱 프로젝트 진행
github : https://github.com/Team2DeepProject/delivery-app-project
팀 노션: 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명세서 - 설계단계 작성
팀 노션 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. 리뷰
선택 구현 사항
- 메뉴강화 (일부 구현)
- 카테고리: 메뉴 묶음 단위 (가게 카테고리로 구현)
- 메뉴 옵션(메뉴의 추가 사항) (미구현)
- 가게 강화 (구현)
- 즐겨찾기
- 가게공지
- 리뷰에 대한 사장님 댓글
- 장바구니 (구현)
- 한가게의 메뉴만 담을 수 있으며 가게 변경시 장바구니 초기화
- 장바구니는 마지막 업데이트로부터 최대 하루 유지
- 포인트 및 쿠폰 (일부 구현)
- 포인트 적립 및 사용(배달 완료시 3% / 배달 주문시 사용가능) (구현)
- 할인 쿠폰(주문시 사용가능/ 정률 정액 가능 / 정률의 경우 최대 할인금액 / 쿠폰 만료 일자) (미구현)
- 통합 검색 (미구현)
- 가게, 메뉴 등 통합 검색
- 인기 검색어
- 홈 (미구현)
- 메인화면
- 추천기능
- 가게 대시보드 (미구현)
- 사장님은 본인의 가게에 대한 통계 확인가능(일간/월간 고객수, 일간/월간 매출)
- 관리자 대시보드 (미구현)
- 관리자가 확인할 수 있는 통계 (일간/월간 주문수, 일간/월간 주문 총액)
- 부가 서비스 (미구현)
- 구독서비스, 고객 등급혜택, 배달팁 지원
- 소셜 로그인 (미구현)
- 네이버 로그인
- 카카오 로그인
- 알림 (미구현)
- 주문 및 배달 상태에 따른 알림
- 광고 (미구현)
- 광고설정시 검색 최상단 노출
- 이미지 저장 (미구현)
- 가게, 메뉴, 프로필 등에 필요한 이미지 업로드
- 이미지는 AWS S3와 같은 클라우드 저장소에 저장됩니다.
- 지원되는 이미지 파일 형식은 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의 차이점, 테스
▷ 오늘 배운 것아웃소싱 팀프로젝트를 진행하면서, 새로 배우게 되거나 트러블 슈팅을 한 내용을 작성해보려고 한다. >1. Filter와 OncePerRequestFilter의 차이점2. 쿠키로 토큰을 관리해보자. 1)
queenriwon3.tistory.com