Skip to content
@nhnacademy-be6-5ritang

nhnacademy-be6-5ritang

Hits

🦆 책 파는 오리탕집

프로젝트 기간 : 2024.06.11. ~ 2024.08.02

스프링 부트와 클라우드 서비스를 활용한 온라인 도서 쇼핑몰 프로젝트입니다.

https://5ritang.store/

ORITANG_OFFICIAL_BG

NHN Academy 6기 - 5ritang 팀


김기욱

김다운

김태환

이경헌

이기훈



5ritang_Repository


시연 영상

Watch video


개발 환경

🛠 개발 도구

Language

Build Tools

Develop

Test

Database

Search Engine

ERD

Message Queue

CI/CD

UI

NHN Cloud

Web Server

ETC.

Design Tool

API Testing


ER-Diagram

https://www.erdcloud.com/d/vD5T9WrpW2PMZZvR2 ERDCloud 활용하여 버전별로 관리

5ritang_final 오리탕 ERD v3 0

오리탕 v2.8

오리탕 ERD Final

오리탕 v2.4

오리탕 ERD v2 6

오리탕 v2.4

오리탕 ERD v2 4

오리탕 v2

오리탕 ERD v2

오리탕 v1

오리탕 ERD v1


Architecture

오리탕 아키텍처


CI/CD

2024-07-28 17_53_27 335


Project Management

Github에서 제공하는 Projects를 활용하여 프로젝트 관리

Scrum

  • 주마다 Scurm Master를 변경하는 방식으로 진행
  • 매일 전날 했던 것, 오늘 할 것 정리하고 회고

스크린샷 2024-07-21 오후 8 59 29

일정관리

  • Road Map, Kanban 활용
  • 일정 관리 및 진행 사항 공유

Road Map 스크린샷 2024-07-21 오후 9 02 08

Kanban 스크린샷 2024-07-21 오후 9 01 13

풀리퀘스트 후 코드리뷰

스크린샷 2024-07-21 오후 9 19 34


Test Coverage

  • 정적 코드 분석 도구인 SonarQube를 활용하였습니다.

  • 목표 : Coverage 80%

  • Account, Back, Coupon, Front 프론트, 백, 쿠폰, 인증 서버 커버리지


Swagger Api

스크린샷 2024-07-21 오후 9 03 42

기술 공유

5ritang Study repository : https://github.com/nhnacademy-be6-5ritang/5ritang-study

  • 프로젝트를 진행하면서 학습 내용 공유 저장소를 이용하여 습득한 기술을 공유하였습니다.

Conventions & Strategy

naver coding convention

https://naver.github.io/hackday-conventions-java/

git convetion

Commit Message Guidelines

  • Feat: 새로운 기능을 추가
  • Fix: 버그 수정
  • Design: CSS 등 사용자 UI 디자인 변경
  • !BREAKING CHANGE: 커다란 API 변경의 경우
  • !HOTFIX: 급하게 치명적인 버그를 고쳐야하는 경우
  • Style: 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우
  • Refactor: 프로덕션 코드 리팩토링
  • Comment: 필요한 주석 추가 및 변경
  • Docs: 문서 수정
  • Test: 테스트 코드, 리펙토링 테스트 코드 추가, Production Code(실제로 사용하는 코드) 변경 없음
  • Chore: 빌드 업무 수정, 패키지 매니저 수정, 패키지 관리자 구성 등 업데이트, Production Code 변경 없음
  • Rename: 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우
  • Remove: 파일을 삭제하는 작업만 수행한 경우

개인별 구현 상세내역


구현한 기능

역할 상세 내용
인프라
- CI/CD 구축
포인트
- 주문 시 포인트 적립 및 사용
- 포인트 정책 구현
주문
- 비회원 & 회원 주문 처리
- 주문 내역 조회
- 환불 처리
- 관리자 주문 처리
포장지 및 배송
- 포장지 선택
- 배송 관리
재고 및 결제
- 재고 처리
- 결제 처리
- 결제 취소
- 결제 상태에 따른 주문 상태 변경

사용한 기술

  • Git Action CI/CD
  • Toss Payments
  • DAUM 주소 API

구현한 기능

역할 상세내용
인프라
- 쿠폰서버 구현 및 CI/CD 적용
- Project의 Springcloud eureka, gateway 서버구축하여 MSA기반 환경 구현
쿠폰
- 쿠폰정책 생성, 편집, 폐기, 조회(페이지네이션)
- 정책 생성 시 도서 카테고리 검색
- 쿠폰템플릿 발급, 조회(페이지네이션)
- 사용자 쿠폰 발급, 사용됨 처리, 조회(페이지네이션, 검색)
- 주문 시 쿠폰 선택 기능(비회원/회원), 쿠폰 계산 처리
- Spring Scheduler를 사용하여 생일 쿠폰, 쿠폰 사용됨 처리 구현
- Querydsl을 사용하여 코드를 간결하게 보기에하고 기존 jpql로 작성된 코드의 불편한점을 개선
- N+1문제를 확인하고 이를 개선하기위해 노력함
- Coupon REST API 문서를 Swagger를 통해 배포 서버에서 볼 수 있게 함
- 사용자 쿠폰 발급 시 RabbitMQ를 이용하여 발급 처리

사용한 기술

  • rabbitmq
  • spring scheduler
  • querydsl
  • springcloud, eureka, gateway

구현한 기능

역할 상세 내용
인프라
서버별 Logback, Log & Crash 적용
Secure Key Manager
Back-end Server 이중화
장바구니
비회원 & 회원 장바구니
도서 재고량에 따른 장바구니 추가 구현
빈번한 장바구니 조회 성능 최적화 및 영구적 유지
장바구니 구현 시 Redis와 MySQL 사용
도서
도서, 카테고리, 태그, 출판사, 저자, 도서상태 관리
도서 카테고리별 검색 및 정렬
모든 도서는 하나 이상의 카테고리에 속해야 하며, 카테고리는 2단계 이상으로 구성
0개 이상의 Tag를 지정 가능
회원별 도서 위시리스트 구현
WYSIWYG Editor를 사용한 책 설명 등록 (toast-editor)
리뷰
리뷰 사진 업로드 구현
리뷰 포인트 적립 (리뷰: 200포인트, 리뷰+사진: 500포인트)
리뷰 조회 (도서별, 회원별, 리뷰 유형별)
리뷰 작성 시 1~5점의 평가 점수 부여 및 수정 가능, 삭제 불가
도서 상세보기 페이지에 사용자 리뷰 및 평점 표시
주문한 도서 중 배송완료된 도서에 대해서만 리뷰 작성
배송
배송비 정책 관리

사용한 기술

  • Log & Crash
  • Secure Key Manager
  • 워지윅 에디터
  • Redis 캐싱

구현한 기능

역할 상세내용
인프라
- Elastic Search, NHN Cloud 인스턴스 초기 설정
도서
- 외부 API(네이버, 알라딘) 활용한 도서 정보 가져오기 및 매핑
- NHN Cloud Image Manager 이미지 API를 사용해 이미지 가져오기 및 업로드
검색
- LogStash, Kibana, Elastic 초기 설정
- 저자, 도서, 태그, 출판사 기준으로 검색 기능 구현

사용한 기술

  • Elastic Search
  • LogStash
  • Kibana
  • NHN Cloud
  • 외부 API (네이버, 알라딘)
  • NHN Cloud Image Manager

구현한 기능

역할 상세내용
인프라
Frontend Server 이중화 및 로드 밸런싱
인증 및 인가
JWT를 이용한 회원 인증 및 인가 구현
휴면 및 탈퇴 회원의 인증 단계 방지
회원
회원(계정) 가입, 정보 수정, 휴면 처리, 탈퇴 API 구현
회원 가입 시 중복 방지와 휴면 계정 복구를 위한 이메일 인증
회원 주소 등록, 수정, 삭제 기능 구현
회원 등급 정책 및 회원에게 등급 부여 구현
회원 상태(휴면 및 탈퇴) 스케줄링 활용 구현
회원 및 관리자 권한 정책 및 부여 구현
프론트엔드
사용자 전용 UI 리뉴얼 및 템플릿 구축

사용한 기술

  • NHN Cloud
  • Nginx
  • JWT
  • Spring Scheduler
  • Java MailSender
  • Daum 주소 API

Popular repositories Loading

  1. NHN_BookStore NHN_BookStore Public

    Java 1

  2. 5ritang-study 5ritang-study Public

    오리탕프로젝트 스터디

  3. book-store-front book-store-front Public

    오리탕 온라인 서점 프로젝트 FRONT SERVER

    Java 1

  4. book-store-cloud-gateway book-store-cloud-gateway Public

    오리탕 온라인 서점 프로젝트 GATEWAY

    Java 1

  5. book-store-back book-store-back Public

    오리탕 온라인 서점 프로젝트 BACK-END SERVER

    Java 1

  6. book-store-cloud-eureka book-store-cloud-eureka Public

    오리탕 온라인 서점 프로젝트 EUREKA

    Java 1

Repositories

Showing 9 of 9 repositories
  • .github Public

    this repo is readme only

    nhnacademy-be6-5ritang/.github’s past year of commit activity
    0 1 0 0 Updated Nov 20, 2024
  • book-store-back Public

    오리탕 온라인 서점 프로젝트 BACK-END SERVER

    nhnacademy-be6-5ritang/book-store-back’s past year of commit activity
    Java 0 1 0 0 Updated Nov 19, 2024
  • book-store-front Public

    오리탕 온라인 서점 프로젝트 FRONT SERVER

    nhnacademy-be6-5ritang/book-store-front’s past year of commit activity
    Java 0 1 0 0 Updated Nov 19, 2024
  • nhnacademy-be6-5ritang/book-store-account’s past year of commit activity
    Java 0 1 0 0 Updated Nov 18, 2024
  • book-store-cloud-gateway Public

    오리탕 온라인 서점 프로젝트 GATEWAY

    nhnacademy-be6-5ritang/book-store-cloud-gateway’s past year of commit activity
    Java 0 1 0 0 Updated Aug 30, 2024
  • book-store-cloud-eureka Public

    오리탕 온라인 서점 프로젝트 EUREKA

    nhnacademy-be6-5ritang/book-store-cloud-eureka’s past year of commit activity
    Java 0 1 0 0 Updated Aug 30, 2024
  • nhnacademy-be6-5ritang/book-store-coupon’s past year of commit activity
    Java 0 1 0 0 Updated Aug 14, 2024
  • 5ritang-study Public

    오리탕프로젝트 스터디

    nhnacademy-be6-5ritang/5ritang-study’s past year of commit activity
    0 0 0 0 Updated Aug 6, 2024
  • NHN_BookStore Public
    nhnacademy-be6-5ritang/NHN_BookStore’s past year of commit activity
    Java 0 MIT 1 16 0 Updated Jun 11, 2024

Top languages

Loading…

Most used topics

Loading…