## 데모 시나리오
### 사용자
- 1. 사용자가 오더 호출 (출발지 도착지 입력) (서브)
- 4. 다시 오더 호출
- 6. 사용자가 드라이버에게 채팅 메시지 전송
- 10. 드라이버가 출발지 100미터 가까이 왔다는 팝업 뜸
- 12. 드라이버 출발지 도착 (페이지 이동)
- 14. 드라이버의 위치를 실시간으로 확인
- 16. 운행 완료 팝업 확인 (메인 페이지로 이동)
- 17. 운행 기록 확인
- 18. 로그아웃
### 드라이버
- 2. 드라이버 오더 대기(사라지는 것 확인)
- 3. 오더 목록에서 오더 수락(다른사람이 먼저 수락)
- 5. 다시 호출된 오더 수락
- 7. 드라이버는 사용자에게 받은 채팅 알림 표시 후 채팅방 입장
- 8. 사용자에게 채팅 답장을 하고 채팅방 나감
- 9. 출발지로 위치 이동
- 11. 출발지 도착 후 운행 시작 (페이지 이동)
- 13. 도착지까지 3-4차례에 걸쳐서 이동
- 15. 도착 완료 (메시지 띄움)
## TODO
- 목요일 16시까지 피피티 부캠 이메일로 보내기.
## IKEYTAX Study
### Project
- 12/20일 까지 프로젝트와 관련된 스터디만 진행
- 12/22일 부터 CS + 프로젝트와 관련된 스터디 진행
### 스터디 진행 방식 (프로젝트 데모 발표 전까지)
- 당일날 정한 주제를 다음날 발표 + 반복
- 주제는 프로젝트와 관련된 내용
- 벌칙 → 🤑 카카오톡 10,000원 뿌리기
### 스터디 발표 주제
| 날짜 | 발표자 | 발표 주제 |
| ----- | ----- | -------- |
| 12/17 | 김종은 | graphql useQuery 동작 원리 |
| 12/17 | 김학준 | RDBMS VS NOSQL |
| 12/17 | 오지훈 | Redux vs Context API → 어떤 경우에 어느것을 사용할지 |
| 12/17 | 조찬영 | graphql subscription 동작 원리 |
방법
**프로젝트/cs 폴더 생성 후 md 파일 업로드 및 메인 README파일에 링크 정리**
...
README.md <- 여기에 발표 주제 정리 링크 모아두기
RULES.md <- 규칙 넣어놓기
TOPICS.md <- 선택 가능한 주제들
project/ < md 파일 정리
리스트
1. ~~Apollo Client 캐시 관리 기법~~
2. ~~Webpack Eject vs Overriding :+1: ~~
3. ~~Redux vs Context API → 어떤 경우에 어느것을 사용할지~~
4. ~~Rest API vs GrahqQL : 우리 프로젝트에서는 어땠는지~~
5. 리액트의 렌더링 최적화 방법
6. passport 동작 과정? 왜 사용하는지
7. express의 필수 미들웨어 → 옵션, 왜 사용하는지, 어떻게 동작하는지(?)
8. ~~Apollo 프로젝트 셋팅 과정? (codegen, apollo client + server 세팅, 절대경로)~~
9. ~~graphql subscription 동작 원리~~
10. ~~graphql useQuery 동작 원리~~
11. ~~RDBMS VS NOSQL + (왜 우리 프로젝트에 NOSQL이 적합한지)~~
12. NGINX 설정 & 동작
13. 리액트의 다양한 상태관리 방법 및 장단점?
## 수요일 멘토님 발표
### B팀
- 실제로 동작 하는 것인지?
- 배포까지 함
- 정해진 시간을 투입? 아니면 사용하는 시간은 알아서?
- 코어 타임
- 진행하면서 세부적으로 과제를 나눔, 듀데이트 맞추지 못한 경우. 그리고 어떻게 해결했는지
- 미리 끝난 사람이 도와줌
- 도움을 직접 요청?
- 요청 후 페어코딩
- 캘린더를 통해서 관리. 따라서 팀원의 작업 현황을 파악할 수 있었음
- 발표할 때 graphQL, subscription, 개발자라고 관련 지식을 모르면 모를수 있음. websocket을 통한 통신이다 정도로 설명하면 좋음
-
### A팀
- 경로 탐색 지도 컴포넌트 제공?
- 경로 자체는 구글 API에서 사용?
- 다양한 기술을 사용했는데 ㅇ미ㅣ 사용해본 적이 있는지? 아니면 공부를 하고 나서 개발을 한건지.
- 발표는 확실히 준비가 많이 되어 있음.
### C팀
- 마지막 조는 직접 시현 하셔서 :+1:
- 알림이 여러 운정자에게 가서 한명만 잡는데, 여러명 중에 한명만 매칭되도록 보장을 어떻게 했는지
- 데이터베이스에 업데이트. 따라서 확인해서 요청을 받음
- 실제로는 데이터를 조회하는 과정하고 업데이트 하는 과정이 분리되어 있어서 정확성이 떨어질 수 있다고 생각
- 하지만 멘토님이 전처리 정도 까지만 해보라고 피드백을 주심.
- expire time? 운행중 상태가 남아있을 수 있을 것 같은데. 잘못 라우팅이 될 수 있다고 생각
- 생각을 했지만 시간이 부족해서 그 부분까지는 개발하지 못함.
- 운전자 탑승자 둘 중 한 화면이 떠있다면 가정하에 진행
- 그러면 어떻게 처리?
- 실제로 서비스가 둘다 끊겼다고 하더라도 진행중인 서비스이기 때문에 만나려고 하는 목적이 있기 때문에 그런 상황이 발생하지 않을것이라는 가정하에 진행했습니다.
- 온라인으로 협업 해보니깐 어떤지?
- 비교는 못하지만 (오프라인으로 못해서)
- 오프라인이 더 효율적이지 않을까?
- 코어 타임은 카메라를 무조건 켜놓고 진행
- 카메라 켜놓고 하는것을 다들 오케이?
- 같이 정해서 진행했음
- 딴짓 못하겠네요ㅋㅋ
- 한시간 iteration은 실무에서 난리난다 ㅋㅋㅋㅋ
- 감시를 잘 하셨네요
- 3개조에 4분씩 있음
- 멘토님이 조장 뽑아달라고 하심
## 멘토님 피드백
찌라시
상점, 전단시,
포르아니에서 API로 쏴줌
그러면 디비에 저장되고, 서비스에서 그 디비를 보고 있음
자체적으로 정보를 등록할 수 있는 API를 만들 계획
서버가 nest js -> express js를 기반으로 만듬
인턴 뽑을때 기준이 바로 입사가 가능한 분
인턴 온라인?
## 땅땅땅 월요일 네트워킹데이 💭
발표자: 김학준, 김종은
질문봇: 오지훈, 조찬영
내일 할 것
- 데모 영상 다시 찍기 + 목소리랑
- 마지막으로 데모 연습 + 피피티 픽스
- 데모 다시 찍기
- 리드미 수정
다른 event는 pubsub에서 거른다
mongoose ORM을 사용하지 않는다면 중복 같은 것을 처리하는 방법 생각한게 있는지?
mongoDB 자체로 해결하는 방법이 있을 것 같음
우리가 프로젝트에서 mongoDB를 사용한 이유
mongoDB의 위치 계산 + 실시간 대용량 데이터 읽기
기본적으로 제고하는 method 사용
store가 model 느낌?
리덕스를 도입할 때 주저하게 만드는 장벽들
naver d2