글 작성자: bbangson
반응형

(주)오투오 스타트 업에서 진행했던 팀 프로젝트입니다.

팀 프로젝트에 대한 설명, 나의 역할, 기술 스택, 느낀 점을 적고자 합니다.

팀 구성원 : 뺑슨, ㄷㄹ, ㄷㅎ, ㅅㅇ 2020.01 ~ 2020.03

 

https://www.youtube.com/watch?v=AXcjqv5eBh0

도담도담 팀 프로젝트

Info


1. 설명

  • 프로젝트 명 : 도담도담 
  • 요약 : 발달 장애아동들의 영어학습능력 향상이 목적인 구글 어시스턴트
  • 구성 : Front-End 1명, Back-End 1명, Fulfillment 1명, Dialogflow 1명
  • 사용한 플랫폼 : Actions On Google(AOG, Interactive canvas) , Dialogflow, Firebase realtime DB, Github
  • 기술 스택 : Java, JS(Pixi.js), 포토샵
  • Target Device : Google nest hub

  먼저 도담도담의 의미는 순우리말로, 어린아이가 탈 없이 자라는 모양을 뜻합니다.

이 프로젝트는 발달 장애아동들의 영어학습능력 향상을 목적으로 만든 구글 어시스턴트 서비스입니다.

Google의 Actions on Google 플랫폼을 사용하여 만들었으며, Interactive Canvas 기법(interactive canvas 기법이란 AOG 플랫폼 안에 web app을 입히는 것입니다. https://developers.google.com/assistant/interactivecanvas)을 사용하였습니다. Dialogflow의 Fulfillment는 Java를 사용하였습니다. ( 대화 시나리오를 Java로 제작. ) Web app은 자바 스크립트를 이용하였으며, 주로 자바 스크립트 WebGL 프레임 워크인 Pixi.js를 이용했습니다. 카드 및 모든 UI는 포토샵으로 자체 제작했습니다. 

 

 

2. 기능

  • 낱말카드 놀이 : 그림 카드를 보고 단어를 말하며 사물 인식 및 언어 능력 향상을 기대한다.
  • 숫자카드 놀이 : 숫자카드를 보고 정답을 말하며 기초적인 수리능력 향상을 기대한다.
  • 나라카드 놀이 : 국기 카드를 보고 나라 이름을 맞추며 호기심 및 흥미를 유발한다.

 

 

3. 시스템 구성

시스템 구성

 

4. Flowchart

flowchart

 

 

role


1. Fulfillment (Back-End)

  • Java를 이용하여 Dialogflow의 fulfillment 구성 및 제작.
  • 프로젝트 대화 시나리오 구성.
  • web app과의 Rest API 수행.

2. Front-End

  • 자바스크립트 및 Pixi.js를 이용하여 web app 제작.
  • Fulfillment와의 Rest API 수행.
  • Actoins on google의 Interactive Canvas 기법 사용.

 

 

 

review


1. 어려웠던 것

  • Web app과 Firebase realtime DB 연동하는 로직을 구현하는 것이 어려웠습니다.
  • AI와의 대화 시나리오를 구성하는 것. 
    • AI와의 대화라 평소 사람들 간의 대화로 생각하고 구현하면 안 됩니다. 
    • AI는 최대한 사용자가 Yes or No라고 대답할 수 있게끔 질문해야 합니다.
    • AI는 사용자가 어시스턴트 화면을 보고 유추할 수 있는 질문에 대한 Intent를 인지하고 있어야 합니다. 
  • 잘 못 말한 것과 정답이 틀렸을 경우를 구분하는 것.
    • 게임하는 도중과 게임을 하지 않는 도중에 fallback 인텐트로 넘어가게 만드는 것에 고민을 많이 하였습니다.
    • 게임을 하지 않는 도중 잘 못 말한 것은 fallback 인텐트로 넘어가게 하고, 게임하는 도중에 정답을 틀린 것과 잘 못 말한 것(정답과 아예 무관.)은 따로 인텐트를 생성하여 해결하였습니다. 

 

 

2. 느낀 점

  첫 인턴 생활이었습니다. 회사 주관으로 인턴들끼리 팀 프로젝트를 진행했습니다. 그 프로젝트가 바로 이 도담도담 프로젝트입니다. 약 3개월 간의 길지 않은 인턴 생활이었지만 그래도 실무에서 진행하는 프로젝트의 전반적인 이해도를 높일 수 있었습니다. 또한,  저의 부족한 역량을 파악할 수 있는 좋은 기회였다고 생각합니다.

  같이 진행했던 팀원들이 정말 좋은 사람들이어서 협업을 정말 재밌게 했습니다.  서로를 배려한다는 것이 오가는 커뮤니케이션에서 자연스레 느껴질 정도로 좋은 사람들이었습니다. 이들을 팀장으로서 잘 이끌었는지는 모르겠습니다. 그래도 협업에서 발생할 수 있는 동료 간의 서운한 이슈 하나 없이, 프로젝트를 좋은 분위기 속에서 마무리했다는 것에 큰 뿌듯함을 느꼈습니다.  

 

   팀 프로젝트에서 제일 중요한 건 팀원 간의 커뮤니케이션이라는 것을 이번 기회에 한번 더 느꼈습니다. 일반적으로는 의견 차이로 인해 커뮤니케이션의 중요성을 깨닫지만, 저는 따뜻한 커뮤니케이션 속에서 진행하는 프로젝트가 오히려 더 시너지를 더 발휘한 다는 것을 이번 협업을 통해 느꼈습니다.

  개인의 생각을 따뜻한 커뮤니케이션으로 전환하려면 먼저 편안한 분위기가 조성되어야 한다고 생각합니다.  팀장으로서 편안한 분위기를 조성하고자 노력했고, 목표를 이루었다고 생각합니다. 하지만 주관적인 생각이고 팀원 들의 생각은 잘 모르겠습니다. 대회나 공모전에 출전하기 위해 진행한 프로젝트는 아닙니다. 하지만 저에게 있어서 굉장히 보람 있고, 협업에 있어 저의 능력에 자신감을 일깨워주는 유의미한 경험이었습니다.

반응형