ClipStudio 프로젝트: ERD 설계 방향 돌아보기

노현아·2024년 4월 18일

프로젝트 기획 단계에서 고민할 지점

  1. 유저로서 프로그램에서 뭘 하길 원하는지 생각할 것
  2. 프론트가 처리할 수 있는 데이터와 내가 api로 응답해줘야 하는 데이터를 구분할 것
  3. 비디오를 재생한다는 것을 어떻게 '실제 비디오 없이' 구현할까?
    • 프론트엔드에서 비디오를 재생하는 유저의 반응을 알아서 해석, 핵심 요청만 전달할 것으로 본다
    • 백엔드는 프론트에서 '조회수 올려라', '광고 카운트해라', '내역 저장해라'라는 요청, 정보만 처리한다
    • patchmapping, getmapping 주로 사용하게 될 것
    • 이미 있는 데이터를 수정하되, 관계성 있는 여러 테이블을 어떻게 적절히 수정할 것인지 고민
  4. 유저의 권한을 언제 분리하는지?
    • 코드를 쓰기 전 명확히 정할 것
    • 특정 권한의 유저는 어떤 기능을 사용할 수 있는지 결정할 것.
      ex. '회원가입시 유저가 권한을 선택할 수 있고, 언제든지 수정할 수 있다.',
      '업로더 권한이 있을 경우 정산시스템 기능, 동영상 업로드 기능에 접근할 수 있다.'
  5. 동영상을 업로드하는 기능을 구현한다면 어떤 정보가 필요한가? metadata만 저장?
  6. ERD의 동영상 테이블의 duration, 유저 테이블의 username 어디에 사용할 것인지?
    • 꼭 필요한 것만 적고, 애매한 항목은 지우는 것이 낫다. 필요시 그때 가서 추가할 것.
      ex. '유저가 동영상을 끝까지 봤을 경우 재생 내역을 지워야 해서 '동영상 길이'가 필요하다고 생각함
      -> 프론트 쪽에서 동영상을 다 봤을 경우 백엔드에 알려주면 되므로, 꼭 필요하지 않을 것 같다.'
      '유저네임은 display를 위한 것. 동영상에 게시자 이름 표시, 마이페이지에 유저 이름 표시 등.'

주의할 내용 정리

  • 유저 경험
  1. 로그인/로그아웃
    • 소셜로그인 활용
    • 첫 회원가입시 권한 설정
  2. 비디오 재생
    • 재생 내역 저장
    • 최근 재생시점 복구
  3. 비디오 업로드
    • 실제 구현할 것인지?
    • 데이터가 이미 들어가있는 상태로 조회만 하는지?
    • 프로젝트에서 커버할 기능의 범위?
  4. 수익 정산 확인
    • 유저 권한에 따라 확인 가능 여부 결정
  • 수익 정산
  1. 동영상별 조회수 * 단가
  2. 동영상별 광고영상 조회수 * 단가
  3. 1 + 2 => 총 수익
profile
성실함과 끊임없는 학습을 통해 성장하는 개발자 지망생입니다. 새로운 도전과 배움을 즐기며 더 나은 코드를 꿈꿉니다.

0개의 댓글