요구사항 정리

  • 게시글을 생성할 수 있다.

    • 글은 위도, 경도, 주소, 이미지url, 글내용, 도시, 생성날짜를 가진다.
      • 위도는 소수점 7자리를 가진다.
      • 경도는 소수점 6자리를 가진다.
  • 게시글에 여러 개의 사진을 달 수 있다.

    • 사진은 url을 가지고 있다. - 글을 각각 조회 할 때, 정보를 모두 출력할 수 있다. - 저장된 글의 정보를 전체 조회할 때, 각각 글의 위도, 경도, 이미지url 정보가 조회된다.
  • 글 정보 조회 시 여러 개의 사진 url 중 랜덤으로 하나의 url이 출력된다. - 글의 사진 상세 보기 시 등록된 사진 url 전체가 조회된다.

  • 컬러 5개(빨, 주, 노, 초, 파) 를 가지고 있다.

  • 한 컬러에 한 감정을 가질 수 있다.

  • 하나의 글마다 하나의 감정을 기록할 수 있다.

  • 감정은 사용자가 추가하고 삭제할 수 있다.

    • 감정은 이름을 가진다.
    • 게시글을 수정/삭제 할 수 있다.
    • 최근 6개월을 기준으로 사진 목록을 랜덤으로 가지고 올 수 있다.
      • 게시글은 생성날짜를 가진다.
      • 생성날짜를 기준으로 조회한 목록에서 랜덤으로 하나의 url을 출력한다.

객체 모델링

domain.Point

  • 좌표 값을 담은 객체
  • (위도, 경도)
  • 위도는 소수점 7자리를, 경도는 소수점 6자리를 가진다.
    • 위도가 소수점 7자리가 아니면 예외가 발생한다.
    • 경도가 소수점 6자리가 아니면 예외가 발생한다.

domain.Post

  • (point, address, [postImage], content, city, createDate)
  • 게시글 생성 및 toString 테스트
  • 게시글을 생성할 때 여러 개의 사진을 달 수 있다.

domain.PostImage

  • (url)
  • 사진 생성 테스트

domain.Posts

  • ([domain.Post]) - [x] 저장된 글의 정보를 전체 조회할 때, 각각 글의 위도, 경도, 이미지url 정보가 조회된다.