Search

기획서

프로젝트 소개

오늘의 코딩 완료를 자랑하는 서비스

프로젝트 의의

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자 이하