- [셸위:게임 친구 매칭 사이트] 최종 정리2024년 09월 25일
- Song hyun
- 작성자
- 2024.09.25.:48
728x90반응형[셸위:게임 친구 매칭 사이트] 최종 정리
1. 프로젝트 개요
2. 프로젝트 업무 분담
3. 내가 맡은 역할
4. 프로젝트 회고
5. PPT, 깃허브, 노션 주소
1. 프로젝트 개요
(1) 주제 정하기
-이번 파이널 프로젝트의 주제는 "Springboot와 MyBatis를 사용한 웹 사이트 만들기"였다. 대신 사회적인 문제를 해결하거나, 기존의 불편한 점들을 해결할 수 있는 웹사이트여야 했다.
-우리 조에는 게임을 즐겨 플레이하시는 분들이 많았다. 그래서 다들 관심있어하시는 주제인 "게임"으로 결정!
(2) 왜 게임 MBTI인가?
-게임과 관련된 웹사이트들을 찾던 중, 우리는 "게임 통합 플랫폼"이 없다는 사실을 알게 되었다. 대부분의 게임 플랫폼들은 특정 게임에 특화되어 있었고, 그런 특징 때문에 게임에 대해 전문적인 지식이 없는 사람들에겐 다소 진입장벽이 높았다.
-최근 유행하는 아이템인 MBTI. 게임 플레이 성향과 MBTI를 결합해, 게임에 관심있는 사람이라면 누구나 즐길 수 있는 사이트를 만들어보자! 가 우리의 목표였다.
=> 주제 : 게임 플레이 성향 MBTI를 활용한 친구 매칭 사이트
=> 핵심 기능 :
1. 게임 플레이 성향 MBTI 테스트
2. MBTI와 MBTI 궁합도에 기반한 친구 매칭
3. 실시간 1:1 채팅
4. 누구나 게임 코칭을 할 수 있는 강의 시스템과 수익 환전 기능
5. 실시간 광고 배너 관리 기능
=> 수익 모델 :
1. 강의 수익 환전 시 수수료
2. 광고 배너를 통한 광고 수익
=>프로젝트 제작 기간 : 약 6주
2. 프로젝트 업무 분담
-우리 조는 모두 백엔드를 하고 싶어했다. 그러다보니, '프론트엔드, 디자인에 소홀해지더라도 모든 조원이 백엔드 쪽으로 집중할 수 있게끔 방향성이 잡혔다. 또 각자 집중하고 싶은 방향성이 다르다보니, 거기에 맞게 역할이 배분되었다.
-무엇보다 각자 핵심 기능을 하나씩 구현해볼 수 있었던 점이 만족스러웠다.
이름 역할 업무 내용 엄송현 팀장 (유저) MBTI 테스트 로직 및 기능 구현
(유저) 뉴스 및 공지 게시판 구현
(유저, 관리자) 결제 및 결제 취소 관리 기능 구현
(관리자) 서브몰(강사) 신청 및 입점관리 기능 구현
(관리자) 지급정산 신청 및 관리 기능 구현도준영 팀원 (유저)로그인 / 회원가입 및 인증처리 기능
(유저)문의 게시판 구현
(유저)내 강의 관리 기능 구현
(관리자)관리자 로그인 기능 구현송원석 팀원 (유저) mbti 를 활용한 유저간의 매칭 시스템
(유저) 웹소켓을 활용한 1대1채팅 , 단체 채팅방
(유저) 웹소켓을 활용한 알림 시스템
(유저) 친구 추가,삭제,요청 기능
(유저) 채팅 로그 기록, 저장 을 활용한 신고 시스템이건우 팀원 (관리자) 광고 및 배너 관리, 광고 순환로직 기능 구현
(관리자) 카테고리 관리 기능 구현
(관리자) 게시판, 댓글 관리 기능 구현
(관리자) 대시보드 페이지 구현
(관리자) 고객 지원(QnA) 기능 구현
(관리자) 강의 관리 기능 구현최이제 팀원 (유저) 커뮤니티 게시판 구현
(유저) 게임 강의 게시판 구현
(유저) 회원 정보 수정 기능
(유저) 결제 취소 신청 기능
(유저) 강의 수익 환전 신청 기능
3. 내가 맡은 역할
이름 역할 업무 내용 엄송현 팀장 (유저) MBTI 테스트 로직 및 기능 구현
(유저) 뉴스 및 공지 게시판 구현
(유저, 관리자) 결제 및 결제 취소 관리 기능 구현
(관리자) 서브몰(강사) 신청 및 입점관리 기능 구현
(관리자) 지급정산 신청 및 관리 기능 구현-내가 맡은 역할은 위와 같았다. MBTI 테스트를 제외하면 대개 결제와 관련된 부분들이었다.
-처음에는 결제 취소, 환전(지급 정산) 기능만 맡았는데... 핵심 기능 구현에 소요되는 시간이 생각보다 길어져, 비교적 일정이 널널했던 내가 뉴스, 공지 게시판/결제 기능을 도맡아 구현하게 되었다. 결과적으로는 API 사용에 대해 많이 공부할 수 있어서 좋았다.
4. 프로젝트 회고
(1) 무엇보다도 모든 분들이 최선을 다했고, 성장한 것 같아 좋았다.
기본기에 충실한 기능, 창의적인 기능. API를 사용해야 하는 기능, 자바스크립트를 사용해야 하는 기능 등등. 각자가 원하는 기능을 하나씩은 구현해보았고, 나 역시 평소에 써보지 못한 API를 사용해 이번 기회에 많은 공부를 할 수 있어 좋았다. 어려운 기능이 있을 때마다 서로 도와주고, 함께 공부한 것이 정말 만족스러웠다.
(2) 특히나 나는 JS와 Fetch를 평소에 많이 어려워 했었는데... 이번 기회에 비동기 통신을 다뤄볼 수 있어, JS가 비교적 친숙해지지 않았나 싶다. 이번 기회를 통해 Fetch에 대해 많은 흥미를 가지게 된 것도 좋았다. 이번 기회를 토대로 JS와 그걸 활용한 라이브러리들(리액트, 뷰, 노드 등등)에 대해서도 많이 공부해봐야겠다고 느끼기도 했다.
(3) 작년의 나는 교수님께 '너는 끈기가 없다'라는 말을 들었었는데... 그 말을 듣고 정말 큰 충격을 받았었다. 그래서 2024년에는 끈기 있는 사람이 되고 싶다고 다짐했었다.
이번 결제 API를 사용한 현금 결제 기능은 이번 프로젝트 중 내게 가장 어려운 기능이었다. (구현하고 나니 엄청 간단했지만....) 카카오페이 결제 API를 구현한 뒤에도, 오류로 인해 토스 페이먼츠 결제 API가 구현되지 않은 상태였는데... 올해 초의 다짐을 계속 떠올리며 다른 사람들은 어떻게 구현했는지, 토스 페이먼츠 API에서는 어떤 값을 요구하고 어떤 로직으로 동작하는지, 그렇게 해도 풀리지 않는 문제들은 토스 페이먼츠 개발자 커뮤니티에서 개발자 분들께 여럿 여쭤보며 포기하지 않고 구현하려 노력했다. 오류를 붙잡고 하루종일 씨름한 날에는 집에 가서도 그 생각만 났다.
그 덕분인지 토스 페이먼츠를 사용한 결제 기능은 성공적으로 구현할 수 있었다. 일주일 내내 결제 기능과 씨름한 뒤여서인지는 몰라도, 결제 취소/서브몰 생성/지급정산은 훨씬 쉽게 느껴졌다. 남들이 쓴 코드를 무작정 베껴 쓰지 않고, 내 나름대로 포기하지 않고 스스로 코드를 쓴 것이 뿌듯했다.
(4) 지급 정산 기능도 꽤 기억에 남는다.
지급 정산을 하기 위해서는 (블로그나 유튜브의 조회수 수익 정산을 떠올리면 비슷할 것 같다.) 먼저 서브몰이라는 객체가 만들어져야 했다. 서브몰은 지급정산을 위해, 정산금을 받을 정보들을 저장해두는 객체인데... 플랫폼 아래의 하위 상점 개념에 가깝다. 또 서브몰을 만든 뒤에는 해당 사이트가 정산금을 줄 돈이 있는지, 잔액을 조회한 뒤에, 서브몰에 정산금을 지급하게끔 되어있었다.
결제, 결제 취소야 이전에 구현하고, 블로그에 글을 작성해두신 분들이 많이 계신 덕에 정보를 얻는 게 수월했다. 하지만 서브몰이나 지급 정산 같은 경우에는 정보가 적었다. 그래서 어떤 보안 처리가 필요한지, 현업에서는 어떤 식으로 로직이 구성되는지 궁금했다.
그래서 지급 정산과 관련한 기사나 블로그 글, 토스 페이먼츠 외의 다른 API를 찾아보던 중 '큐텐 사태'가 기존의 지급 정산 방식에 큰 영향을 일으켰고, 이로인해 새로운 법안이 발의되었으며, 새로운 법안이 적용된다면 기존의 소형 플랫폼들은 토스 페이먼츠 지급 정산 API를 사용하기는 힘들다는 사실을 알게 되었다. (정확하게는 해당 API를 사용하면 보안, 해킹 방지를 위한 추가적인 비용이나 인력이 더 들어가게 된다. 그런데 보통의 소형 플랫폼들은 그럴만한 여력이 되지 못한다고 한다.)
시간적인 여력으로 인해 사용하지는 못했지만... 그런 경우와 조건들을 고려한다면 포트원 API를 사용하는 쪽이 더 낫지 않겠나 싶은 생각도 해봤고, 토스 페이먼츠 개발자 커뮤니티에 질문글을 남겨, 실제 지급 정산 기능은 어떤 절차대로 처리되는지 여쭙기도 했다. 내가 생각한 절차와 비슷하지만 KYC 정책 강화로 인해 본인 인증 등의 추가 인증이 필요하다는 걸 알게 되었다.
하나의 기능을 구현하는 것이지만, 처음 생각한 것 보다도 고려해야할 것이 많다는 걸 느끼게 되었고, 개발할 때 기능적인 면 외에도 생각해봐야 할 것이 무궁무진하다는 것 역시 알게 된 기능이었다!!
5. PPT, 깃허브, 노션 주소
(1) 깃허브
https://github.com/Greenery367/shallwe_project
(2) 노션
셸위: 게임 친구 매칭 사이트 (notion.site)
(3) 영상
https://www.youtube.com/watch?v=XGrV_bXjmmg
(4) PPT
728x90반응형'💡My project > 셸위 : 게임 친구 매칭 사이트' 카테고리의 다른 글
[셸위:게임 친구 매칭 사이트] 카카오 페이 API - 결제 기능 (0) 2024.09.25 [셸위:게임 친구 매칭 사이트] 토스 페이먼츠 API - 결제 기능 (0) 2024.09.25 [셸위:게임 친구 매칭 사이트] 부일기획 멘토링(9.6) (0) 2024.09.06 [셸위:게임 친구 매칭 사이트] 드롭다운 메뉴 구현 (1) 2024.09.04 [셸위:게임 친구 매칭 사이트] 슬라이드 배너 구현 (4) 2024.09.03 다음글이전글이전 글이 없습니다.댓글