Skip to content

Latest commit

 

History

History
181 lines (134 loc) · 6.8 KB

README.md

File metadata and controls

181 lines (134 loc) · 6.8 KB

🛳 항 해 인 사 이 드 [클론 코딩]

클론코딩 "항해인사이드"

🚢 항 해 인 사 이 드 (디시인사이드 갤러리 클론코딩)

국내 최대 인터넷 커뮤니티 포털이자 인터넷 트렌드의 중심, 디시인사이드

실시간 베스트 등의 갤러리 커뮤니티 서비스를 제공합니다.

  • 공유할 게시글 작성 게시글 댓글 달기 마음에 드는 게시물을 좋아요 베스트 게시글

🌠 사용 기술



1. 회 원 가 입

Join Membership

아이디를 이메일로 하고 닉네임을 따로 받아서 회원가입하는 것으로 구현

아이디와 비밀번호 양식 체크는 따로 서버에 요청이 들어오도록 구현

2. 로 그 인

LogIn

로그인 시에 토큰이 자동적으로 헤더에 들어오도록 기능 구현

토큰 만료 시간은 30분으로 구현

3. 메 인 페 이 지

Main

포스팅된 게시글 리스트를 최신순으로 출력

른쪽 배너에 각 페이지에 따른 개념글 표시

4. 개 념 글( 베 스 트 글 )

Best

추천 수가 10개가 넘는 게시물 중 상위 게시글 10개 리스트 출력

5. 게 시 글

CreatePost

로그인이 된 회원만 게시글을 작성할 수 있도록 구현

사진 유무를 전체 게시물 페이지에서 불 수 있으며, 사진을 유무에 관계없이 게시글 생성 가능

6. 댓글/대댓글

CRUD

별도의 회원가입을 하지 않고도 nickname 값과 password 값 입력만으로 댓글/대댓글 작성이 가능하도록 구현

전체적으로 request값을 바탕으로 올바르지 않은 요청일 경우 (ex : “존재하지 않는 댓글입니다.”)등의 예외문구 출력 처리
createComment(댓글 생성) / getComment(댓글 조회) 메소드 내 createdAt(생성시간)과 modifiedAt(최종수정시간) `yyyy-MM-dd HH:mm` 형태로 패턴 변환하여 저장 및 출력

7. 개념추천(좋아요)/비추천(싫어요)

Heart/UnHeart

로그인을 하여야만 개념추천/비추천이 가능하도록 구현

개념추천/비추천 모두 1인 1게시글 당 1번씩만 가능하며 중복 요청 시 (ex : “이미 추천을 했습니다.”)등의 예외문구 출력 처리
개념추천/비추천 모두 취소는 불가능하도록 구현
Header를 통해 들어오는 Token 및 request 값을 바탕으로 올바르지 않은 요청일 경우 (ex : “로그인이 필요합니다.”) 등의 예외문구 출력 처리

8. 마이 페이지

Mypage

로그인 된 회원이 작성한 게시글 표시

🔨 API 설계

API 설계 한눈에 보기

🔧 ERD 설계

HangHaeInside

🐛 트러블 슈팅

트러블 슈팅 한눈에 보기

📝 Git Commit Message Rule

Format: [ 수정자 ] < type > commit message

  • feat : 새로운 기능에 대한 커밋
  • fix : 버그 수정에 대한 커밋
  • build : 빌드 관련 파일 수정에 대한 커밋
  • chore : 그 외 자잘한 수정에 대한 커밋
  • ci : CI관련 설정 수정에 대한 커밋
  • cd : CD관련 설정 수정에 대한 커밋
  • docs : 문서 수정에 대한 커밋
  • style : 코드 스타일 혹은 포맷 등에 관 한 커밋
  • refactor : 코드 리팩토링에 대한 커밋
  • test : 테스트 코드 수정에 대한 커밋

💗🌟 8조 잘한 점

✨🧩 깔끔한 Git 관리

깃 로그 PNG Untitled (1)

→ Rebase를사용하고 Git Commit 양식을 지킴으로써 Git을 깔끔하게 관리했다.

✨🧩 Post와 Member Entity의 불필요한 의존 관계 제거

Untitled (2) createdById

Post Entity에 Member 객체를 통째로 넣지 않고 createdById를 만들어

작성자의 닉네임을 넣어주어서 Entity간의 결합도를 줄였다.