본문 바로가기

Study/개발일지

[Spring프로젝트] 9조 뉴스피드 Starting Assignments

9조(조이름 :npc) spring 프로젝트 진행 

 

 

◆ 프로젝트 제목 : OTT 추천 뉴스피드

 - 설명 :  Over The Top란, OTT는 인터넷을 통해 다양한 플랫폼으로 사용자가 원할 때 방송을 보여주는 VOD 서비스이다.

대표적으로 넷플릭스, 디즈니, 왓챠, 웨이브 등이 있다. 이번 뉴스피드의 목적은 OTT에서 제공하는 방송에 관하여 다양한 소식을 전달하는 것이다.  새롭고 다양한 OTT방송 프로그램들을 한눈에 보여주는 서비스를 구현할 것이다.

 

 

 

◆  와이어 프레임

 - 메인페이지

 - 상세페이지

 - 로그인 페이지

 

 - 회원가입

 - 프로필 페이지

 - 비밀번호 변경 페이지

 

 

◆ ERD 설계

 

◆  개발해야 하는 기능

- 필수 기능

1. 사용자 인증 기능

n  회원가입 기능

n  로그인 및 로그아웃 기능

2. 프로필 관리

n  프로필 수정 기능

3. 게시물 CRUD 기능 (자유게시판)

n  게시물 작성, 조회, 수정, 삭제 기능

n  게시물 작성, 수정, 삭제 시 새로고침 기능

n  게시물, 댓글 좋아요 ( 추가 기능)

4. 뉴스 피드 기능

n  뉴스 피드 페이지

 -      추가로 구현 할 수 있는 기능

 5. ott 작품 조회 (추가 기능)

 - 신작조회, 인기작 조회

 - 좋아요, 리뷰 기능 추가

6. 데이터 크롤링 (필요시 추가기능 )

7. 프론트엔드 디자인

8. 카테고리 만들기(자유게시판, 뉴스피드, 인기작, 신규작 등 추가기능)

9. 이메일 가입 및 인증(추가기능)

10. 댓글 crud (추가기능)

 

- 명예의 전당 (시간남을 때 )

  • 1.프로필에 사진 업로드 기능 구현
  • 2.게시물에 멀티미디어 지원 기능 구현
  • 3.팔로우 기능 구현
  • 4.HTTP HTTPS로 업그레이드 하기

◆ API 명세  

분류 기능 메소드 url request Response
사용자관리 회원가입 Post /user/signup username(사용자명), password(비밀번호), isAdmin(관리자여부)
성공여부 : "success",
msg: "회원가입 성공"

로그인 Post /user/login username(사용자명), password(비밀번호),
관리자 토큰

성공여부 : "success",
msg: "로그인 성공"

로그아웃 Post /user/logout  
성공여부 : "success",
msg: "로그아웃 성공"

프로필 조회 Get /user/{userId}/profile Long userId 성공 시 :
ResponseEntity.ok(userProfile)
성공 메시지와 프로필정보 호출
이메일 인증 Get /user/verify-email String token
(이메일 토큰)
성공시 "이메일 인증이 완료되었습니다." 메시지 호출
프로필 수정 Put /user/profile User user
성공여부 : "success",
msg: "프로필조회 성공"

  프로필 이미지 등록  Post /user/profile/image @AuthenticationPrincipal UserDetailsImpl userDetails, @RequestParam("file") MultipartFile file 성공시 : ResponseEntity.ok("프로필 이미지 업로드 성공")
게시글 게시글 작성 Post /post postDto(게시글 정보), @RequestPart("file") MultipartFile file(첨부파일)
성공여부 : "success",
게시글을 Client 로 반환

게시글 목록 조회 Get /posts  
성공여부 : "success",
게시글을 Client 로 반환

게시글 상세 조회 Get /posts/{ post_id } post_id
성공여부 메세지 반환,
게시글을 Client로 반환

게시글 수정 Put /posts/{post_id} postDto(게시글 정보), @RequestPart("file") MultipartFile file(첨부파일)
성공여부 메세지 반환,
게시글을 Client로 반환
게시글 삭제 Delete /posts/{ post_id } post_id
성공여부 메세지 반환,
성공 혹은 실패 message 반환
좋아요

좋아요 Post /posts/like likeRequestDTO(유저id, 게시글id) 게시글 좋아요 값 1증가 ,
좋아요 테이블에 데이터 저장,
성공여부 메시지 반환
좋아요취소 Delete /posts/like likeRequestDTO(유저id, 게시글id) 게시글 좋아요 값 1감소 ,
좋아요 테이블에 데이터 삭제,
성공여부 메시지 반환
댓글 댓글 등록 Post /posts/{ post_id }/comments  UserDetailsImpl userDetails(유저 정보), @RequestBody CommentRequestDto requestDto(댓글 정보), @PathVariable Long post_id(게시글id) 성공여부 메세지 반환,
댓글을 Client로 반환
댓글 수정 Put /posts/{post_id}/comments/{id} UserDetailsImpl userDetails(유저 정보), @RequestBody CommentRequestDto requestDto(댓글 정보), @PathVariable Long post_id(게시글id) 성공여부 메세지 반환,
댓글을 Client로 반환
댓글 삭제 Delete /posts/{post_id}/comments/{id} UserDetailsImpl userDetails(사용자정보), @PathVariable Long id(댓글id), @PathVariable Long post_id(게시글id) 성공여부 메세지 반환,성공 혹은 실패 message 반환
뉴스피드 뉴스피드 메인화면   / 빈model 객체   신규영화 컨텐츠 목록 반환 

 

◆ 역할 분담 및 개발 방향 

-- 역할 분담 

 - 필수기능 역할분담 

  1. 깃허브랑, 뼈대만들기 , db 
-- 다같이 하시고 

2. 서연님 뉴스피드 불러오기 
3. 혜원님 댓글 crud   
4. 구현님 게시글crud 
5. 남명님 프로필 수정
6. 김태훈 로그인,로그아웃

 

-- 개발 방향 

- 7/4 화요일 까지 필수 기능 개발 

 

- 이후에는 필수 기능 검토하면서 구현가능 한 추가 기능들을 구현할 예정 

 

728x90