랜손챗 - 채팅 애플리케이션 개발 시작

최대 1 분 소요

개요

저는 현재 공모전을 준비하면서 애플리케이션을 개발 중입니다. 팀을 이루어서 진행하고 있으며 백엔드 파트를 맡아 개발 중인데, 개발을 하면서 여러 우여곡절을 겪었고 새롭게 도전해보는 것들이 많았기 때문에 기억에 오래 남기고 싶고 다른 분들에게 관련 내용들을 공유하고 싶어서 프로젝트 진행 중에 생긴 (백엔드) 이슈들에 대해 정리해보려고 합니다.

👋 랜손챗(RandHand-Chat)

image

랜손챗랜덤 으로 의 제스처를 인식하여 동일한 제스처를 입력한 임의의 사람과 채팅을 매칭 시켜주는 채팅 애플리케이션입니다. 사람의 손은 손가락 각각의 마디를 통하여 다양한 제스처를 만들 수 있습니다.

애플리케이션 생명주기

저희 프로젝트에서 계획한 애플리케이션의 생명주기는 다음과 같습니다.

  1. 사용자가 애플리케이션에 접속
  2. 카메라를 통해 사용자의 손을 인식
  3. 손 제스처를 수치화한 데이터 추출
  4. 다른 사용자 데이터들과의 유사도 파악 및 군집 형성
  5. 동일한 제스처 발견 시 랜덤 채팅 매칭
  6. 채팅 애플리케이션에서 제공하는 간단한 기능들 제공(프로필, 채팅, 친구, 차단 등)

프로젝트 구성

3인으로 구성된 팀에서 각각의 역할을 분배하여 프로젝트를 구성하고 있습니다.

분야 & 기술 스택

  • Android: 코틀린, Android Studio를 이용한 채팅 애플리케이션 제작
    • Kotlin, Android
  • handDetection: 오픈 소스 MediaPipe 프레임워크를 이용한 제스처 인식, 데이터 전처리, 군집 형성
    • Python, Mediapipe, opencv, numpy
  • Backend: 애플리케이션에 사용되는 백엔드 서버 구성
    • Spring Frameworks, MSA, AWS, CI/CD, Kafka, RabbitMQ

Github

댓글남기기