정글사관학교 개발일지/나만의 무기(정글)

나만의 무기 프로젝트 소개: 런칫챗(Lunchit-chat)

Woonys 2022. 1. 21. 02:28
반응형
소셜 개더링(social gathering)을 위한 사내/외 직장인 대상 1대1 블라인드 런치 톡 서비스

 

1. 프로젝트 개요: 관심사 기반 매칭 방식의 블라인드 데이팅 앱

  • 사내/외 구성원을 대상으로 점심 약속(식사 or 커피챗)을 주선해주는 매칭 기반 블라인드 데이팅 서비스
  • 기본 골조는 데이팅 앱 형식(틴더 참조)을 따름.
  • 데이팅 앱은 아니기에 성별 기반 매칭은 하지 않음(남남/여여/남녀 모든 조합 가능)

 

1) 가입

  • 이메일 인증 방식으로 가입 구현(앱 특성상 회사 이메일 인증 필수) - 해당 회사 인증해야만 가입 가능
  • 인증을 완료하면 프로필 설정으로 넘어감.
  • 자신을 직접적으로 드러내는 사진/이름은 설정할 수 없으며 대신 간접적으로 관심사/취향을 사전에 입력 ->추후 추천 시스템 알고리즘에 반영할 계획
    • 관심사: 고양이/개발/스타트업 등 / MBTI 등 성향
  • 프로필 상단에는 요즘 자신의 고민/생각/하고 싶은 말을 적을 수 있음.
    • "이직, 커리어 성장"등 중요한 고민부터 "고양이가 너무 좋아서 탈이예요" 등 캐쥬얼한 이야기까지 다양하게 적기 가능

대략적인 프로필 개요 / NADA 앱 참고

 

2) 로비

  • 로비에는 추천 시스템 기반으로 정렬 기능 구현
  • 추천 시스템에는 다양한 factor를 기반으로 정렬할 예정(위치 계산, 마지막 접속 시간, 관심사 등)

 

3) 매칭

  • 서로 좋아요를 눌렀을 때 매칭
  • 매칭이 성사되면 채팅방이 오픈됨

 

4) 채팅

  • 실시간 채팅 기능

 

2. 프로젝트 목표

기획 의도에 부합하면서도 난이도 있는 기술 구현을 통해

 

1) 협력사 관심 제고

2) 구성원들의 성장에 기여

 

을 주고자 하는 것이 본 프로젝트의 목표입니다.

이를 위해 본 프로젝트에서 구현하려는 핵심 기술은 아래와 같습니다.

 

  • 매칭 알고리즘 - 추천 시스템 기능
    • 다양한 factor - 회사 위치, 관심사, 최근 접속 시간 및 당시 위치 등을 기반으로 정렬 알고리즘 구현
    • 알고리즘을 어떻게 구현할지에 따라 기술 난이도가 판이하게 달라질 것으로 예상(핵심 feature가 될 것!)

 

  • 위치 기반 거리 계산 기능
    • 사외 직장인 간 매칭시 사용할 factor 중 하나로 현재 위치 중심으로 접속한 상대방 기기 간 거리 계산 기능
    • 그래프 이론..?을 참고해볼 생각인데 이것도 챌린징할 것 같습니다.

 

  • 실시간 채팅 기능

이외에도 어떤 아이디어를 구현하냐에 따라 충분한 기술적 챌린지를 만들 수 있을 것으로 보입니다.

 

3. 예상 기술 스택

 

  • Back-end: NodeJS - Express 프레임워크
    • 장점
      • 자바스크립트를 이용해 서버 단 로직 구현 가능(백엔드 인원이 많더라도 자바스크립트를 기반으로 프론트/백 왔다갔다하며 작업 가능
      • 싱글 스레드 기반 비동기 I/O 처리 -> 고성능!(참조 글 1/  참조 글 2)
    • 단점
      • 서버 로직이 복잡하면 콜백 늪에 빠질 염려가 있음(매칭 알고리즘 구현 시 조심해야 할 것만 같은 느낌이 약간 쎄한..=> 오히려 기술적 챌린지를 부각 가능!)

 

  • Front-end: React
    • 장점
      • 배우기가 간단, 만들 때 복잡하지 않음.
      • component로 모든 기능을 관리
      • 뛰어난 garbage collection, 메모리 관리 성능
    • 단점
      • 보여지는 부분에만 관여 -> Ajax 등 기능 제공하지 않음.
      • view 외 기능은 직접 구현해줘야 함 => JavaScript 지식이 필요

 

  • DB: MongoDB
    • 장점: 유연성
    • 단점: 유연성(?)

 

  • 서비스 형태
    • PWA 방식으로 웹앱 구현

 

 

4. 주제 선정 배경

 

21살, 인턴으로 들어갔던 스타트업에는 "1 on 1 lunch"라는 사내 문화가 있었습니다. 일주일에 한 번, 부서 내외 상관없이 랜덤으로 1대1 짝을 지어 함께 점심을 먹는 이벤트였습니다. 잘 마주칠 일 없던 다른 부서 사람, 자주 보면서도 막상 일 말고는 딱히 이야기를 나누지 않았던 사수 팀장님, 혹은 어쩌다 대표님과도 일대일로 밥을 먹으면서 참 많은 이야기를 나눌 수 있었습니다. 딱히 교류가 없던 저 부서는 어떤 일을 하고 그게 내 직무랑 어떤 연관이 있는지, 평소 팀장님의 사적인 고민은 무엇이었는지, 대표님은 어떻게 이 회사를 차리게 됐고 앞으로 어떤 꿈을 갖고 계신지 등. 덕분에 회사에 빠르게 정착할 수 있었고, 다양한 네트워킹으로 만들어진 인맥은 지금까지도 이어져오고 있습니다.

 

이때의 경험으로, 선한 목적을 가진 소셜 개더링은 사람들로 하여금 정서적인 교류 뿐만 아니라 향후 커리어 측면에서도 서로 도움을 줄 수 있는 관계로 발전할 수 있다는 인사이트를 얻었습니다. 이후로, 다양한 조직에서 몸담을 때마다 이 프로그램을 실험했습니다. 대학원 시절 연구실에 있을 때 6개월 정도 해당 프로그램을 정착시켜 구성원들에게 좋은 피드백을 받았던 경험이 생생합니다. 이때 이후로 이를 서비스화 시켜보고 싶다는 생각이 있었습니다. 마침, 정글에서 좋은 기회가 생겨 이를 도전해보고 싶습니다.

 

5. 마지막 한 마디

 

개발자는 문제를 푸는 사람입니다. 하지만 우리가 어떤 문제를 얼마나 노력해서 풀었는지가 상대방에게 전달되지 않으면 말짱 도루묵입니다. 주변에 좋은 기술을 가진 엔지니어 분들께서조차 이런 이슈로 빛을 발하지 못하는 케이스를 종종 봤습니다.

 

개발 실력이 뛰어나다고 자신하지는 않습니다. 하지만 다년 간 여러 프로젝트에서 팀 리더를 하며 수십 번 넘게 발표 자리에 서본 경험을 바탕으로 그 누구보다 우리의 고민과 노력을 청중에게 오롯이 전달할 자신이 있습니다. 함께 의미있는 경험 만들면 좋겠습니다!

반응형