사이드 프로젝트 앱 제작기
올해 초에 세웠던 목표 중에 하나가 나만의 앱 만들어보기였다. 기존에 종종 만들었던 웹이 아닌 앱이라는 새로운 분야를 경험해보고 싶었다.
그래서이번에앱개발을배우며퇴준생이라는카지노 쿠폰준비앱을만들었다. 참간단한앱이지만서도만들며많은걸느끼고배웠는데.. 까먹지않도록이번에도기록으로남겨놓는다.
앱 개발을 배우기 위해 React Native 유료 강의를 등록했는데 얼마 간 진도를 나가지 못했다. React Native를 배워서 만들고 싶은 앱이 딱히 없었기 때문이다.
배운 걸 써먹을 곳이 없으니 회의감이 들었고 얼마 안가 흥미를 잃었다. 전형적인 작심삼일 루트였다. 그리고 그렇게 아무것도 안 하고 시간이 흘러 21년의 반이 지났다.
그런데 어느 날 친구들이 흥미로운 대화를 하는 것을 들었다.
너는 카지노 쿠폰 언제 할 거야?
직장인 친구들이 서로의 카지노 쿠폰 예정 일자를 묻고 있었다. 평소에 친구들과 카지노 쿠폰 관련 얘기를 하긴 했지만 구체적인 카지노 쿠폰 일자까진 논한 적이 없어서 신기했다.
궁금해서친구들에게왜구체적인카지노 쿠폰일자를정한거냐고물었다. 그러자친구들은두가지이유를말해줬다.
1. 카지노 쿠폰를 더 진지하게 준비하게 된다.
언젠간 카지노 쿠폰해야지라는 막연한 생각은 실행으로 이어지기 어렵다. 목표 시점이 불투명한 만큼 카지노 쿠폰 준비 또한 언젠가 하겠지로 이어지기 마련이다.
반면구체적인퇴자일자를박아놓으면D-Day가생겨그것에맞춰계획을짜고실행하게된다. 수능일자에맞춰학습스케줄을짜고준비하는것처럼말이다.
2. 심적인 위안이 된다.
회사에서힘든일이있을때언제까지이런스트레스를받아야하나라는생각에우울해지곤한다. 끝이안보이는터널을지나는느낌이다.
그런데 만약 카지노 쿠폰 예정 일자가 박혀 있으면 그때까지만 존버하자라는 생각을 할 수 있다. 끝도 없을 것 같은 고통에 마침표가 생기는 셈이다.
이야기를 듣고 나니 왠지 모르게 설득이 되어 나도 카지노 쿠폰 예정 일자를 정해보았다. 카지노 쿠폰 후 내가 하고 싶은 일 그리고 지금 내 상황을 고려하여 일자를 잡았다.
그러니 실제로 친구들 얘기처럼 카지노 쿠폰에 대해 조금 더 진지하게 고민하고 계획을 짜게 되었다. 회사 일로 힘들 때마다 카지노 쿠폰 예정 일자를 보며 위로를 받은 것은 물론이고..
그리고 위의 경험을 하며 한 가지 생각이 들었다. 이걸 앱으로 만들어보면 어떨까? 카지노 쿠폰 예정 일자를 정하는 식으로 카지노 쿠폰 준비를 도와주는 앱.
일단단순하게기획하면내가직접개발할수도있겠다는생각이들었다. 아래의기능들로만구현하는것을생각했다.
카지노 쿠폰 D-Day 설정 기능
카지노 쿠폰 후 버킷리스트 작성 기능
카지노 쿠폰 전 To-Do, Memo 작성 기능
React Native를 배우며 실제로 만들어볼 수 있을 정도의 난이도였다. 그리고 이렇게 학습 목표가 생기니 동기부여가 됐다.
의욕이 생긴 김에 간단하게 시장 조사도 해보았는데 카지노 쿠폰를 하고 싶어하는 사람이 참 많더라. 기사에 따르면 신입 10명 중 3명이 1년 내에 카지노 쿠폰한다고 한다.
카지노 쿠폰를꿈꾸고있는사람이내주변에만많은것은아니었다. 또유튜브를보니카지노 쿠폰관련콘텐츠의조회수가높기도했다.
많은 사람이 카지노 쿠폰를 고민하고 있는 걸 보니 얼른 앱을 만들어보고 싶어졌다. 물론 내가 만들 앱은 참 단순한 기능뿐이 없겠지만.. 그래도 설렜다.
그리고 이런 마음 때문인지 여섯 달 동안 못 나가고 있던 학습 진도를 단 2주만에 다 뺐다. 학습엔 동기부여가 중요하다는 것을 다시금 느낄 수 있었다.
우선앱기획을했다. 핵심가치는'퇴준생'이라는앱 이름에 맞게카지노 쿠폰준비를도와준다는것이었다.
카지노 쿠폰관련콘텐츠들을보면조금더준비를하고카지노 쿠폰할걸이라는내용이많았다. 홧김에감정적으로카지노 쿠폰를하다보니발생하는문제로보였다.
그래서준비된카지노 쿠폰를할수있도록 돕는기능들을마련해놓아야겠다는생각이들었다. 그리고이를위해선카지노 쿠폰일정, 계획등에대해정리할수있는스펙이필요했다.
내가 개발할 수 있는 수준을 고려하여 아래의 스펙을 잡아보았다.
1. 카지노 쿠폰 D-Day + 설정 이유
카지노 쿠폰예정일자를정하는기능이다. 또일자를설정한이유도적을수있도록했다. 카지노 쿠폰라는게가벼운일이아닌만큼일자설정에도나름의이유가있을 거란생각이들었기때문이다.
사람마다다르겠지만아래이유를쓸수있지않을까?
경력이 충분히 쌓이는 시점이다.
원하는 만큼의 돈이 모일 때다.
지금 맡고 있는 일이 끝난다.
당장카지노 쿠폰일자설정이유가없다면그것을고민하며 카지노 쿠폰에더진지하게임하게될수도있을것이다. 어찌보면카지노 쿠폰를준비하는첫단추가아닐까싶다.
2. 카지노 쿠폰 후 버킷리스트
카지노 쿠폰후하고싶은일들을적는기능이다. 카지노 쿠폰후에하고싶은것들을적어놓으면존버에도움이될것같았다. 카지노 쿠폰일자까지버티면얻는일종의보상으로써작용할수있기때문이었다.
나 같은 경우는 아래의 버킷리스트를 적었다.
세계 여행하기
나만의 서점 차리기
독립하기
카지노 쿠폰하면인생이끝나는것이아니다. 그런점에서버킷리스트기능은카지노 쿠폰이후의삶에 대해 고민해볼 기회를줄수있다는생각도든다.
3. 버킷리스트별 To-Do, Memo
버킷리스트 실행을 위해 필요한 일들을 기록하는 기능이다. 카지노 쿠폰 후 하고 싶은 일을 정했다고 그것이 자동으로 이뤄지지는 않기에 넣게 되었다.
버킷리스트: 카페 차리기 To-Do
바리스타 자격증 따기
카페 들어갈 곳 정하기
인테리어 정하기
버킷리스트를이루기위해준비해야 되는 것들을정리하고실행하는것에도움이되었으면좋겠다.
사실 처음에 구상한 내용 그대로 스펙을 잡았다. 그래서 초기 기획 과정에 들어간 시간은 많지 않았던 것 같다.
하지만 그렇다고 이번에 기획적으로 배운 점이 없는 것은 절대 아니었다. 상세 기획에 들어가면서부터 참 많은 것들을 배울 수 있었다.
화면을 설계하는 상세 기획에 들어가면서 이번엔 컴포넌트 기획에 조금 더 신경을 쓰기로 했다.
컴포넌트 기획이 뭘까? 이를 알기 위해선 우선 컴포넌트가 뭔지 알아야 한다.
구글에컴포넌트를검색하면여러키워드가나오는데정리하면컴포넌트란여러곳에서재사용이가능한기능단위(모듈)이다.
약간 레고 블럭과 같은 느낌인데 이해가 어렵다면 아래 퇴준생 예시를 참고해보자. 파랑, 빨강 테두리 두 컴포넌트가 여러 화면에서 재사용되고 있다.
다시 말해컴포넌트기획이란기능단위의재사용성을고려한기획이다. 그러면컴포넌트기획의장점은무엇일까?
우선 하나의 기능 단위를 여러 화면에서 재사용할 수 있기에 작업 속도가 빨라진다.화면마다 모든 요소를 새롭게 설계하고 개발하지 않아도 된다.
또한 컴포넌트를 수정하면 관련된 화면에 모두 반영이 되어 유지, 보수가 쉬워진다. 매 화면별로 수정이 필요한 부분을 찾아다닐 필요가 없는 것이다.
결국 컴포넌트 기획을 하면 기획자, 디자이너 그리고 개발자 모두가 편해진다.그래서 이번 기회에 더 연습해보기로 마음을 먹은 것이었다.
퇴준생을상세 기획할때비슷한기능단위들은최대한하나의컴포넌트로만들고자했다. 기능이많지않은서비스였지만컴포넌트화할수있는부분은분명있었다.
일단상세 기획초기단계부터어떤기능단위를컴포넌트화할수있을지알기는어렵기때문에아래의방식으로진행했다.
1. 일단 쭈-욱 화면 설계
2. 중간중간 유사한 기능 단위들 리스팅
3. 리스팅된 부분 최대한 컴포넌트화
컴포넌트화를 위해 유사한 기능 단위들의 구성을 통일하는 작업이 필요해서 초반엔 시간이 더 소요됐다. 하지만 컴포넌트가 증가함에 따라 작업 속도는 점점 빨라졌다.
그런데 컴포넌트 기획의 진가는 디자인, 개발할 때 드러났다. 내가 직접 디자인과 개발을 했기에 재사용성의 효용을 직접 체감할 수 있었다.
디자인, 개발 역시 작업의 후반부로 갈수록 재사용할 수 있는 기능 단위들이 많아져 화면을 구현하는 시간이 줄었다. 어떤 화면은 컴포넌트로만 구성할 수도 있었다.
또한작업중간중간수정을해야할때도컴포넌트기획은큰도움이됐다. 변경사항이생기면컴포넌트만손봐주면됐기때문이다.
물론아직익숙하지않아 시행착오가있기도했다. 보통아래의두가지케이스였다.
1. 어.. 이거 재사용하기 어렵네..
여러 화면에서 쓰일 것 같은 기능 단위를 컴포넌트화 하였는데 개발을 해보니 뒷단 데이터 로직이 달라 재사용이 어려웠다.
뒷단 로직에서 예외 처리를 이것저것 하다보니까 코드가 복잡해져 가독성이 떨어졌다. 물론 이것은 내 개발 역량의 한계 때문일 수도 있겠지만 아래의 깨달음을 얻었다.
모습과 형식이 비슷하다고
무조건 컴포넌트화 할 수 있는 건 아니다.
뒷단 로직도 유사한지 봐야 한다.
2. 아.. 이걸 컴포넌트화 안 했네..
작업 막바지에 개발하기 바빠 신경을 덜 쓴 디자인을 이것저것 손을 봤는데 정말 노가다였다. 작은 버튼 하나의 텍스트 크기를 바꾸려면 매 화면마다 체크해서 수정해줘야 했다.
화면 내에서 큰 역할을 하지 않는 작은 단위라 컴포넌트화 하지 않았던 거 같은데 후회가 많이 됐다. 그래도 한땀한땀 노가다를 하며 아래의 다짐을 했다.
화면 내에서 역할이 사소해도
재사용성이 높다면 컴포넌트화 하자.
결국 두 케이스 모두 재사용성에 대해 제대로 파악하지 못해 발생한 결과인데.. 앞으로 연습하다보면 나아지지 않을까 한다.
그리고 이번에 느꼈는데 내가 직접 디자인과 개발을 하니 자체적으로 컴포넌트 기획을 진단할 수 있어 참 좋은 것 같다.
만약팀프로젝트였다면디자이너나개발자동료가나의실수를커버해줬을 거라는생각이든다. 내가싼똥은내가직접 치운다는점이개인사이드프로젝트의좋은점인것같다.
그러니 앞으로도 직접 디자인, 개발자 역할을 하며 컴포넌트 기획에 익숙해져야겠다. 결국 모두가 편해지기 위해 하는 방식이니 각각의 입장이 되어봐야지.
혼자사이드프로젝트를진행하며참많은것들을배웠다고말했지만.. 아쉬운점도분명있었다.
가장큰부분은스펙축소였다. 혼자가아니었다면욕심을더 냈을것이다. 아래의추가스펙들을혼자상상해봤다.
버킷리스트 제안
리서치, 사용자 데이터에 기반해 카지노 쿠폰 후 버킷리스트 제안하는 기능
D-Day에따른일러스트
남은 일자에따라달라지는메인화면일러스트
버킷리스트 커뮤니티
버킷리스트가 같은 사람들끼리 서로 응원하고 팁도 공유하는 기능
버킷리스트 관련 콘텐츠
버킷리스트를 이루기 위해 도움이 되는 콘텐츠
앱 기능과 디자인 그리고 콘텐츠적인 면에서 해보고 싶은 것들이 참 많았다. 잘 발전시키면 돈을 벌 수 있을지도?라는 망상을 하며 설레기도 했다.
하지만보통그렇듯이상과현실은달랐다. 부족한디자인과개발실력그리고나의안일함..
사실생각해보면안일함이가장큰문제였다.
혼자서 사이드 프로젝트를 하면 내가 모든 것을 책임져서 열심히 하게 되기도 하지만 반대로 안일한 타협을 하게 되기도 한다. 너무 어려운데 이 스펙 그냥 빼자라는 생각.
이번사이드프로젝트에선아쉽게도위와같이안일함에서 비롯된타협이좀있었다. 조금더해볼수있었을텐데라는아쉬움이조금남는다.
요새는 팀 프로젝트도 하니까 배가 부른 것 같은데 헝그리 정신을 다시 가져야겠다. 나에겐 이것밖에 없어라는 마음으로 개인 프로젝트에 임해보자.
앱을 출시했다고 끝이 아니다. 오히려 시작이지.
앞으로도 해볼 수 있는 것들은 계속해볼 예정이다. 안드로이드 버전도 얼른 만들어야 하고.. 할 거는 많다.
특히 카지노 쿠폰 관련 콘텐츠를 연재하는 것에 관심이 생긴다. 앱을 만들며 카지노 쿠폰 관련 기사, 유튜브를 보고 지인들과도 얘기해보았는데 카지노 쿠폰라는 게 자아실현과 맞닿아 있는 것같았다.
카지노 쿠폰하고뭐하고싶어라는질문을하면자신이좋아하는걸 떠올리는사람이많은것같다. 자신이잊고있었던그무언가를떠올리게하는것. 카지노 쿠폰도그런것중하나가아닐까.
이렇게머릿속에하고싶은것들이있으니기분이좋다. 하고싶은것들을실제로이뤄내면더좋을테니정진하자.
파이팅!
그리고 오늘도 긴 글 읽어주신 독자분들 감사합니다!
퇴준생 앱은 현재 iOS 버전만 제공하고 있으며, 아래 링크에서 다운로드 가능합니다.