Skip to content
Younghoon CHOI _^ edited this page May 19, 2022 · 2 revisions

0503 스크럼

회의 주제

  • 요구사항 취합 및 정의
    • 요구사항 우선 순위와 필수,선택적 구현 기능 정의
  • 백엔드 도메인 분류
  • 백엔드 도메인 담당자 선정

요구사항 브레인스토밍

프로그램 요구사항 정의

  • 코인

    • 비회원/회원은 코인에 대한 실시간 시세, 차트, 호가, 거래내역을 볼 수 있다.

    • 웹페이지는 코인을 선택하면 해당 코인에 대한 실시간 차트를 보여준다.

    • 메인 웹페이지에서 채팅방을 클릭하면 해당 코인에 대한 차트와, 우측화면에는 채팅방이 존재하고 각 채팅방으로 접속하여 채팅을 할 수 있다.

      • 비회원은 채팅방에 입력은 할 수 없다.
        • 회원가입 유도
      • 회원은 보이스까지 기능을 제공한다.
      • 채팅방의 제목을 필터링하여 접속 할 수 있다.
      • 채팅방은 제목이 존재한다.
      • 방장은 채팅방의 제목을 수정 할 수 있다.
      • 방장은 채팅방의 인원수를 제한 할 수 있다.
      • (기술적 - Option) 제목필터링 디바운스(프론트)
      • (Option) 각 채팅방은 비밀번호를 사용 할 수 있다.
      • (Option) 채팅 댓글에 좋아요 기능을 사용한다.
      • 방장은 강퇴기능을 사용할 수 있어야 됩니다.
      • (Option) 강퇴후 재접속시간이 존재한다.
    • 기술

      기술적 요구사항

      • TypeScript 언어 사용
      • React custom hook 만들어서 쓰기
      • socket.io를 이용한 실시간 통신
      • 검색 필터링 기능

캔버스 그림그리기 기능

  • 캔버스

    • (Option) 드로잉 캔버스를 차트위에 올리고, 해당 캔버스에 방장이 그림을 그리면 채팅방에 접속한 유저들 화면에 같이 그림이 그려진다.
      • (Option) 기존 트레이딩뷰 차트와 x,y축 연동이 되야한다.
    • (Option)차트에서 실시간 그림을 그린다, 모의 투자기능을 만들자. 비트코인을 100원에 산다고했으면 차트에 표시, 200원에 판다고하면 차트에 표시 코인이 200원에 도달하면 수익률 표시 , 실시간 모의투자기능
  • 회원관리 & 가입

    • 로그인 기능을 제공한다.

    • 회원가입시 이메일 인증 기능을 제공한다.

    • 회원가입시 비밀번호는 SHA-128이상의 암호화를 한다.

    • 회원가입시 아이디의 형태는 이메일 형태로 한다.

    • 해당 사이트에 회원가입 기능을 제공한다.

    • 프로필이미지는 디폴트이미지가 들어간다.

    • 회원가입시 닉네임 중복체크를 진행한다.

    • 마이페이지를 통해 회원정보를 수정한다. (닉네임, 비밀번호, 프로필)

    • 어드민 페이지는 구현하지 않는다.

    • (기술적) 비밀번호 유효성은 담당자와 얘기

    • (기술적) 프로필 이미지는 s3를 이용한다.

    • (기술적) 로그인은 JWT를 활용한다.

    • (Option) 회원탈퇴 기능

      • (기술적)soft delete(flag)
    • (Option) 자동가입 방지 기능(리캡챠)을 제공

    • (Option) 프로필 이미지 등록 기능을 제공

      • (기술적 - option) 파일 확장자, 사이즈 제한 (5mb), 사이즈 옵티마이즈는 어디서?
    • (Option)회원은 Oauth를 통한 카카오 계정 가입, 자체 회원가입 기능을 제공한다.

      • Oauth를 통해 가입할 경우 별도의 회원가입 절차(이메일 인증등)는 완전히 생략한다.
    • (Option) 회원 인기도 기능 / 추천 기능 /


    기술적 요구사항

    • JWT를 이용한 로그인
    • OAuth 2.0을 이요한 소셜 로그인
    • 권한부여에 따른 기능의 접근 제한
      • 회원가입한 사용자만 채팅방을 만들 수 있다.
      • 회원가입한 사용자만 음성채팅 기능이 활성화 된다.
    • 회원가입, 로그인, 로그아웃, 마이페이지, 회원탈퇴 기능 구현
    • 회원가입, 로그인 및 회원정보 수정 시 유효성 검사
    • 회원 탈퇴나 리소스 삭제시 확인(confirm) 모달 제공
    • 소셜 로그인 외 서비스 자체 회원가입 기능 제공
    • 회원가입 없이 '체험하기' 형식으로 가볍게 기능을 이용할 수 있는 장치 마련
    • 마이페이지를 통해 사용자 개인정보 수정 기능 제공
    • (소셜 로그인이 아닐 경우) 비밀번호 수정 기능 제공
    • 라이브러리를 사용하지 않고 React 컴포넌트 직접 작성 (유어클래스에서 다룬 것: 탭, 드랍다운, 모달 등)
    • S3로 파일 업로드
    • reCAPTCHA 사용
  • 채팅방

    • 익명, 회원은 각 코인에 대한 채팅방에 접속할 수 있다.

    • 익명 접속자는 닉네임 익명을 가진다.

    • 채팅방을 만든 사람은 방장 권한을 가지게됩니다.

    • 채팅방에 접속한 모든 사용자는 채팅 메세지 보기와 보이스 듣기 기능을 사용할 수 있습니다.

    • 회원은 채팅 메세지 보내기와 보이스 말하기 기능이 활성화 됩니다.

    • 보이스 듣기/말하기 기능은 On/Off 기능을 제공합니다.

    • 채팅방 이름을 필터링하여 검색 할 수 있습니다.

    • (option) 채팅방에 비밀번호 기능을 구현합니다( 공개방, 비공개방 )

    • (option) 방장은 방에 들어온 유저를 추방시킬 수 있습니다.

    • (option) 채팅 메시지 가리기/삭제 기능을 제공한다.

    • (option) 검색 필터링에 퍼지 기능 바나나 버나나 / 엘라스틱 서치?


    • 기술적 요구사항
      • socket.io를 이용한 실시간 통신
      • 검색 필터링 기능
      • 퍼지(fuzzy) 검색
      • 모바일 환경 대응 및 반응형 웹

    관리 측면 요구사항

  • 카프카

    • 클라우드 서버에 카프카와, 슬랙 서버를 구축한다.
      • 슬랙 서버가 카프카를 구독하는 형태이다.
    • 에러 메시지가 토픽별로 저장되고, 해당 메세지는 슬랙을 통해 전달 받는다.
    • 프론트 에러는 고민을 해본다.
  • 게이트웨이

    • 인증(Authentication)과 인가(Authorization)
    • JWT를 parsing해서 회원정보를 확인 후, 각 MSA로 라우팅 처리한다.