Skip to content

Latest commit

 

History

History
174 lines (146 loc) · 9.98 KB

File metadata and controls

174 lines (146 loc) · 9.98 KB

BooBit



대용량 트래픽을 처리하는 실시간 트레이딩 서비스 구현을 목표로 합니다.

BooBit 배포 사이트   |   BooBit 팀노션   |   BooBit 팀피그마


🧪 테스트 계정
ID: test@naver.com
PW: test1234



Category Stack
Common
Frontend
Backend
Deployment
Collaboration


🏛️ 아키텍처



🚀 프로젝트 핵심기능

1️⃣ 입출금

유저는 원하는 만큼 원화와 코인을 입출금합니다.
입출금 페이지 내역으로 입출금 시간과 금액을 확인합니다.



2️⃣ 실시간 매수, 매도

다른 유저들과 실시간 코인 거래 서비스를 제공합니다.
보유 자산에 따라 수량과 가격을 입력하거나 호가창을 클릭해 가격을 입력할 수 있습니다.



3️⃣ 실시간 차트, 호가, 체결 내역

실시간 데이터인
최신 차트, 호가, 체결 내역을 나타냅니다.





🏃‍♀️ 프로젝트 핵심 경험

FE

MSW

MSW(Mock Service Worker)는
서버가 준비되지 않아도 API 요청을 가로채고 모의 응답을 제공하는 도구로,
웹소켓 환경까지 설정할 수 있어 서버 연결 전에 개발을 진행할 수 있습니다.
이를 통해 개발 일정이 딜레이되지 않고 원활하게 진행될 수 있습니다

웹소켓 연결 시점과 컴포넌트 렌더링 타이밍 불일치로 인해
INIT 이벤트가 처리되지 않은 문제는, useEffect를 사용해
컴포넌트 렌더링 후 웹소켓 연결을 보장함으로써 해결되었습니다.

useInfiniteQuery와 Intersection Observer API를 사용해 무한 스크롤을 구현해
데이터를 자동으로 로드하고 페이지 성능을 개선할 수 있었습니다.
이를 통해 사용자 경험을 크게 향상시켰습니다.



BE

gRPC

gRPC(Google Remote Procedure Call)는
마이크로 서비스 간 바이너리 데이터 통신을 지원하는 프로토콜입니다.
REST에 비해 빠르고 타 서비스의 리소스를 로컬 리소스처럼 사용할 수 있습니다.

k8s

Git Action을 이용하여 변경 사항을 확인하여
빌드가 필요한 서비스들만 새롭게 빌드하여
배포할 수 있는 시스템을 구축하는 경험을 하였습니다.
변경사항 모니터링은 Git Action을, 빌드 자동화 및 이미지 업로드 자동화는
NCloud의 SourceBuild를,
배포는 Kubernetes를 사용하였습니다.

도커 컴포즈 파일로 몽고 디비 레플리카 셋을 생성하고
세컨더리 노드를 생성해 데이터 가용성을 높였습니다.



🧑‍🧑‍👧‍👧 팀 소개

J070 김태래 J100 박경희 J159 유건욱 J229 정지혜
BE
FE
BE
BE