본문 바로가기

포트폴리오/웹개발

푸딩(Fooding) / 랜덤 음식 추천 푸딩봇

 

2주라는 기간 동안에 코드스테이츠에서의 퍼스트 프로젝트를 진행했다.

그동안 배웠던 것들을 최대한 활용하고 싶었으나.. 첫날부터 SR 과 Git 이 날 힘들게 했다..ㅜㅜ

프로젝트 시작하면 바로 코딩하면 될 것 같은 나의 예상과는 다르게, 시작전 SR에서 준비해야 할 것들이 너무나도 많았다.

하지만, 다행이도 우리는 주제를 정함에 있어 큰 어려움은 없었다.

주제를 정하는데 서로 인사 나누고, 각자 관심있는 or 생각해본 주제에 대해서 이야기를 나누며..

서로 아이디어를 조금 짬뽕(?) 하면서 결정됐다(30~40분 소요).


 

 

푸딩봇 

 

 

우리는 살면서 매일 “오늘은 뭘 먹지” 라는 중대한 고민을 하루도 빠짐없이 하게 되는 것 같다.

그런 고민을 조금이나마 해소할 순 없을까 라는 생각에 이 앱을 기획하게 됐다.

“인생의 가장 중대한 결정, 랜덤 푸드 추천봇, 푸딩봇"이다(배달앱은 아니다).

 

 

보람, 재미있었던 점

 

 

와이어프레임, UI 디자인을 보면서 css 작업하는데 설계도를 보면서 구현한다는 느낌을 받았던 것 같다.

우선 페이지 레이아웃이나 컴포넌트의 위치는 와이어프레임을 보면서 잡아줬고,

그 다음으로 UI 디자인을 보면서 색상과 크기를 조절했다.

레이아웃과 컴포넌트들의 색상, 크기를 잡아주고 다시 사용자의 관점으로 생각해보면서 텍스트 필드에 focus 되거나 버튼에 hover 됐을 때 이펙트를 줬다. 이펙트까지 주고나니 확실히 만족스러웠다.

 

 

후회, 어려웠던 점

다들 처음하는 프로젝트인지라, 시간활용과 업무 분배가 잘 되지 않았다. 예를 들어 어떤 작업을 하는데 얼마나 시간이 걸릴지 예상이 안되다 보니 일정을 잡기가 힘들었다. 일정을 잡고도 매번 수정됐다.. 

그리고 개발단계에서 기능구현을 다 했더라도 Git이 익숙치 않은 우리에게 과제를 더해줬다..ㅜㅜ

특히, feature branch 에서 push 후 PR 하려는데 Conflicts 가 비일비재하게 일어나곤 했다..

아마도 파일 하나에 둘이 같이 작업을 하다보니 그랬던것 같다.

앞으로는 최대한 업무분담을 할 때 작업 파일이 겹치지 않게 설정하고, 오전 회의때 오늘 할 일과 사용하는 파일 이름을 공유해야겠다. 만약 어쩔수 없이 작업하는 파일이 겹치게 된다면 작업전 서로 확인하고 작업해야겠다.

 

 

도전해보고 싶은 기능

우리는 어쩔수 없이 프로젝트 데드라인에 맞춰 포기할것 포기해야만 했다. 

Advanced

  1. GPS 활용하여 현재 위치 기반으로 메뉴 추천 기능
  2. API 이용(소셜 로그인 - 구글, 주소검색 - 다음)
  3. 재추천 시 먹었던 메뉴 또는 먹지 않고 넘긴 메뉴는 나오지 않게 하는 기능
  4. 시간에 따른 커스터마이징 페이지 변화 (default : 12 ~ 1, 사용자 정의로 시간이 바뀔 수 있음)
  5. QR를 코드를 이용한 리뷰 보상 기능 (쿠폰)

이 중에서도 도전해보고 싶은, 욕심이 나는 기능은 1번과 4번이다.

현재 위치를 기반으로 한다면 회원가입시 사용자가 입력한 주소를 기준으로 랜덤하게 음식을 추천해주는 것보다 더 업그레이드 된 버전일 것이다. 사실은, 사용자 위치를 기반으로 해야만 우리가 기획했던 주제와 아주 부합하다고 할 수 있다. 밖에서 뭘 먹을지 고민하는 사람들을 위한 솔루션인 앱이기 때문이다.

4번은 보통 식사 시간때 우리 앱을 찾을 것이라는 사용자의 관점에서 도출했던 아이디어이다. 대부분의 사용자들이 배고픔, 출출할 때 사용할 것으로 예상됐고, 그 감정을 공감해주자는 의미로 화면에 표현해주고 싶었다.

아침시간, 점심시간은 화이트모드 / 저녁시간은 다크모드로 배경화면과 컴포넌트의 색을 바꿔주고, 식사시간에는 배고픈 모습의 푸딩봇을 보여준다. 사용자가 식사를 마치면 푸딩봇은 행복한 모습으로 바뀐다.

푸딩봇 모습의 변화는 시간을 기준으로 설정할 것인데, 디폴트는 일반적인 한국인의 식사 시간으로 설정을하고(사용자가 특별히 설정하지 않는다면 이 시간을 사용), 사용자마다 식사 시간은 가지각색, 다양할 수 있기 때문에 이 부분을 커스터마이징할 수 있도록 계획했었다.