Group 2839 (1).png

<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/7a1ddf9e-142f-424a-8f5b-c6d3ef95c3ed/c3c91d9e-5849-4c62-a5a2-0aa7879817a3/MatchingManager.png" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/7a1ddf9e-142f-424a-8f5b-c6d3ef95c3ed/c3c91d9e-5849-4c62-a5a2-0aa7879817a3/MatchingManager.png" width="40px" /> "Matching-Manager" 는 스포츠 경기 매칭, 경기장 추천, 용병 모집을 도와주는 스포츠 매칭 플랫폼입니다.

</aside>

<aside> <img src="/icons/chess-king_gray.svg" alt="/icons/chess-king_gray.svg" width="40px" /> 담당 역할 : 팀장

</aside>

<aside> <img src="/icons/meeting_gray.svg" alt="/icons/meeting_gray.svg" width="40px" /> 협업 툴 : Git, GitHub, Slack, Notion, Figma

</aside>


LINK

<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/7a1ddf9e-142f-424a-8f5b-c6d3ef95c3ed/716f70e1-521b-4ccd-9cdb-900849bbfa10/46a76c802176eb17b04e12108de7e7e0f3736dc6-1024x1024.webp" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/7a1ddf9e-142f-424a-8f5b-c6d3ef95c3ed/716f70e1-521b-4ccd-9cdb-900849bbfa10/46a76c802176eb17b04e12108de7e7e0f3736dc6-1024x1024.webp" width="40px" /> **Figma(WIREFRAME)**

</aside>

<aside> <img src="https://cdn-icons-png.flaticon.com/512/25/25231.png" alt="https://cdn-icons-png.flaticon.com/512/25/25231.png" width="40px" /> GitHub Repository

</aside>

<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/7a1ddf9e-142f-424a-8f5b-c6d3ef95c3ed/9feebbdf-580d-4b5a-b97a-2a98f051f030/google-play-logo-C0F8C12322-seeklogo.com.png" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/7a1ddf9e-142f-424a-8f5b-c6d3ef95c3ed/9feebbdf-580d-4b5a-b97a-2a98f051f030/google-play-logo-C0F8C12322-seeklogo.com.png" width="40px" /> PlayStore

</aside>

<aside> <img src="https://cdn.icon-icons.com/icons2/2389/PNG/512/notion_logo_icon_145025.png" alt="https://cdn.icon-icons.com/icons2/2389/PNG/512/notion_logo_icon_145025.png" width="40px" /> Notion

</aside>


Skills


MVVM, Retrofit2(Restful API), RecyclerView, ListAdapter(DiffUtil), ViewBinding, LiveData, AAC ViewModel, SharedPreference, Firebase RealTime DB, FCM, Data Class, Sealed Class, Coroutine, GeoCoding, Dialog Fragment

담당 화면 및 기능


담당 주요 업무


MVVM 구조를 통한 유지보수 및 확장성의 측면에서의 개발환경 개선

기존 상황

해결 및 성과

  1. 초기 앱 구성에서 Clean Architecture를 위한 Layer(UI, Domain, Data) 구성 및 팀원들을 위한 가이드 코드(usecase, repository, impl, model, viewModel, Entity, Mapper 등) 작성
  2. repository 패턴을 적용하여 ViewModel에게 단순한 인터페이스 제공
  3. 옵저버 패턴 및 비즈니스 로직 분리 : View는 View의 역할만 할 수 있도록 비즈니스로직을 뷰모델로 옮기고 데이터의 갱신이 이루어 질때 옵저빙을 통해 뷰를 갱신해주는 동작 구현 + 이후 DiffUtil과 연계

(경기 매칭/용병) 신청 기능 구현 - FCM

Retrofit을 사용하여 FCM 전송로직 구현

Fore/BackGround 데이터 동시적 수신을 위한 투명 Activity구현 : 오류 수정 및 동작 개선

문제 상황

해결

  1. 로그인 이후 투명 Activity이동 → 알림X(Main 화면으로 이동), 알림O(Sharedpreference로 저장 후 Alarm 화면 이동)
  2. FireBaseMessageService(onMessageReceived) + 와 **getExtra**사용해 두가지 상황에서 동시적으로 데이터를 처리할 수 있게 함