프로젝트 소개
•
오늘의 코딩 완료를 자랑하는 서비스
프로젝트 의의
•
SNS 구현
•
Docker 경험하기
•
TDD 개발해보기
•
Github Flow 를 이용하여 이슈, 풀리퀘스트 및 협업에 익숙해지기
•
코드에 의도를 담기 (직관적 명명, 가독성 향상, 읽기 적당한 메서드 길이, 1작업당 1커밋, 근거있게 작성 등)
기술스택
•
백엔드
◦
Spring Boot 3.2.0
◦
JPA
◦
MySQL
◦
Redis
◦
Grafana
◦
Spring Security 6
유스케이스 모델링
1. 시스템 상황 분석
일반 기능
•
오코완은 코딩 관련 피드를 작성하는 SNS 서비스다.
•
오코완은 회원가입을 깃허브 소셜 로그인으로만 가능하다.
•
오코완은 모든 글을 볼 수 있다.
◦
전체글을 보거나 팔로우 중인 글을 볼 수 있다.
•
프로필 조회가 가능하다
•
프로필 수정이 가능하다
◦
닉네임과 프로필 소개, 프로필 사진 수정이 가능하다
◦
비밀번호도 수정이 가능하나, 기존 비밀번호를 함께 입력받아 검증을 해야한다.
•
유저 간 팔로잉이 가능하다.
•
게시글 작성은 로그인한 유저만 가능하다.
◦
수정 삭제도 가능
•
게시글에 댓글을 작성 수정 삭제도 가능하다
•
좋아요도 누를 수 있다.
◦
자기자신의 게시글 및 댓글에는 누를 수 없다.
•
관리자 계정은 모든 사용자나 게시글, 댓글을 조회, 수정, 삭제할 수 있다.
•
관리자 기능
•
게시글
◦
관리자는 모든 게시글을 삭제할 수 있다.
◦
관리자는 모든 게시글을 조회할 수 있다.
◦
관리자는 모든 게시글을 수정할 수 있다.
•
댓글
◦
관리자는 모든 댓글을 삭제할 수 있다.
◦
관리자는 모든 댓글을 조회할 수 있다.
◦
관리자는 모든 댓글을 수정할 수 있다.
•
회원
◦
관리자는 회원의 권한을 수정할 수 있다.
◦
관리자는 전체 회원을 조회할 수 있다.
•
통계 (데이터 수집)
◦
2. 액터 식별
•
무비토크에 회원가입 유무에 따라 비회원과 회원이 있다.
•
오코완은 회원, 비회원, 관리자가 있다.
3. 유스케이스 식별
•
로그인
•
회원가입
•
프로필 조회
◦
프로필 수정
▪
닉네임과 한줄소개 수정
▪
비밀번호 수정
•
특정 정렬 순서로 리뷰 조회
◦
특정 장르 해시태그로 리뷰 검색
◦
특정 검색어로 리뷰 검색
◦
좋아요 클릭
◦
댓글 조회
▪
댓글 작성
▪
댓글 수정
▪
댓글 삭제
•
리뷰 작성
•
리뷰 수정
•
리뷰 삭제
4. 유스케이스 다이어그램 작성
정책
•
사용자
◦
login_id
▪
4이상 20이하
▪
a~z, A~Z, 0~9 만 포함
◦
password
▪
8이상 20이하
▪
a-z, A-Z, 0-9, !@#$ 포함
▪
BCrypt 암호화로 DB에는 60글자로 저장
◦
nickname
▪
2이상 20이하
▪
a-z, A-Z, 0-9, 가-힣
◦
description
▪
nullable
▪
40이하
•
댓글
◦
content
▪
3자 이상 100자 이하
•
리뷰
◦
title
▪
1 ~ 50자
◦
content
▪
1000자 이하
◦
rating_score
▪
0 ~ 10 (1당 별 반 개)
◦
movie_name
▪
100자 이하
•
해시태그
◦
name
▪
공백 X
▪
a-z, A-Z, 가-힣
▪
1자 이상 15자 이하