[개인 프로젝트] 2일차 회고

·2024년 7월 18일

개인 프로젝트

목록 보기
3/16
post-thumbnail

🐍 요구사항 명세 검토

오늘은 먼저 작성한 요구사항 명세와 피그마 화면을 하나씩 비교하면서 혹시 빠진게 없는지 검토했다. 역시... 사소한 기능들의 명세가 빠져있는 걸 발견했고 수정했다.
검토만이 날 살린다.

🐘 erd 다이어그램 작성

그리고 erd 다이어그램을 작성하기 시작했다. 작성 전 일단 두 가지 고민이 있었다.

  • 회원 탈퇴시 어떻게 처리할 것인가?
    -> 일단 delete 대신 use_yn을 사용해 회원 탈퇴후엔 사용 불가 처리를 하자.
  • 신고된 포스트잇을 어떻게 처리할 것인가?
    -> 얘도 신고 먹은 즉시 안보이도록 use_yn을 n 처리하고, 신고가 거절되면 다시 y처리를 해서 보여주자.

회원 삭제 시 삭제하지 않고 삭제 처리를 해야겠다고 판단한 이유는 다음과 같다.

  • 데이터 무결성 보존
    -> 여러 곳에서 참조하는 데이터가 갑자기 사라지면 데이터 무결성이 깨질 위험이 높다.
  • 로그 기록 보존
    -> 고객 서비스 이슈 발생 시 로그가 필요해질 수 있다.

오늘 동안 작성한 erd 다이어그램은 다음과 같다.

  • BaseTimeEntity는 생성일시와 수정일시에 대한 DATETIME은 거의 모든 클래스에서 참조하므로 각 컬럼으로 넣는 대신 클래스를 분리하고 사용시엔 상속받도록 하려고 만들었다. 게시글에서는 추가로 생성자와 수정자 컬럼도 사용할 것이다.
  • 공지는 메인 페이지에 Admin이 띄운다.
  • Multiparts 테이블은 게시글에서 사용할 파일과 유저의 프로필 사진으로 사용할 이미지를 한번에 저장해 둘 테이블이다. 처음엔 이미지와 파일, 이렇게 두 개의 테이블로 각각 나눴었는데 굳이 나눌 필요가 없다고 판단되어서 합쳤다.
  • 추후에 이메일 인증도 구현하기 위해 이메일, 이메일 인증 여부 컬럼과 인증 테이블을 따로 만들어두었다.
    특이 사항은 이 정도이고 혼자 설계하느라 틀린 부분이 많을 수도 있다...

어떤 컬럼이 필요한지 꼼꼼히 찾는 것과 테이블 간 관계 설정이 약간 헷갈리고 어려웠지만 직접 머리를 써서 집중하는 시간이 나름 재밌었다.
요즘 책도 안 읽고 릴스를 자주 봐서 전두엽이 팽팽하지 않은 기분이었는데 머리를 확 썼더니 좀 나아졌다. 회고 쓰고 책 읽으러 가야징.

🤖 내일 할 일 정리

  • 맑은 정신으로 erd 다이어그램 다시 전부 검토하기
  • API 설계하기
profile
꾸준히 성장하자!

0개의 댓글