Sgether 프로젝트 시작🔥
소개부터 팀 구성 및 진행
solution_challenge sgetherSgether 소개 🔥
Study Together with AI
줄여 Sgether
, S-gether
또는 대문자로 SGETHER
로 표기하며 인공지능을 활용한 학습 도우미 앱을 만드는 것을 목표로 하고 있습니다.
팀 구성
안드로이드 2명으로 시작하여 우여곡절 끝에 외부에서 팀 구성을 완료하였습니다.
(ML Kit + Firebase를 사용하면 구글 기술을 사용하는 장점이 있었지만 아무래도 개인의 부담이 커 적극적으로 팀원을 모집하기 위해 노력하였습니다..)
- 팀장 김강민 (Android) (너가 팀장 해라)
- 팀원 채홍무 (Android)
- 팀원 반영환 (BackEnd)
- 팀원 방재원 (ML)
기획 🌱
저희는 지속 가능한 17가지 발전 과제 중 아래 두 가지, 즉 양질의 교육과 불평등 해소를 선택하였습니다.
- 4-Quality education
- 10-Reduced inequalities
기존 방법의 문제점
사람의 학습 감독에서 오는 불완전함과 학생들이 실제 비용을 지불하고 학습 감독을 신청하는 사례가 있어 비용 부담이 존재합니다. 또한, 거리상의 문제로 학교에 갈 수 없어 직접적인 교육을 받을 수 없는 상황에 놓인 학생들에게는 더욱 부담이 될 수 있습니다.
문제 해결
위 문제 중 불완전한 학습 감독의 문제는 감독자를 AI로 대체하여 해결할 수 있으며 집중도를 분석할 수 있어 더욱 효과적인 자습 집중도를 형성할 수 있습니다. 게다가 AI 감독으로 인해 인건비가 줄어 소비자의 비용 부담을 줄일 수 있습니다.
서비스 측면
교사용 서비스에서는 강의 또는 자습 시 학생들의 집중도를 통계로 확인할 수 있고 학생용 서비스의 경우 AI 감독을 받으며 자습이 가능합니다.
진행 과정 🪄
지금까지 4번의 회의 중 대면으로 진행한 건 2번이고 팀원분들의 합류 시기가 서로 달라 파트별로 작성하겠습니다. (대면 회의를 위해 점심을 웨이팅 맛집으로 선택한 팀장님..회의를 가장한 맛집 탐방)
아키텍처 설계
Zoom, Google Meet, Gather 등과 같은 플랫폼에서는 화면 공유를 위해 주로 WebRTC를 활용하는데 안드로이드 관련 정보가 부족하여 구현 가능성이 명확하지 않아 2가지 가능성을 열어두고 설계하였습니다.
첫 번째 방법은 네이티브 WebRTC 라이브러리를 사용하여 머신러닝 개발자가 없다는 가정 하에 ML Kit를 사용하는 것이고, 다음은 WebView를 이용하여 비교적 간단하게 WebRTC를 구현하는 방법입니다.
제가 팀원이 된 이후로 조금씩 삽질한 결과 안드로이드 구현에 성공하여 초안 1으로 진행하기로 하였습니다. 또한 머신러닝 부분은 머신러닝 개발자분의 합류로 ML Kit 대신 초안 2와 같이 서버로 대체할 예정입니다. (초안이라서 안 맞는 부분이 있어요.)
프론트
강민이가 현란한 피그마 실력으로 디자인하고 팀원들과 피드백을 주고 받으면 제가 안드로이드 XML을 작성하기 위한 프레임을 만들고 서로 채워나가기로 하였습니다. 디자인은 아마 프로젝트 진행 중 계속 바뀔거 같습니다.
백엔드
유저 인증을 위한 CRUD가 대부분 완료되었고 테스트를 위해 배포를 준비중입니다. AWS를 사용하는 것으로 하였으나 GCP 크레딧을 제공해준다는 말이 있어 다음에 만나면 다시 회의 예정입니다.
머신러닝
머신러닝을 위한 데이터를 찾고 있으며 필요시 팀원들이 직접 제공하기로 하였습니다. 모델이 완성된다면 사용자 장치인 인앱에서 실행할지 아니면 서버에서 실행할지에 대해 회의해보았고 많은 사용자가 요청하면 서버의 부담이 클 것이라 예상되어 인앱을 고려하고 있지만 아직 결정된 것은 아닙니다.
노션 페이지와 깃헙 꾸미는 것에 진심인 팀원들