TIL Day 74.

Jen Devver·2024년 5월 30일

내배캠 TIL

목록 보기
81/91

Django 최종 팀 프로젝트

음성 주문 기능 기획

  1. 음성 입력이 들어왔을 때 들어온 음성을 스크립트로 저장하고 내용을 파악해 메뉴 추천인지, 장바구니 관련 요청인지, 결제 요청인지 구별한다.
  2. 해당 카테고리에 해당하는 기능을 수행한다.
    2-1. 메뉴 추천 요청인 경우 저장된 스크립트를 통해 메뉴를 다시 추천해준다.
    2-2. 장바구니 관련 요청인 경우 저장된 스크립트를 분석해 장바구니에 어떤 메뉴를 어떻게 할 지 파악하여 이행해준다.
    2-3. 결제 요청인 경우 결제 단계로 넘겨준다.
  3. 현재는 음성 입력을 원할 때 버튼을 눌러주지만 더 좋은 기능 구현은 계속 음성 입력을 받아 연쇄적으로 행동을 이뤄주는 것이라고 생각한다.

사용자 음성 입력 분류

  • gpt 를 이용해서 구현
  • 프롬프트 작성 시, 들어온 입력에 대해 menu, cart, pay 로 구분해달라고 했고 들어온 음성을 같이 내보내달라고 함.
  • Category: 문자열 \n Input: 문자열 의 형태로 내보내줌
  • 반환된 문자열을 가지고 views로 넘겨줌
  • view에서 각 카테고리에 대해 if문으로 분기 처리

음성으로 결제 기능

  • 위에서 구현한 음성 입력 분류에서 pay 로 나왔을 경우, result = 1 로 단순하게 숫자를 부여해줌.
  • Response(result)로 html에 넘겨주고, if () {} 로 result가 1일 때 triggerProceedToPay() 를 실행하도록 함
  • triggerProceedToPay()는 결제하기 버튼을 클릭해주는 함수
  • 이렇게 하면 음성이 pay로 분류됐을 때 결제하기로 넘어가고 주문번호가 출력된다.

피드백 모음

  • 처음에 음성 인식으로 주문이 가능했으면 좋겠다는 마음으로 기획했는데 막상 써놓고 보니 양이 너무 많고 시간 안에 구현할 수 있을까 하는 걱정이 앞섰다.
    튜터님께 찾아가서 이렇게 하고 싶은데 가능할지 잘 모르겠다고 말씀드렸고, 답변을 받기로는 생각보다 어렵지 않을 거라고 말씀해주셨다. 우선 음성 입력을 받는 동안 옆 사람과 얘기를 하는 등의 주문 외적 대화에 관한 처리는 배제하고 생각하라는 얘기를 해주셨고, 이외의 걱정에 대해서는 가능할 것이라고 하셔서 진행하게 되었다.
  • 계속해서 html과 자바스크립트로 고통받고 있어서 리액트 튜터님도 한 번 찾아가보게 되었다. 사실 프론트가 예쁘지 않아서 더욱 더 고통받은 점도 있긴 하지만.. 우선 고민을 하고 있던 ai를 통해 받은 값으로 js를 조작할 수 있는가? 하는 데에 대해서는 어떠한 이벤트를 발생시키는 것으로 js가 동작하도록 할 수 있다고 하셔서 힌트를 얻었다. 그리고 소소하게 장바구니 영역을 구분 짓고, 음성인식 버튼을 좀 더 크게 만들고, 전체 삭제 버튼은 없애는 등의 UI/UX 적인 조언도 들을 수 있었다.
  • 그러고도 정확히 어떻게 자바스크립트를 다뤄야 할 지 다소 막막했고, 각 카테고리에 따라 분기처리를 해야할 것 같아 튜터님을 찾아갔다. 특히 고민하던 점은 views.py에서 분기처리를 해야하는 건지, html에서 분기 처리를 해야하는 지에 대한 문제였는데, 둘 다 가능하지만 views.py에서 하는 것을 더 추천한다고 하셨고 실제로 백엔드 과정에서 프론트만 너무 만지고 있는 것 같아 찝찝함을 느끼고 있던 터라 views.py에서 분기 처리를 통해 각 기능을 수행하는 것으로 결정했다.
profile
발전 중...

0개의 댓글