72 TIL ( 프로잭트 엎음 )
오늘의 할일
1. API 설계 오전에 종료
4. 엔티티 설계 (저녁 7시이후)
2. 코드컨벤션, 커밋메세지 컨벤션 결정
3. 팀 그라운드 룰 결정 (카메라&마이크&화면공유 문제 / 정규회의시간 / 구현 중 문제발생시 / 개인의 커밋 & 머지일정 & 브랜치 분할 양식)
5. 1차 백엔드 기능 구현 역할 분배
6. 1차 백엔드 마감기한 정하기
9시반 회의 시작
< 예약된 날짜 & 휴무일 처리 관련>
: 낚시터 상황, 날씨 등에 따라 갑작스런 휴무를 하게될 가능성이 있기 때문에,
예약은 기본으로 받고, 영업이 불가한 경우 가게측에서 직접 예약자에게 연락을 하는 것으로.
- max피플 : 하루당 예약할 수 있는 손님의 수 (글 작성하는 사장이 정하는거)
- 예약가능기간은 오늘로부터 두달(+60일) / 달력에 표시되는기간은 대략 6개월정도(프론트적)
[낚시터이블]
1 a낚시터 김철수 위치정보 하루멕스인원20 /
[book 테이블]
1 날짜, a낚시터, 예약정보 , 인원5 / ....
오전 10시 회의
문제점 : 프로젝트 스케일이 너무 크고, 각 업체별로 예약을 다룬다고 했을 때,
예약테이블에서 우리업체것도 아닌 예약값도 훑으면서 찾아야한다는건 비효율이다.
그렇다고 업체를 등록할때마다 자동으로 그 업체의 예약테이블을 생성해주는 것을 구현 가능한가?
매니저님은 일단 특정 업체의 예약시스템 구현으로 하는게 어떤가.
- 경기 / 서울 / 강원 지역별로 낚시터 테이블을 나눈다
- 예약일자 테이블도 지역별로 나눠야할까?
- 커뮤니티 VS 예약 하나를 확실하게 잡아야 한다.
특정 업체의 예약시스템으로 간다면 커뮤니티를 할 수 있을까? > 이 사이트의 후기글 커뮤니티
1) 커뮤니티: 낚시터정보는 게시판처럼 업로드되고, 예약은 각자 전화로
2) 특정업체의낚시예약사이트-사이트내 예약기능이 구현
3) 물품거래플랫폼(포인트제, 결제시스템...)
아이디어
[조운]
- '커뮤니티' 기능 : 중장년을위한거 << 이걸 살릴것인가?
- '커뮤니티'를 강화 : 그 도메인에대한 깊은 이해가 << 우리가 낚시알못.
- '커뮤니티' 그 커뮤니티에 대해 우리가 잘알못이면 깊은 커뮤니티가 구현이 되나?
- '낚시'를 남기면, 커뮤니티보단 특정업체의 예약 및 후기사이트
- '커뮤니티'를 할거면, 주제변경을 하는편이 딥해질 수 있지 않을까.
[예진선]
- 언제까지 무엇을 할지 시간을 정하자 / - 팀그라운드룰 을 먼저 잡고 시작하자
- 낚시터 하나만의 예약사이트가 된다면 의미가 있을까 ? BUT 기술이 중요하다면..
- '커뮤니티'라면, '낚시에 수요가 있나?' 싶긴한데, 수요는 생각하지 말자.
- 낚시랑 예약 둘중 하나만 선택해서 하는게 좋을 것 같다.
[김민재]
- '예약' '커뮤니티' 하나씩 하면 어필이 될까 했는데, 다른조 보니 기능이 하나씩 밖에 없다.
- 우리는 백엔드를 중요시 해야하지만, 보이는 것도 중요함.
- '커뮤니티'를 집중해서 디테일을 올리면 좋지않을까.
- 예약제도에서 하나의 업체만 달력선택구현을 하고, 다른 업체는 전화 예약 받게끔 하는거로도 되지않을까?
(구현할 수 있다는것만 증명하면 되니까)
[이상환]
- '커뮤니티' 한표.
- '지도API' '채팅' '예약' 등의 기능은 커뮤니티를 만들고 부가적으로 추가할지를 정하자.
- '커뮤니티'만 생각하면 주제가 바뀔 필요는 없지 않을까? 주제를 바꾸는건 중립의견.
[최찬호]
- 프론트의 포폴을 보면, 못만든 파트는 아직 미구현된 파트입니다 같은 식으로 처리해놓음.
- 사용자들에게 배포테스트할 것을 생각하면 커뮤니티 기능은 포기하기 어렵다.
- '커뮤니티' : 글을 한번에 만개를 돌리거나 하는것도 편할것(대용량데이터 테스트에 용이)
>> 대용량데이터를 위해 테이블 구조를 바꾸거나 그런...
- 커뮤니티 "만" 이면 구현난이도가 어려울것으로 예상되는게, 대용량데이터밖에 없을것.
- 그래도 일단 "커뮤니티"에 한표.
[ 합쳐진 의견 ]
- 우리의 MVP(최소구현기능) 는 [커뮤니티]다.
주제 아이디어
[조]
변경하는게좋으거같다. 커뮤니티를 딥하게하려면 도메인에대한 상세한 분석이 좀필요.
(참고:물반고기반의 커뮤니티)아예 일상적이라서 도메인을 분석만하면되고 지식적 이해할필요는 없는 (EX. 친구와 약속 내지는 나의 일정공유 예를들면 투두메이트)
그런 도메인을 잡는게 좋지않을까?
[김]
반반의견임. [낚시]를 들고갈 이유가 사라진 것 같다. 아는 분야로 하는 것도 좋을 것 같다.
문제는 낚시를 이용하는 사람이 온라인 활동에 진심으로 해줄까?
"딥한주제"와 "커뮤니티가 활성화되있는" 주제가 필요하고, 그런 주제를 찾을수있으면 그 주제로 바꾸는게 맞다.
낚시라면, 25는 개발커뮤 25는 실서비스되고있는 물반고기반
[최]
일상같은 넓은거보단 [낚시] 나 뭔가 매니악하고 딥한 주제를 잡는게 좋을것같다.
사이트를 만드는 사람이나 관리자에게 전문지식이 있을 필요가 없다.
배포를 해봤을때 특정한 매니악한 주제라면 그 주제에 진심인 사람들이 딥하게 테스트를 해줄 것이다.
하나의 특정한 주제(그 분야에 진심인 사람을 노리는)가 있는게 좋을거같음. 예를들면 [낚시]도 좋을 것 같음.
아니면, [매니아가 있으면서 + 인터넷을 좋아하는 사람들] >> 딥한주제이면좋고. 그런의미에서 현재 낚시도 좋다.
[예]
낚시주제도 괜찮고, 만약 주제를 바꾼다면, [일상]은 폭이 넓으니까 [일정공유]를 기준으로
"딥"한 주제를 하면 재밋을것이다. 만약에 한다면 [신발] 커뮤니티! (베이스 지식이 있습니다!)
EX) 나이키 : 한정판매 정보공유 그런로직.
응모일정 공유(관리자가 올리거나), 응모 된사람들이 리셀함. 정보공유야 너무 당연. 자랑하는거도 있을것.
[이]
주제는 낚시나 신발처럼 확실하고 딥한게 맞는거같다.
커뮤니티만은 기능적으로 CRUD 외에 크게 딥한게 없다. (카테고리, 프로필정보, 도메인에 대한 딥한정보)
EX. [유기동물 사이트] : 몇킬로, 몇살, 종이뭔지..
주제에 상관없이 어떤 기능들이 있을거고, 그 기능중에서 좀 딥한게 있도록. 하는게 좋을거같다.
만약에 유기동물이라면, 이 동물이 어디서 발견됐는지 지도 표기.
>> 결론 : 커뮤니티를 하자!
주제 아이디어 2차
[조] 커뮤니티만 CRUD만으로도 딥하면 끝이없다. << 프론트가 단순해지는 장점 BUT 고용량 데이터 처리를 위한 백엔드의 기능의 정수를 할 수 있을까??
[김] 위치서비스 가능 + 가볍고 + 연령대 제한이 없음 : [인형뽑기] 정보공유. << 더미데이터를 어떻게 만들것인가
[최] 주제는 좀 모르겠음. / 일반인과 매니아의 경계가 너무 쎄서, 매니아들이 분탕질해놓을까봐...(예를들어 축구면 특정 축구구단 팬들이 이사이트 점령)
실제 정보가 아니란 것을 안내할필요(예민한 분들...) / 사이트에 상주하는 유저가 많게끔 해야하는데, 유기동물은 쫌 예민하면서 무거운주제다.
기술적 다양성 말고 CRUD 를 딥하게 해보는걸 어떤가. (예를들어 JPA의 동시접근과 관련된 기능을 건든다던가? - 속도VS안정성 관련. : 우리가 이 기능을 도입한 이유를 제시. 동기-비동기 / 일반 게시판들보다 더 딥하게 짜면)
(데이터가 엄청많이 쌓이면 검색효율을 생각해야 >> EX. 달별로 테이블을 나눈다던가? // 사이트에서 어떤 키워드가 많이나오는지 뽑는다던가)
>> 자바/ 스프링의 스펙을 직접 까보고 학습해야한다. >> 서로 공부하면서 공유. >>> 백엔드로서의 딥한 공부
>> 따른팀들도 커뮤니티가 많은데, 우리가 커뮤니티로 걔네 작살낸다 느낌으로 딥한 공부를 하면 어떨까.
[예] 신발(한정판 응모일정, 신상일정, 리셀정보, 자랑...)
위치데이터 : 응모일정 하면, 응모가능 지점이 다 다름. 더미데이터는 신상품의 데이터를 만들면 되지 않을까.
[이] 유기동물 정보공유 (지도:발견위치 + 임보위치), 동물자체의 정보(고양이/강아지/그외 , 종, 몸무게, 건강상태상세...), 유기동물 보호소정보, 봉사정보...
어느정도 진행될때 까지는, 실제 운영중인 비슷한 사이트를 참고하지 말자! (자꾸 부수기능만 올라가게됨. mvp에 집중하자.)
유기동물 빼고, 집사커뮤니티는 어떨까. (문제점, 근데 경쟁자있음)
전제 :커뮤니티인건 확실히 정해짐.
1. [주제]를 잡고. 그 주제에 맞춘 기능디테일을 뽑던가. <<<< 주제를 먼저 정하고, 기능디테일을 정하자.
2. [기능 디테일]이 어떤걸 뽑을지 를 생각하던가
>> 주제잡자.
- 집사커뮤니티
- 신발커뮤니티
- 인형뽑기커뮤니티
그라운드 룰이랑 커밋컨벤션, 코드컨벤션
그라운드 룰
1. 카메라&마이크&화면공유
- 카메라 : 회의할 때는 카메라 꼭 켜기 / 각자 개발중엔 카메라 & 화면공유 중 택1(그러나 카메라 권장됨)
- 마이크 : 회의할때 마이크는 꼭필요 / 채팅은 보조수단. 소통은 마이크로.
- 화면공유 : MUST는 아닌데, 질문시 화면공유 해달라할때 꼭 하자!
2. 시간약속에 대한거
- 늦어도 오전 9시반까진 카메라 앞에 앉고 정상 작업 시작해야함.
- 모임은 무조건 정시에 모이자. 지각이 빈발할경우 패널티를 만들자.
- 사정이 생겨서 늦는경우 꼭 팀원들과 공유.
3. 정규 회의&정규보고 시간 (개발을 시작했을때)
- 진행상황 공유 & 개발필요 회의: 10시 / 4시
- 정규머지시간 : 오후 8시 (머지는 매일 돌아가면서 순번 담당자가 하는것: 연습의 의미)
* 회의 타이밍엔 막힌부분에 대한 보고만. 거기에대한 해답은 일단 뒤로 미룸.
* 질문은 실시간 언제든 가능. (회의시간을 줄이기위함. 일단 보고부터 끝내고, 막힌건 그다음.)
커밋컨벤션
5. 질문시간 & 막힌것을 어떻게 할것인가(서브담당자? 질문)
- 질문은 수시로.
- 막히면 1시간만 스스로고민. 그이후는 무조건 공유.
- 단, 막혔던거 기록 잘하기.
6. 각자 막힌 부분에 대한 기록.
기록페이지 만들어놓겠습니다.
주제 기획
[주제1] : 그룹모임 매칭 기능
문제의식 - 혼자사는 사람들 많아짐. 그룹 활동이 하고싶지만 친구가 없어. 검증되지 않은 사람을 만나기는 무섭다.
(EX. 최소 2인 이상 주문해야 하는 식당에 같이갈 파티원 구하기 / 보드게임방에서 4인이상 보드게임 하고 싶은데 2명이 모자라)
[ 주요기능 ]
- 파티원 모집 글 작성
( 제목 : 윷놀이 4인팟 하실분 / 지역 : 신촌 / 모임 위치 : 00보드게임방(구체적 업소명으로) / 모임시간 : 00년00월00일(일) 오후 4시 / 소요시간 : 약 4시간 / 모집인원 2명 / 상세내용 : ~)
( 제목 : 00대학교 시험공부 뿌수기 / 지역 : 홍대입구역 / 모임위치 : 00카페 / 모임시간 : 00년00월00일 오전 9시 / 소요시간 : 약 12시간 / 모집인원 3명 / 상세내용 : 오후 9시전 퇴근시 벌칙으로 음료 하나씩 쏘는 파티! 시험공부 뿌숴요!)
- 파티원 모집 글 카테고리별 분류(식사팟, 게임팟, 스터디팟) / 검색기능 / 신고기능 / 스크랩 & 공유기능
- 파티원 참가 신청 기능 & 주최자가 수락하면 파티원으로 등록되는 기능 & 소요시간이 종료된 이후 참여자들에게 평점 요청 기능 (이벤트는 재밋엇는지? + 각 참여자들에 대한 평가)
- 유저별 평점과 평점에 따른 칭호뱃지 (주최자로서의 평점 : 주최했던 이벤트들의 평점 평균/ 참여자로서의 평점 : 참여자 평가 평점 평균)
(칭호 종류 : 주최횟수에 따른 칭호 / 파티 참가에 따른 칭호 / 평점이 높은 것에 따른 칭호 / 가입일이나 활동일 오래된 순 칭호 등등...)
- 다른 유저의 프로필 클릭시 주최했던 모임, 해당 유저의 주최자평점 참여자평점, 보유한 칭호뱃지 확인기능.
- 마이페이지 : 내가 주최한 모임 전체 조회 & 상세 조회 및 관리 & 내가 참여했던 모임 정보 보기 + 평점작성 관리 + 나의 칭호함
[주제2] : 분실물 정보 공유 사이트
문제의식 - 가끔 커뮤니티에 어떤 물건을 잃어버려서 찾는 사람들이 글을 올림. 그걸 전문으로 하는 사이트가 있으면 어떨까?
- 주인 찾아요 게시판 : 발견장소 / 발견날짜와 시간 / 맡긴위치 / 물건사진
- 분실물 찾아요 게시판 : 분실추정장소 / 분실날짜와 시간
여기서 더 키우기는 힘들것 같기도 하고?
주제 끝장 토론
(사용테스트) (더미데이터) (도메인에 대한 딥한 이해, 필요성 필요)
[조] 1회성그룹모임매칭(파티원모집기능 / 주최자&참가자평점 기능 / 칭호기능 / 마이페이지 기능 / 타유저정보조회기능) OR 분실물정보공유
[김] 2인형뽑기 (인형뽑기 가게위치 / 점포내 인형정보 / 각 기계종류별 리뷰 / 업주에 대한 평가-찝개힘약감, 인형에 벽돌달아놓음) / 강점 : 연령대 다양 / 리뷰를 해줄 확률이 높은게 뭘가? 가벼운거.
[최] 3자기계발(자기계발주제별 같이할사람모집 / 좋은서적영상정보 공유 / 나의 자기계발 일기)
4스타트업 커뮤니티(성공실패사례 정보공유/ 창업꿀팁공유 /같이창업할맴버모집..근데검증되지않은사람..)
5떡볶이 정보공유 커뮤니티(지역 맛집공유 / 레시피공유.. )
[예]6신발 커뮤니티(한정판 응모일정,응모매장 위치, 신상일정, 리셀정보, 자랑...)
[이]7음식점리뷰커뮤니티(내가갔던 식당평점, 리뷰, 댓글달기)
2차 토론
[조]1 그룹모임매칭 : 어떤 기능을 디테일하게 넣을지 생각이 떠올라서. "커뮤니티" -"게시판"
[김]2 인형뽑기 : 게시판 기능을 인형뽑기 주제로 충분히 할 수 있다. 사용해보라고 했을 때 재미가 있을 것(접근성). 실제 위치기반은 하나만 테스트케이스로 두고, 나머지는 더미데이터 활용 가능.
// 질문1. 1회성 그룹모임의 게시판 활성화는 어떻게 가능할까?
[최]5 떡볶이 : 다른것에 대한 나의 경험 없다. 나를 기준으로 했을때, 사용자가 많이 모일것. 사람매칭 제외함 = 서비스 테스트할때 실사용 케이스를 얻기가 까다롭다
[예]1 그룹모임매칭 : 내가 필요로 했던 서비스. 내마음에 와닿는 서비스. / 구체적인 서비스 구조가 잘 떠올라서
// 질문 1. 더미데이터는 어떤것? / 2. 게시판집중
[이]3 자기계발 : 사용자가 쓸만한 주제인 것 같다 / 모집기능 + 게시판 CRUD 집중