프로젝트/띄움

2. 팬레터 도메인 설계

모항 2023. 1. 9. 03:01

회원가입 기능을 위해서는 보안을 좀 더 공부해야 할 것 같아 일단 팬레터부터 개발하려 한다.

 

팬레터 도메인의 어트리뷰트는 다음과 같다.

 

  1. ID: 정수(Long). 각 팬레터를 구분하기 위한 고유값. 생성되는 순서에 따라 순차적으로 부여함. 새 팬레터 객체 생성 시마다 1씩 증가.
  2. 제목: 문자열(String). 20글자 제한.
  3. 작성자아이디: 문자열(String). 20글자 제한.
  4. 수신인아이디: 문자열(String). 20글자 제한.
  5. 내용: 문자열(String). 200글자 제한.
  6. 후원금액: 정수(Integer). 원 단위.
  7. 좋아요 여부: 참/거짓(boolean). 수신인인 창작자가 좋아요를 눌렀는지 여부.

 

닉네임이 중복될 경우를 대비하여 작성자와 수인인은 아이디로 저장되도록 한다.

팬들의 경우 가입 시 중복되지 않는 닉네임을 적으라고 강제해도 문제가 없다. 하지만 창작자들은 '띄움'에 가입하기 전부터 원래 써오던 필명이 서로 중복되는 경우가 있을 것이다. 그럴 때, 나중에 가입한 사람에게 무조건 다른 닉네임으로 가입하라고 강제하기는 어려울 것 같다. 그러므로 닉네임이 중복될 수 있다고 가정하고 데이터베이스를 짜보겠다.

 

위의 여섯 가지는 사업 계획이 어떻게 변경되든지 무조건 팬레터에 포함되어야 하는 기본적인 데이터다. 여기에 다른 데이터가 추가될 수 있다. 제한사항(글자수 제한 등)과 데이터 생성 정책(팬레터가 생성되는 순서에 따라 ID가 부여된다는 것 등)은 변경될 수 있다. 위의 것들 중 무엇이 빠질 일은 없다.

'프로젝트 > 띄움' 카테고리의 다른 글

4. 팬레터 서비스 정리, 팬레터 리포지토리 설계  (0) 2023.01.12
3. 팬레터 도메인 작성  (0) 2023.01.09
1. 요구사항 정리  (0) 2023.01.09
0. 기록 배경  (0) 2023.01.09