팀프로젝트 경험은 두세번 있지만 개인프로젝트 경험치가 적다고 느껴 내가 관심이 있는 도메인으로 프로젝트를 하나 완성해보기로 했다.
어릴적부터 웹툰을 좋아해서 네이버 웹툰 페이지를 참고하여 화면 단위로 요구사항을 정리하고 DB 설계를 해보았다.
다양한 웹툰 정보를 검색, 추천, 페이징조회 해야하기 때문에 이번 기회에 QueryDsl 도 공부해보기로 했다.
나는 크게 홈, 웹툰, 마이페이지 를 기준으로 기능을 정리하였다. (베스트도전, 도전만화는 기능이 중복되는 것이라 생각하여 제외)
주요 기능이 구현되면 쿠키 결제와 같이 결제 기능도 추가시켜보겠다
1. 홈
- 오늘의 웹툰 조회
- 읽다만 웹툰 조회
- 실시간 인기 웹툰 조회
- 장르별 인기 웹툰 조회 (PURE, FANTASY, ACTION, DAILY, THRILL)
- 이달의 신작 웹툰 조회
- 실시간 신작 랭킹
2. 웹툰
- 주간 전체 조회
- 주간 전체 웹툰
- 요일별 전체 조회
- 개별 웹툰 조회
- 개별 화 조회
- 신작 전체 조회
- 완결 웹툰 조회
3. 마이페이지
- 관심웹툰
- 최근 본
- 책갈피
위는 간략한 기능목록이고 세부 요구사항은 아래 더보기에 기술했다
더보기
요구사항
1. 홈
- 오늘의 웹툰 조회
- 인기순, 업데이트순, 조회순, 별점순 정렬
- 오늘 공개된 신작 최우선 정렬
- 썸네일, 작품명, 작가이름, 업로드 여부
- 읽다만 웹툰 조회
- 최근에 업로드 된 웹툰 우선 조회
- 썸네일, 작품명, 작가이름, 새 이야기 수, 업로드 여부
- 실시간 인기 웹툰 조회
- 전체, 여성, 남성 정렬
- 상위 5개
- 썸네일, 작품명, 작가이름, 업로드 여부
- 순위 변화 폭
- 장르별 인기 웹툰 조회 (PURE, FANTASY, ACTION, DAILY, THRILL)
- 로맨스, 판타지, 액션, 일상, 스릴러
- 상위 10개
- 썸네일, 작품명, 작가이름, 업로드 여부, 휴재 여부
- 이달의 신작 웹툰 조회
- 업데이트 순 정렬
- 상위 3개
- 썸네일, 작품명, 작가이름, 작품설명, 장르 키워드 3개 이하
- 실시간 신작 랭킹
- 전체, 여성, 남성 정렬
- 상위 5개
- 썸네일, 작품명, 작가이름, 업로드 여부
- 순위 변화 폭
2. 웹툰
- 주간 전체 조회
- 이달의 신규 웹툰
- 랜덤 조회
- 썸네일, 작품명, 작가이름, 작품 설명
- 주간 전체 웹툰
- 인기순, 업데이트순, 조회순, 별점순 정렬
- 썸네일, 작품명, 업로드 여부
- 이달의 신규 웹툰
- 요일별 전체 조회
- 추천 O요일 웹툰
- 랜덤 조회
- 썸네일, 작품명, 작가이름, 전체 편 수, 별점
- 전체 O요일 웹툰
- 인기순, 업데이트순, 조회순, 별점순 정렬
- 썸네일, 작품명, 작가이름, 업로드 여부, 별점
- 추천 O요일 웹툰
- 개별 웹툰 조회
- 썸네일, 작품명, 작가이름, 연재요일, 작품 설명, 장르 키워드, 관심 수, 내가 최근 본 화, 전체 화 수
- 관심 등록, 삭제
- 최신순, 오래된 순 정렬
- PageSize=30, 썸네일, 화 제목, 별점, 업로드 일자
- 유료분 조회
- 개별 화 조회
- 웹툰 내용 이미지, 관심 수, 좋아요 수, 별점, 별점 참여자 수, 별점 참여 여부
- 관심 등록, 삭제
- 좋아요 등록, 삭제
- 별점 등록
- 작가의 말
- 댓글
- 베스트 댓글(좋아요순), 전체 댓글 정렬
- 작성자 명, 아이디(부분익명), 베댓 여부, 작성 타임스탬프, 내용, 답글 수, 좋아요 수, 싫어요 수
- 대댓글 PageSize=10, 더보기 O, 시간순(1순위)&좋아요순(2순위)
- 신작 전체 조회
- 인기순, 업데이트순, 조회순, 별점순 정렬
- 오늘 공개된 신작 최우선 정렬
- 썸네일, 작품명, 작가이름, 업로드 여부, 별점
- 완결 웹툰 조회
- 인기순, 업데이트순, 조회순, 별점순 정렬
- 썸네일, 작품명, 작가이름, 별점
3. 마이페이지
- 관심웹툰
- 관심 해제 (다중)
- 업데이트순, 최근등록순 정렬, 전체 수
- 썸네일, 작품명, 작가이름, 업데이트 일
- 최근 본
- 최근 본 목록에서 삭제 (다중)
- 썸네일, 작품명, 작가이름, 본 회차, 감상 날짜, 새 이야기 수, 업로드 여부, 완결/신작/휴재 여부
- 책갈피
- 책갈피 삭제 (다중)
- 썸네일, 작품명, 작가이름, 회차 이름, 해당 회차, 책갈피 추가일
정리한 기능을 참고해서 ERD를 설계해보자. 나는 ERD Cloud 를 이용해 설계했다.
https://www.erdcloud.com/
'기타' 카테고리의 다른 글
프로젝트 배포하기 : Route 53에 로드밸런서 연결 (ALB, VPC, 서브넷) (1) | 2024.07.29 |
---|---|
QueryDsl + JPA 로 게시글 페이지네이션 구현기, 일대다 외부조인시 유의해야할 점 (0) | 2023.09.17 |
우아한 테크코스 프리코스 회고 (0) | 2023.03.23 |
오브젝트 (역할, 책임, 협력/캡슐화와 응집도에 대하여) (0) | 2023.03.23 |
AWS SNS vs. SQS (feat. Lambda) (1) | 2023.03.07 |
댓글