[ElectionPJT] 1. 프로젝트 설계

Jake·2022년 3월 14일
0

프로젝트

목록 보기
1/9
post-thumbnail

1. 시나리오

개발자 제이크는 다가오는 국회의원 선거에서 누구를 찍어야 할지 고민이다.
하지만 국회의원 후보들의 공약과 홍보문들은 각기 다른 곳에 퍼져있어 한 눈에 확인하기가 어렵다. Jake는 다른 사람들도 자신과 같은 고민을 갖고 있을 것이라 생각했고, 이 불편함을 해결하기 위해
지역구 별로 후보들의 SNS, 유튜브 활동, 그리고 지지율 통계를 제공하는 서비스를 만들고자 한다.


2. 도메인 모델

제이크가 설계한 도메인 모델은 다음과 같다

SNS와 [Facebook, Twitter, Instagram]은 상속 구조

지원 기능

  • 선거에 출마하는 후보들은 다음과 같은 기능을 이용할 수 있다
    • 후보 등록
    • 후보 수정
    • SNS 활동 등록
    • SNS 활동 수정
    • Youtube 활동 등록
    • Youtube 활동 수정
  • 설문조사 기관은 다음과 같은 기능을 이용할 수 있다
    • 설문조사 결과 등록
    • 설문조사 결과 수정

이 시나리오에서는 시민들이 이 서비스에 폭발적인 관심을 보였기 때문에, 후보들이 각자 알아서 열심히 자신의 선거 활동을 기록함을 가정한다. 현실에서는 그런 일 없겠지만...


3. 엔티티 분석

  • 도시(City): 선거구 이름(district)을 갖는다

    • district는 여기를 참고했습니다.
  • 후보자(Candidate): 이름, 출마 도시(city), SNS 활동 (snsList), 유튜브 영상 (youtubeList)를 갖는다.

  • 설문조사(Survey): 도시, 날짜, 조사 기관(executor), 의뢰 기관(requester), 지지율 정보(ratings)를 갖는다.

  • 지지율(Rating): 후보 이름, 지지율
    (아직 어떻게 구현할지 고민중인 부분이라, 추후 수정 가능성이 높습니다)

  • SNS: 후보자, 내용, url, 업로드 날짜를 갖는다

    • Facebook: 좋아요 수, 댓글 수, 공유 수
    • Twitter: 좋아요 수, 댓글 수, 리트윗 수
    • Instagram : 좋아요 수, 댓글 수
  • Youtube: 후보자, url, 썸네일(thumbnail), 영상 길이(runtime), 영상 설명(description), 조회수(views), 댓글 수, 업로드 날짜

profile
Java/Spring Back-End Developer

0개의 댓글