-
Notifications
You must be signed in to change notification settings - Fork 2
11.05 피어 세션
J220_홍한솔 edited this page Nov 5, 2021
·
1 revision
- 소셜로그인
- 아바타 닉네임 설정
- 월드 선택
- -월드 진입
- 월드 내 룸 생성 -> 회의 진행 가능
world들을 각 서버로 구현 master 서버가 각 world들을 제어 현재는 master 서버 = world 서버
- GraphQL & Apollo
- Socket.io
- world 진입 === 서버 선택 ?
- World마다 서버가 할당됨 -> World별로 port번호가 할당되어 있음 -> Master 서버가 해당 서버로 포워딩 해줌
- 도커 적용?
- 아직 하지 않음 2주 후 적용 예정
- 웹 RTC?
- 웹 RTC 사용할 예정 (화상채팅)
- HTTPS 사용할 거
express generator 사용
orm 사용하지 않음
- src
- database
- entity : 인터페이스 정의
- service : 테이블을 사용해서 data를 가져오는 로직들
- graphQl : Appolo 설정
- pre-start : 환경 변수 관련
- routes : graphQl 을 사용하다 보니 거의 사용안함
- shared : 에러 메시지같은 자주 쓰이는 문자열이나 변수
- receive : 서비스 로직과 관련된 type들
- socket : 소켓
- database
- 1:1, 다대다 소개팅 , 미팅 지원
- 프로필 선택 -> 채팅 신청 가능
- 채팅 + 캐치마인드 게임 OR 게더 타운 구현
- 채팅 요청 목록에서 받은 요청을 수락하거나 거절 가능
- 내 정보, 팀 정보 수정 가능
- 매일 데일리 스크럼 -> 코드 리뷰
- 백로그 -> 매일 예상 소요시간을 계산 -> 개발 후 소요 시간을 기록 -> 최대한 맞추려고 함
- 백엔드, 프론트엔드 분리하여 개발하나요?
- 분리해서 개발하고 있습니다.
- 과금 유도 추가하실 생각이신가요?
- 맨 처음에는 생각했었는데 사업자 등록때문에 포기하였습니다.
- 프로젝트 구조를 요약한게 있나요?
- 없습니다 ! 개발에 중점을 두었습니다.
- 다이어그램이 있었으면 좋을 거 같습니다.
아토믹 구조에서는 계층을 5개로 분리하여 사용
개발을 진행하며 계층이 모호해지는 이슈가 발생
폴더를 나누는 건 좋지만 깊이가 깊어지는건 별로라고 피드백 받음
그래서 핸들러, 이벤트 정도로만 분리했음.
오히려 백엔드에서 구조를 나누는게 더 힘들었음
- data-set Or Id 로 분별
- inline - style 때문에 파일이 너무 커지는 issue 발생
- atomic 디자인 사용중 동일한 폴더 내부에서 참조하는 경우 발생
- 하나의 instance에 여러개의 컨테이너를 올릴 예정
- 현재 계획상으로는 배포해놓은 컨테이너를 사용
- 메인 서버가 World 컨테이너의 포트를 제공 해줌
- 클라이언트는 직접 포트를 연결하여 컨테이너와 통신