-
팀프로젝트 Init commit스파르타코딩클럽/스프링 팀 프로젝트 - Back Office 2023. 12. 5. 21:06
Spring 백오피스 프로젝트
Threads SNS 제작
게시글, 댓글, 좋아요, 팔로우 기능을 구현한 SNS 만들기
- 사용자 인증 기능
- 회원가입 기능
- username, password를 Client에서 전달받기
- username은 최소 4자 이상, 10자 이하이며 알파벳 소문자(a~z), 숫자(0~9)로 구성되어야 한다.
- password는 최소 8자 이상, 15자 이하이며 알파벳 대소문자(a~z, A~Z), 숫자(0~9), 특수문자로 구성되어야 한다.
- DB에 중복된 username이 없다면 회원을 저장하고 Client 로 성공했다는 메시지, 상태코드 반환하기
- 회원 권한 부여하기 (ADMIN, USER) - ADMIN 회원은 모든 게시글, 댓글 수정 / 삭제 가능
- 참고자료
- 로그인 및 로그아웃 기능
- username, password를 Client에서 전달받기
- DB에서 username을 사용하여 저장된 회원의 유무를 확인하고 있다면 password 비교하기
- 로그인 성공 시, 로그인에 성공한 유저의 정보와 JWT를 활용하여 토큰을 발급하고, 발급한 토큰을 Header에 추가하고 성공했다는 메시지, 상태코드 와 함께 Client에 반환하기
- 회원가입 기능
- 프로필 관리
- 프로필 수정 기능
- 이름, 한 줄 소개와 같은 기본적인 정보를 볼 수 있어야 하며 수정할 수 있어야 합니다.
- 비밀번호 수정 시에는 비밀번호를 한 번 더 입력받는 과정이 필요합니다.
- 최근 3번안에 사용한 비밀번호는 사용할 수 없도록 제한합니다.
- 프로필 수정 기능
- 게시물 CRUD 기능 (배달앱일 경우 : 주문 CRUD 기능)
- 게시물 작성, 조회, 수정, 삭제 기능
- 게시물 조회를 제외한 나머지 기능들은 전부 인가(Authorization) 개념이 적용되어야 하며 이는 JWT와 같은 토큰으로 검증이 되어야 할 것입니다.
- 예컨대, 내가 작성한 글을 남이 수정하거나 삭제할 수는 없어야 하고 오로지 본인만 수정/삭제 할 수 있어야겠죠?
- 전체 게시글 정보를 조회하는 기능도 필요합니다.
- 배달앱일 경우 : 주문 작성, 조회, 수정, 삭제 기능
- 배달앱의 경우 주문이 게시글이 될것이고 주문목록이 게시판이 될 것 입니다. 주문한 사람만 메뉴를 수정/삭제할 수 있어야겠죠?
- 게시물 작성, 조회, 수정, 삭제 기능
- 댓글 CRUD 기능 (배달앱일 경우 : 리뷰 CRUD 기능)
- 댓글 작성, 조회, 수정, 삭제 기능
- 사용자는 게시물에 댓글을 작성할 수 있고 본인의 댓글은 수정 및 삭제를 할 수 있어야 합니다.
- 또한, 게시물과 마찬가지로 댓글 조회를 제외한 나머지 기능들은 인가(Authorization)개념이 적용되어야 합니다.
- 배달앱일 경우 : 리뷰 작성, 조회, 수정, 삭제 기능
- 배달앱의 경우 주문자 들만 주문건에 대해서 리뷰를 생성 할 수 있어야 합니다.
- 주문자만 해당 리뷰를 수정/삭제할 수 있어야 합니다.
- 댓글 작성, 조회, 수정, 삭제 기능
'스파르타코딩클럽 > 스프링 팀 프로젝트 - Back Office' 카테고리의 다른 글
[스프링 팀프로젝트] IPv4 KPT (1) 2023.12.11 복합키(Composite key)란? (2) 2023.12.07 PUT 그리고 PATCH (1) 2023.12.06 - 사용자 인증 기능