반응형

프로젝트를 시작하게 된 계기

작년 8월경 전역 후  약 2~3개월간 혼자 유니티와 알고리즘 공부를 했었다. 군대를 가기 전 대학교(컴퓨터공학과)에서 1학년을 마치고 갔는데 학교에서 배우는 것이라고는 C언어, 파이썬, C++의 문법들 혹은 컴퓨터 구조 등이었다.

 입시시절 부터 이론을 좋아하지 않았던 나는 수학조차도 이론을 완벽히 숙지한다기보다는 이론을 대강 이해한 후 문제를 풀면서 익히는 타입이었다. 그러다가 이제 수능을 죽 쑤게 되었지만... 어쨌든 이렇게 이론을 좋아하지 않는 나로서는 1학년 때 배우는 언어들의 문법이나 기초 이론 등을 공부하면서 흥미를 단 1도 느끼지 못했다. 그렇게 그냥 허송세월 및 학점이 아작 난 뒤 군대를 가게 되었다.

 전역을 하고나니 주변에서 들었던 대로 미래에 대한 불안감이 굉장히 몰려왔다. 그 당시 알바도 안 했을 때라서 혼자 생각할 시간이 많았고 자연스럽게 잡생각을 많이 하게 되었다. INFP의 특징인지는 모르겠으나 혼자 잡생각을 많이 하다 보면 우울해진다. 친구들에게 고민을 거의 털어놓지 않던 내가 그 당시 친구와 술 마시면서 미래에 대한 불안감이 있다고 고 털어놓았던 기억도 난다. 그렇게 또 시간을 조금 보냈다. 대학교 동기형이 조언해준 대로 관심분야를 찾아 공부하고, 알고리즘 공부 또한 시작하였다. 그렇게 찾은 관심분야가 유니티였다. 대학교 1학년 때 배우던 것과는 느낌이 정말 달랐다. 1학년 때 배운건 정말 그냥 언어의 문법 그 자체이고 유니티로 오브젝트들 관리하고 게임이 동작하고 스크립트를 직접 구현하면서 이게 "개발"이구나를 느끼게 되었고 흥미를 가지게 되었다. 그렇게 코딩에 흥미를 느끼고 개발에 관심을 가지게 되었다. 

 쭈욱 유니티를 공부하던 중 대학교에서 GDSC라는 동아리에 가입할 수 있게 되었다. GDSC에는 크게 프론트앤드, 백앤드, 안드로이드 앱 개발, 디자인이 있다. 유니티 / 게임 개발 쪽은 따로 분야가 없어서 전망이 좋을 것 같은 Kotlin 언어와 그 언어를 주로 사용하는 안드로이드 앱 개발 공부를 시작하게 되었다. 동아리 내에 안드로이드 앱 개발 쪽에서 현업 하시는 분이 계시기도 하셔서 정말 많은 도움을 받았다.

 처음엔 공식문서와 유튜브를 보고 간단한 위젯이나 레이아웃을 사용해보는 것 부터 시작했는데 이게 뭐람 하라는 대로 따라 해도 도저히 되지가 않았다. 특히 뷰 바인딩 없이 설명을 해주었어서... 뭘 알아야 그래도 대충 보고 아 이게 문제구나 하고 찾을 텐데 당장 할 수 있는 거라고는 따라 하는 것 밖에 없는데 그것조차 할 수 없었다. 어느 날은 이미지, 텍스트뷰, 버튼과 스피너를 구현하는데 7시간이 걸렸었다. 이 날 굉장한 스트레스를 받아서 책을 사버렸다. 대략 1월 중순이었던 것 같은데 최신판으로 2022년 1월 초에 개정되어서 나온 이것이 안드로이드다 with 코틀린 책을 구매하였다. 뷰 바인딩에 대한 설명이 있다길래 호다닥 구매했다.

 책을 구매하고 전체적으로 쭉 훑어보는 식으로 공부를 했었다. 급하게 개정을 하고 내셔서 그런지 오타가 꽤 있었다. 아무것도 모르고 따라하던 때라서 오타를 따라 치고 에러가 발생하면 막 혼자 끙끙대기도 하였다. 이해가 안 되더라도 그냥 읽어보고 넘어갔다. 현재도 책을 완벽히 익혔다고 할 수는 없지만 프로젝트를 진행하면서 종종 참고하고 있다.

 유니티 할 때도 느꼈지만 직접 프로젝트를 해보면서 정말 실력이 많이 늘었던 것 같다. 책도 한 번 읽었겠다, 프로젝트를 해보기로 결심하고 "위로" 프로젝트를 시작하게 되었다.

 

왜 하필 "위로" 프로젝트인가

 나는 남들의 고민은 잘 들어주지만 남들에게 고민을 잘 털어놓지는 않는다. 그래서 혼자의 이야기들을 인스타 부계정에 적어놓고는 했다. 익명 어플 같은 것도 꽤 많았지만 나는 그런 것조차 신뢰를 하지 않는다. 어플의 수요가 꽤나 되는 걸 보니 남들에게 이야기 못할 고민이 있는 사람들이 꽤나 많아 보였다. 몇 가지 어플을 살펴보았다. 채팅 기능이 있는 어플도 있고 없는 어플도 있다. 채팅, 쪽지 기능은 둘째치고 댓글을 다는 기능은 거의 모든 어플에 있는 기능이었는데 그 댓글들의 상태가 좋지 않았다. 힘들어서 고민을 털어놓고 위로를 해달라는 사람에게 성적인 이야기를 하고 개인적인 연락을 하자는 댓글들이 대부분이었다. 이러한 실태를 보고 나는 남들에게 고민은 털어놓을 수는 있지만 저러한 댓글은 달지 못하게 하고 싶었다. 

 사실 자음, 모음, 특수기호들을 조합하면 "가자"라는 단어를 "가1자", "가ㅏㅏㅏ자", "가-자" 등 셀 수 없을 만큼의 가짓수가 나오게 될 것이라서 감히 이거를 필터링한다는 것은 무리인 것 같아서 아예 댓글 기능을 막아버려야겠다고 생각했다. 댓글 기능을 막고 아예 몇 가지 위로의 문구, 이모지 혹은 이미지를 만들어 지정된 것들만 댓글처럼 달 수 있게 말이다. 

 

"위로" 프로젝트의 기능들

 2022/3/15 기준으로 생각해놓은 것들은

내가 고민을 올려서 위로를 받는 "위로해주세요",

내가 남들을 위해 위로할 문구를 써줄 수 있는 "위로해줄게요",

남들에게 조차 알리고 싶지 않은 이야기를 올리는 "나만의 일기"이고 이 부분은 구현을 해놓았다.

 사실 이 정도로는 부족할 것 같아서 새로운 기능들을 생각 중에 있다.

 

"위로" 프로젝트 현재 진행상태

현재는 기능적인 부분들만 구현해놓았고 디자인, 레이아웃 등은 나중에 손 볼 예정

카테고리 이동

아래와 같이"위로해주세요", "위로해줄게요", "나만의 일기"를 모두 구현해 놓았다.

뷰 페이저와 탭 레이아웃을 이용하여 탭으로 각 카테고리로 이동하도록 설정해 놓았고 뷰 페이저의 스와이프 기능은 비활성화했다. 게시글 리스트는 리사이클러뷰를 사용하여 수직으로 주르륵 나열된다.

위로해주세요, 위로해줄게요 카테고리에서는 각각 전체 글(내가 작성한 글 + 다른 사람이 작성한 글)을 탭 버튼을 이용하여 볼 수 있도록 하였다. 나만의 일기에서는 당연히 내가 작성한 글만 볼 수 있다.

 

게시글 작성

위로해주세요, 위로해줄게요, 나만의 일기에서 일반 일기 작성, 비밀일기 작성을 클릭하면 아래와 같이 게시글 작성하는 화면이 나타나고 제목, 내용을 입력한 후 작성 완료를 누르면 게시글 작성이 완료된다. 제목, 내용 중 하나라도 공백이 있다면 에러 메시지가 출력되고 작성이 되지 않는다.

게시글 삭제

내가 쓴 글들만 삭제 버튼이 나오고 그 버튼을 누르면 글이 삭제되도록 구현하였다. 다른 사람이 쓴 글이라면 삭제되지 않는다.

느낀 점

 사실 아직 많은 기능들을 구현한 것도 아니고 다른 사람이 보면 아무것도 아닐 수도 있다. 하지만 불과 한 달 전의 나로서는 상상도 못 할 기능들을 만들어 냈다. 여기까지 진행하면서 모르는 부분이 정말 많았는데 주변에서 도와주셔서 무사히 구현할 수 있었고 이렇게 기능이 별로 없는 어플에서도 수많은 오류가 발생되어 이 상태로 배포가 되었다면 어떻게 됐을까 아찔해지기도 한다. 버그를 수정하며 나름 희열, 재미도 느끼고 뭔가 신기해서 더 흥미가 생겼다.

 아직은 진짜 단순한 기능들만 구현해놓았고 버그 수정, 디자인 수정 등 어플을 조금 더 이쁘고 오류가 없도록 손볼 것이다. MBTI "N"이라면 한 번쯤 상상해볼 대박 나는 그런 상상을 나는 하는 중이다... 하하 막 떼돈 벌고 그런 것보다는 그냥 내가 만든 것을 사람들이 사용하는 모습을 보면 신기하고 뿌듯할 것 같다. 

 최종 목표는 다운로드 수가 0이라도 좋으니 이쁘게 다듬어서 구글 플레이스토어에 출시하는 것이다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기