Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Epic#30] 채널에 참여인원이 몇명인지 확인할 수 있다. #81

Closed
2 tasks done
happydhKim opened this issue Dec 2, 2019 · 0 comments
Closed
2 tasks done
Assignees
Labels
🐣Feature 새로운 기능을 추가할 때 사용하는 라벨
Milestone

Comments

@happydhKim
Copy link
Collaborator

happydhKim commented Dec 2, 2019

[Epic#30] 채널에 참여인원이 몇명인지 확인할 수 있다.

  • 채널에 입장한 사람들이 몇명인지 확인할 수 있어야 한다.

완료 조건 ✅

  • 채널에 사람인원을 표시해줄 Input이 필요하다.
  • 채널에 입장한 사람들을 실시간으로 확인할 수 있다.

관련 이슈 📎

관련 이슈 없음

레퍼런스 📚

레퍼런스 없음

@happydhKim happydhKim added the 🐣Feature 새로운 기능을 추가할 때 사용하는 라벨 label Dec 2, 2019
@happydhKim happydhKim self-assigned this Dec 2, 2019
@devphilip21 devphilip21 added this to the Sprint - 04 milestone Dec 2, 2019
happydhKim added a commit that referenced this issue Dec 3, 2019
Why
- 채널 정보에 몇명이 접속해 있는지 나타내는 컴포넌트가 필요하다.

What
- 채널 타이틀 아래 몇명이 있는지 나타낼 수 있는 People 관련 컴포넌트 구현.
- 사람 모형의 이모지인 people.svg를 public 폴더에 추가.
happydhKim added a commit that referenced this issue Dec 4, 2019
Why
- 채널 내 유저를 카운팅 하기 위해 새로운 channel 칼럼이 필요하다.

What
- 유저를 카운팅 하기 위해 새로운 mutation을 생성.
- 유저를 카운팅 하기 위해 channel에 새로운 컬럼 usercount를 생성.
- 유저를 카운팅 하기 위해 새로운 hook을 생성.
happydhKim added a commit that referenced this issue Dec 4, 2019
Why
- 사용자가 채널을 나가는 순간을 캐치해야지 count가 가능하다.

What
- beforeunload 이벤트를 사용할 수 있도록 공통 component에 파일 생성.
- beforeunload를 사용할 수 있도록 코드 구현.
happydhKim added a commit that referenced this issue Dec 4, 2019
Why
- 사용자가 채널에 나가고 들어올 때, 총 인원을 갱신해줘야 한다.

What
- channel 스키마에 userCount 수정 ( number -> Int )
- 인원갱신 mutation을 사용하기 위한 hook 생성. ( useSetUserCount )
- 들어오고 나가는 순간을 hook으로 구별해 갱신함.
- 전역 페이지에 channel을 생성. (PLUS, MINUS)
happydhKim added a commit that referenced this issue Dec 4, 2019
Why
- 채널 내 사용자를 숫자로 카운팅 하면, 처리가 불가능하다.

What
- 채널 내 사용자의 아이디 값을 배열로 저장해서 누가 나갔는지 확인할 수 있도록 구현.
- 채널 스키마를 수정.
happydhKim added a commit that referenced this issue Dec 4, 2019
Why
- 스키마 오류로 채널 초기에 데이터를 불러오지 못해 재설계가 필요함.

What
- 스키마 재설계를 했지만, 급한 다른 작업이 생겨 작업 일시 중단.
happydhKim added a commit that referenced this issue Dec 4, 2019
Why
- 임시 저장을 해둬야 한다.

What
- 우선시 되는 채널 작업을 위해 중단을 하고 임시 저장을 한다.
@aereeeee aereeeee moved this from To do to In progress in Sprint - 04 🏃‍♂️ Dec 5, 2019
@devphilip21 devphilip21 moved this from In progress to Timeout in Sprint - 04 🏃‍♂️ Dec 9, 2019
happydhKim added a commit that referenced this issue Dec 9, 2019
Why
- 채널 내 인원 카운트를 ws으로 처리하기 곤란해 브라우저 이벤트를 사용해야 한다.
- 하지만 간혹 이벤트가 작동이 안되는 경우가 있어 다른 ws방안을 고려 해야 한다.

What
- useBoforeunload 이벤트를 연동.
- 테스트를 진행 했으나 불안정.
happydhKim added a commit that referenced this issue Dec 10, 2019
Why
- 새롭게 배포된 버전으로 업데이트를 해야 한다.

What
- 최신 버전으로 업데이트.
happydhKim added a commit that referenced this issue Dec 11, 2019
Why
- 최신으로 업데이트 된 파일과 합쳐서 작업을 해야 한다.

What
- 최신 버전의 develop 브랜치와 병합.
happydhKim added a commit that referenced this issue Dec 12, 2019
Why
- 최신버전의 코드로 업데이트 해야 한다.

What
- 최신버전 develop 코드로 업데이트.
happydhKim added a commit that referenced this issue Dec 16, 2019
Why
- 최신 버전으로 동기화 해야 한다.

What
- 최신 버전의 devleop으로 동기화.
happydhKim added a commit that referenced this issue Dec 16, 2019
Why
- listener list typedefs를 재정의 해야 한다.

what
- listener list typedfs 재정의.
happydhKim added a commit that referenced this issue Dec 16, 2019
Why
- 데이터베이스를 이용해 유저 수를 관리해야 한다.
- app.js에서 ApolloServer를 이용해 구현해야 한다.

What
- subscriptions 을 이용해서 onConnect 와 disConnect를 이용해 구현한다.
- 클라이언트에서 Entrance에 listenerList를 추가했다.
happydhKim added a commit that referenced this issue Dec 17, 2019
Why
- 채널 내 사용자 카운트를 동기화 시켜야 한다.

What
- useListenerListChanged 훅을 사용해서 동기화를 적용.
- apollo-server app.js 에서 pubsub을 통해서 통신함.
- app.js 리팩토링을 해야함. 데이터베이스를 app.js에서 직접 사용함.
happydhKim added a commit that referenced this issue Dec 17, 2019
Why
- 최신버전의 코드로 동기화를 시켜야 한다.

What
- 최신버전의 develop 코드로 동기화.
happydhKim added a commit that referenced this issue Dec 17, 2019
Why
- 중복되는 부분을 함수로 빼내야 한다.

What
- 중복되는 부분을 모두 함수로 뺴냄.
happydhKim added a commit that referenced this issue Dec 17, 2019
Why
- app.js가 방대해져서 분리를 해야 한다.

What
- socket 로직을 분리해서 webSocket폴더로 이동.
- 유저를 카운트 하는 부분을 빼내서 관리.
- 채널 스피커의 입장을 확인하는 로직을 뺴내서 관리.
happydhKim added a commit that referenced this issue Dec 17, 2019
Why
- 코드를 최신버전으로 동기화 해야 한다.

What
- 최신버전의 develop 코드로 업데이트.
happydhKim added a commit that referenced this issue Dec 17, 2019
Why
- 가독성을 높이기 위해 줄을 띄워줄 필요가 있다.

What
- 가독성을 높이는 빈줄 추가.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐣Feature 새로운 기능을 추가할 때 사용하는 라벨
Projects
No open projects
Development

No branches or pull requests

2 participants