GithubHelp home page GithubHelp logo

yapp-17-android-1-domain's Introduction

YAPP 17기 팀 내 사전 프로젝트 - TDD를 활용한 클린한 도메인 계층 구현하기

목표

  • Java를 활용해 Front-Backend 공통으로 사용할 수 있는 도메인 계층 구현
  • TDD를 활용해 객체 지향적 구현하기, 클린 코드 체득

진행 방식

  • 각자 작업에 대해서 자유롭게 이슈 생성
  • (구헌이 필요한 이슈에 대해) 각자 이름과 이슈 번호가 포함된 브런치에서 요구사항을 구현( ex) #01_ohjuntaek)
  • 구현이 완료되면 master 브런치로 PR 생성
    • 생성 후 첫번째 리뷰는 자신이 달기
  • 리뷰어가 리뷰를 달고 승인하기
    • 이 때 궁금한 점, 알면 좋을 것 같은 정보나 링크 등을 가감없이 달기
  • 모든 리뷰어의 승인을 받은 후 squash and rebase 방식으로 merge
  • 반복

일정

  • 매주 토/일요일 오후 1시, 각자 소감 및 질문, 간략한 코드 리뷰, 다음 할일
  • 11월 부터 개발 집중 기간이니 그 전까지 회원을 포함해 도메인 계층 개발 완료!

용어 정의

한글명 영문명 설명 동의어, 비고
회원 Member 회원 가입한 사용자. 로그인 할 수 있다. 사용자 : 회원,비회원 통틀어 쓰는 말
게시글 Post 회원이 생성한 글을 뜻한다.

정의된 요구사항

  • master 브런치에 있는 요구사항을 토대로 코드를 작성해주세요.
  • 요구사항은 각자 브런치에서 언제든 변경 가능합니다. master에 변경된 요구사항을 PR로 보내주세요.
  • 이슈가 될 가능성이 높은 부분은 이탤릭체로 쓰고 이유를 취소선으로 적겠습니다. 그대로 구현하거나 요구사항을 변경해 구현해 주세요.
  • 개인적으로 중요하다 생각하는 곳에 볼드체를 쓰고, 코드 리뷰 때 PR에서 이유를 밝히는 것을 권장드려요.

0. PiCON 서비스 소개

  • 여행 기록을 지도에 남기는 서비스이다.
  • 메인 화면에 지도가 보여지고, 지도에서 핀을 찍어 게시글을 생성해 게시글에 사진을 등록하고 간단한 기록을 남길 수 있다.
  • 또한 빨, 주, 노, 초, 파의 색상이 있고 각 색상에 텍스트를 지정할 수 있다. (텍스트는 기쁨, 신남 등 감정 기록하는 방향)
  • 현재 회원은 자신이 남긴 게시글만 볼 수 있지만, 추후 서비스 확장 시 타인의 게시글을 볼 수도 있다. 친구의 게시글 보기 기능 추가 가능성

1. 게시글(Post)

  • 회원은 특정 위치를 선택해 게시글을 생성할 수 있다.

  • 좌표값(위도, 경도), 글내용, 생성된 시점을 정보로 가진다.

  • 위도는 소수점 6자리를, 경도는 소수점 7자리를 넘지 않는다. 라이브러리 조사 후 확정!

  • 좌표값에 대한 주소를 정보로 가진다.

  • 좌표값에 대한 주소의 시, 도, 구 정보를 가진다.

  • 한 게시글에 여러 개의 사진을 달 수 있다.

  • 한 게시글에 색상을 하나 지정할 수 있다.

  • 지도에서 자신이 생성한 게시글을 볼 때는 썸네일을 포함한 으로 보인다. (화면 참조)

  • 지도에서 게시글이 특정 범위 이하로 모여 있을 땐 썸네일을 포함한 클러스터로 보인다. (화면 참조)

  • 핀에 해당하는 게시글의 사진 중 임의로 하나가 썸네일로 보여진다.

  • 클러스터가 가진 게시글의 전체 사진 중 임의로 하나가 썸네일로 보여진다.

  • 지도에서 핀을 클릭하면 핀에 해당하는 게시글의 정보를 조회할 수 있다. => 무조건 모아보기로

  • 지도에서 클러스터를 클릭하면 클러스터가 가진 전체 게시글을 모아볼 수 있다.

  • 게시글은 수정, 삭제될 수 있다.

2. 사진(PostImage)

  • 사진 파일이 올라가있는 저장소가 있고, 그 주소에 대한 url을 통해 사진을 출력할 수 있다.

3. 색상(Color)

  • 컬러 5개(빨, 주, 노, 초, 파) 를 가지고 있다.
  • 한 컬러에 한 감정을 기록할 수 있다.
  • 감정은 변경할 수 있다.

3. 내 여행 기록

추가기능 느낌이므로 추후 논의

객체 모델링

  • 요구사항을 토대로 객체의 정의와 속성, 로직을 README에 기록해주세요. 코드 이해에 중요한 정보가 됩니다.
  • 객체의 로직은 테스트 되어야 합니다!

Post

  • 게시글
  • (coordinate, address, [postImage], content, createDate)

Coordinate

저번에 LatLng도 있었는데 Coordinate가 더 소리내어 읽기 쉬워서 일단 채택

  • 좌표 값을 담은 객체
  • (lat, lng)

Posts

  • Post의 일급 컬렉션
  • ([post])

PostImage

  • (url)

Color

  • _RED, ORANGE, YELLOW, GREEN, BLUE_기획과 논의 필요
  • _(emotion)_감정은 현재 객체로 나오기엔 하는게 아무것도 없어서 일단 뺐습니다.

지침서, 영상

코드 규칙

다 지키긴 힘들지만 노력해봐요.

yapp-17-android-1-domain's People

Contributors

ohjuntaek avatar

Watchers

James Cloos avatar  avatar

yapp-17-android-1-domain's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.