/FinalProject_SonJeongA_team8

멋쟁이사자처럼 백엔드스쿨 1기 종합 프로젝트 Repo_손정아

Primary LanguageJava

e-book

💡 종합 프로젝트를 통해서 만들어볼 서비스는 “멋북스”입니다.
본 서비스는 eBook 마켓과 eBook리더로 이루어진 서비스입니다.

<목차>

  • 회원
  • 도서
  • 해시태그
  • 장바구니/주문/결제
  • 관리자페이지
  • 정산
  • 마이페이지

마켓앱

  • 마켓앱은 일반 사용자가 도서를 구매할 수 있습니다.
    • 도서는 평생 소장이 가능하며 무료 도서는 없습니다.

1️⃣ 회원

  • 모든 회원은 작가로 활동할 수 있습니다.
  • 기본 기능으로는 소셜로그인을 지원하지 않습니다.
  • 회원가입과 비밀번호 찾기에 이메일 발송을 사용합니다.

2️⃣ 도서

  • 하나의 도서는 여러 개의 글로 구성됩니다.
  • 글쓴이는 원하는 글을 모아 하나의 도서로 발행할 수 있습니다.
    • 여러 개의 글을 모아서 하나의 도서로 발행하는 시점에 도서에 대한 가격 책정 및 해시태그 등록을 해야 합니다.
  • 도서를 구성하고 있는 글들의 순서는 글의 ID를 기준으로 합니다.
  • 도서에도 해시태그가 있고, 글에도 해시태그가 있습니다.
    • 그 두 종류의 해시태그(글 해시태그, 도서 해시태그)는 서로 연관이 없습니다.

3️⃣ 글

  • 글은 위지윅스 에디터를 사용하여 작성할 수 있습니다.
    • 글은 최소 1000자 이상의 텍스트가 존재해야 발행이 가능합니다.
    • 이미지만 있는 글은 발행할 수 없습니다.

4️⃣ 해시태그

[도서 해시태그]


  • 내가 발행한 도서에는 최소 1개, 최대 10개의 해시태그를 달 수 있습니다.
  • 해시태그를 통해서 도서를 카테고리 검색 할 수 있습니다.

[글 해시태그]


  • 내가 쓴 글에는 최소 1개, 최대 10개의 해시태그를 달 수 있습니다.
  • 해시태그를 통해서 글을 묶을 수 있습니다.
  • 도서를 등록할 때, 글 해시태그 키워드 하나를 등록하는데 그것을 기준으로 모인 글들이 해당 도서를 구성요소가 됩니다.

5️⃣ 장바구니/주문/결제

  • 환불은 예치금 입금으로 이루어집니다.
  • 로그인한 일반 회원 및 작가는 장바구니에 도서를 담을 수 있습니다.
    • 본인이 작성한 글을 장바구니에 담은 경우에는 error 처리가 되어야 합니다.
  • 같은 도서를 장바구니에 2개 이상 담을 수 없습니다.
  • 장바구니에 들어있는 도서를 주문하고 결제할 수 있습니다.
  • 결제 이후 도서를 읽을 수 있습니다.

6️⃣ 관리자페이지

  • 관리자는 회원중에서 authLevel이 7인 회원을 말합니다.
  • 관리자는 마켓 관리자 페이지에 접속할 수 있습니다.
  • 관리자는 정산을 진행할 수 있고, 판매현황을 볼 수 있습니다.

7️⃣ 정산

  • 도서의 판매 데이터를 통해 각 글쓴이에게 일정비율로 정산해줘야하는지 계산합니다.
    • 비율은 5:5 입니다.
  • 관리자는 정산처리는 각 월의 15일에 지난달 정산액을 작가(회원)들에게 송금합니다.
    • 정산은 예치금 입금으로 이루어집니다.

8️⃣ 마이페이지

  • 일반 회원과 작가는 마이페이지에서 개인 정보를 수정할 수 있습니다.
  • 일반 회원에서 작가가 되기를 원하는 경우, ‘작가 되기’ 라는 버튼을 클릭하면 추가 프로세스 없이 자동적으로 작가로써의 특별 권한을 부여받게 됩니다.

리더앱

  • 리더앱은 구매한 전체 도서를 볼 수 있고, 구매한 도서를 읽을 수 있습니다.

🌐 백엔드

  • 마켓앱과는 별개의 프로젝트로 구성되어 있습니다.
  • 해당 리더앱은 오직 도서를 읽는 용도로만 사용합니다.
  • 프론트엔드와 연동하기 위해 REST API 방식으로 작동합니다.
  • 해당 리더앱은 마켓앱에서 회원가입을 한 유저만 로그인이 가능합니다.

🤖 프론트

  • JWT 인증을 통해 로그인을 벡엔드 리더앱에 인증을 요청하여 로그인을 할 수 있습니다.
  • 백엔드 리더앱과 REST API 통신을 하여 작가와 일반 회원이 구매한 모든 도서를 볼 수 있고 구매한 도서를 읽을 수 있습니다.

Commit Type

❗ 타입은 태그와 제목으로 구성되고, 태그는 영어로 쓰되 첫 문자는 대문자로 한다.
❗ 태그 : 제목의 형태이며, :뒤에만 space가 있음에 유의한다.

  • feat : 새로운 기능 추가
  • fix : 버그 수정
  • docs : 문서 수정
  • style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
  • refactor : 코드 리펙토링
  • test : 테스트 코드, 리펙토링 테스트 코드 추가
  • chore : 빌드 업무 수정, 패키지 매니저 수정