WIL
이노베이션 캠프 8,9,10주차
yougeun
2022. 8. 28. 22:33
728x90
1. 서비스 설명
마지막 프로젝트인 실전 프로젝트가 시작되었다. 우리 조는 위치기반 스포츠 매칭 서비스인 match-gi를 기획했다. 카카오 맵을 활용 하여 현재 위치 근처에 있는 매칭들을 찾을 수 있어 편리함을 제공해주었다. 그리고 다른 스포츠 매칭 서비스와 달리 경기가 끝난 후 경기 결과를 기록할 수 있어 매칭을 할 때 더욱 다양한 정보를 제공해주고 매칭 하기로 약속한 사람들끼리 실시긴 채팅을 함으로써 더욱 구체적인 계획을 세울 수 있게 해 주었다.
2. 새로운 기술
실시간 채팅을 구현하기 위해 websocket과 stomp의 pub/sub기능을 활용하였다. 그리고 채팅을 하면 DB에 부하가 많이 일어나므로 채팅 내역들을 redis에 저장하였다가 채팅을 보여주는 api가 호출될 때 redis에서 db로 데이터들을 옮겨주고 보여주는 형식으로 구현하였다. 그리고 실시간 알람도 구현하였는데 쓴 게시글에 다른 사람이 참가신청을 하거나 경기 가 끝난 후 경기 결과가 정해지면 웹소켓의 convertandsend함수를 이용하여 서버에서 클라이언트로 알람을 전달해 주었다.
3. 추후 계획
현재 작성자가 경기를 끝낸 후 경기 결과를 혼자서 처리하게 되는데 이 경우 어뷰징이 일어날 수 있기 때문에 최대한 방지하는 방법을 만들 것이다. 그리고 github action을 통한 CI/CD를 구현하고 유닛 테스트부터 통합 테스트까지 테스트 코드를 작성 할 예정이다.
728x90