[MINI PJ - 1] (25.05.15 - 1일차) 생애 첫 개발 프로젝트
LG CNS CAMP 2기를 진행한지도 벌써 2달 정도 된 것 같다.
나는 JAVA의 기본 문법과 기초적인 알고리즘 풀이정도 독학으로 진행하다가 이번 프로그램에 참여하게 되었고,
지금은 풀스택 과정을 마무리하면서 첫 MINI PJ을 맞이했다.
다양한 의견들이 나왔었고,
나는 우연히 점심을 먹으러 부엌에 가는길에 가득찬 냉장고를 살피고 계시는 어머니를 보고 아이디어를 떠올려 보았다.
구글 DOCS에 회의록을 작성했었고, 그 중 내 아이디어에 대한 내용이다.
타이틀은 식재료 관리 서비스.
- 새로운 식재료 등록, 소비한 식재료 표기를 수동으로 해야하는 문제
- 입력하는 시점에 알람을 생성 -> 이후에 확인할 수 있도록
- 식재료 등록 시 영수증을 분석(OCR)해서 추가할 수 있도록
(ocr은 비용이 발생함 -> 개선 방향으로 언급해도 좋을 듯)
- 등록했던(구매했던) 데이터 활용하여 향후 구매 해야하는 식품 추천?!
- 식재료 데이터 통계 활용(소비 패턴 등)
<식품 유통관리 앱>
- 구매한 식품의 바코드를 스캔하거나 직접 입력하면 유통기한을 추적
(일부 제품은 바코드만으로 정확한 유통기한을 알기 어려울 수 있음)
데이터 직접 입력의 불편함 발생 가능.. -> STT를 활용하여 유통기한을 입력해보면 어떨까? - 유통기한이 임박한 식품에 대한 알림기능
- 가지고 있는 재료들로 만들 수 있는 레시피를 추천
- 바코드 스캔 -> 오픈 api나 라이브러리를 활용해서 구현
(React Native의 카메라 기능(x) 이나 웹 바코드 스캐너 라이브러리가 있다고 함 - 식품 데이터베이스 -> 공공 데이터나 식품 api를 활용하거나
정말 최후로는 직접DB 구축… - 유통기한 알림 -> 푸시 알림
- ai 활용 가능 부분 : 사진으로 식품 이름 자동 추출, 가지고 있는 식재료 기반 레시피 추천 , 유통기한 예측
사진을 찍기 귀찮으면 어떡하지.. ?
TTS 활용 -> 상품명, 제조회사(?), 유통기한을 말하면 값을 확인하고 DB 양식에 맞춰 생성
ex) ㅇㅇ우유, ㅇㅇ(업체명), 5월 20일 추가. -> 내용이 맞는지 확인하는 절차 (ai 음성)
~ 를 냉장고(DB)에 추가하시겠습니까? y/n
가능할지 모르겠지만 // 다른 사용자들이 이미 등록한 동일 상품 정보활용?
ex) 이 상품을 찾으시나요? 같은 ai추천
업적이나 배지 기능 (부가적인 재미요소)
자취생 전용 요리 추천
냉장고 사진 찍으면 있는 재료 기반으로 만들수 있는 요리 추천
리액트 프론트엔드
- 유통기한 입력/관리 UI
- 식품 목록 표시
- 유통기한 임박 식품 하이라이트
- 간단한 유저 인증 페이지
스프링부트 백엔드
- REST API 구축
- 데이터베이스 연동 (식품 정보, 유통기한 저장)
- 유저 인증/관리
개발 프로젝트에 참여해 본 적이 처음이라서 일주일 밖에 없는 상황에 너무 많은 요구사항을 넣지 않았나 싶기도 했다.
하지만 상상을 하다보니 계속 무언가가 떠오르는데 어떡한담..
근데.. 결론적으론 팀원들의 채택을 받지는 못했다.. ㅎㅎ
아쉽긴했지만 팀원들의 다른 아이디어도 꽤나 재밌어보였다.
감정 기록 서비스와 코딩테스트 도우미 서비스 같은 것들이 나왔었는데,
이 중 감정 기록 서비스가 팀원들의 가장 많은 선택을 받았다.
짧은 기간 수행하기에는 상당히 합리적이라고 생각되었고,
일기를 종종 쓰는 나의 입장에서는 꽤나 흥미로웠다.
이전에 구상하던 식재료 관리 서비스에 대한 생각은 접어두고
감정 기록 서비스에 대해 빠져들어 보았다.
내가 사용자의 입장이 되어 어떤 기능들이 있었으면 좋겠는지에 대해 상상해 보았고,
일주일 안에 구현해 낼 수 있어야 했기에 팀원들과 이야기하며 조율해 나갔다.
감정 기록 서비스를 기획하면서 들었던 의식의 흐름이다.
어떤 생각이 들면 사용할까?
- 긍정적 감정(?) 동기 : 무언가를 해냄! 새로운 걸 알게됨! (지식, 맛, 뷰 등 경험) 등을 기록하고싶을때, 사용하기 편리하고 필요한 기능 (+ 생각지 못했던 재밌는 기능)
-> ai의 피드백, 감정 분석, 스트레스 수치 기록 - 부정적 감정 동기 : 삶이 힘듦. 마음이 답답함. 할 말은 많은데, 할 곳이 없음. 고민은 많은데, 뭐부터 해야 할 지 모르겠음.
-> ai의 피드백, 감정 분석, 스트레스 수치 기록 - 주기적으로 ai가 지금까지 기록된 내용을 바탕으로 사용자의 습관이나 방향성에 대해 조언 및 컨설팅을 해줌.
- 감정 기복이나 스트레소 수치 변화 데이터를 토대로 사용자의 감정 컨트롤 능력에 대한 설명이나 별명을 붙여줌 (예시. 분조장, 개복치, 살얼음, 마지막 잎새 등등) - 재미요소
- 새벽감성 분출구(?) - 공개적으로 하면 사회적 체면에 이슈가 생길 수 있지만. 여기에 해소를 하면 어느정도 커버가 가능하다. 자신의 감성을 이해해 주는 ai에게 진심어린 공감을 받을 수 있음
- 사용 기능이 챗봇 이라면?
사용자와의 대화 내용을 어떻게 데이터화 할까?
ai가 요약해서 게시물의 형태로 저장?
저장된 게시물들을 보았을 때 뿌듯함을 느끼는 요소가 있으면 어떨까?
깔끔하게 정돈되어 한 눈에 들어왔으면 좋겠는걸 - 어떤데이터가 보여지면 좋을까?
어떤 사람들에게 흥미로울까? 접근성이 좋은가?
이걸 통해 내가 뭘 얻고 싶은걸까? 왜 하는걸까? (목적성)
-> 위로? 기록의 뿌듯함? 그냥? 나를 돌아보기 위함?
스트레스 수치같은, 사실은 크게 쓸 모 없는 데이터에 의미를 부여하는 이유가 뭘까? (의미 부여)
-> 사람에 따라 다르게 생각할 수도 있지만, 이런 데이터를 통해 자신의 상태를 더 깊게 이해하고 건강한 삶을 위한 실질적인 변화를 이끌어 낼 수도 있음. 개인의 주관적인 경험을 객관화하여 장기적인 웰빙을 위한 기반이 될 수도 있음.
이런 어플이나 사이트를 사용하려면 사용자에게는 어떠한 계기라던가 동기가 있어야 한다는 생각을 먼저 하게 되었고,
그런 동기나 계기가 있었다면, 분명 사용자가 원하는 '기능'이 있을 것이라고 생각했다.
이런 관점에서 보았을 때, 먼저 사용 동기에 대해서 생각해 보았고, 기대 효과를 상상해 보았다.
기능 구상은 다음과 같이 했다.
- 사용자 로그인, 회원가입, 프로필 관리/수정
- 감정 작성( 사용자 )
ai 분석, 태그화 + 컨텐츠 추천 ( ai ) - 날짜별 기록 확인 (태그 노출)
- ai 성격별 친구 템플릿
예시)
감정 공감형
논리 분석형
활동 지향형
배웠던 내용들을 녹여내고 너무 과하지 않은 범위 내에서 기능을 구현해 보려고 했다.
이후에 회의를 통해 몇 가지 수정이 있었는데,
아마 개발을 하는 과정에서도 종종 기능이 조금씩 생겨나기도 사라지기도 할 것 같은 느낌이 들었다.
오늘 회의를 하면서 . . .
의견을 조율하는데 있어서 팀원들의 의견이 엇갈리기도 하고,
삶의 과정이 다들 달랐기 때문에 관점도 다 다른 것을 많이 느꼈던거 같다.
이럴땐 한 발자국 뒤로 물러나 서로의 입장을 잘 들어보면 답이 나오는 경우가 많이 있다.
다들 배울만큼 배우고 똑똑한 사람들이 많기 때문에
자신의 지식 범주 내에서 이해를 하지 못하면 넘어가기 힘들어 한다.
나또한 그렇다. 이해를 하기위해서는 나와 상충되는 의견을 내는 사람의 입장에서서 이야기를 해 보아야 한다.
이걸 자존심의 문제라고 생각하는 사람들이 더러 있는데,
나는 그렇게 생각하지 않는다.
오히려 남을 이해할 수 있을때 더 조화로워 질 수 있고, 생각지 못한 문제를 발견할 수 있어 좋은것들도 있으니 말이다.
오늘 회의는 처음 개발 프로젝트를 하게되어서 설레임도 가득했지만,
시야를 더 넓힐 수 있는 기회가 되었고, 개발영역과는 또 다른 깨달음이 있었던것 같다.
유익한 시간이였다. : )