brunch

NEXTERS 27기 회고 - 미미키에 대해

밈 공유 앱 미미키를 출시하기까지

by 이웃집개발자

NEXTERS 27기에 Android 개발자로서 참여 하게 되었습니다. �


이번 프로젝트에서 가장 큰 목표는 배포 성공하고 운영해보기!

지금까지 여러 번 토이 프로젝트에 참여해봤지만 출시를 해도 관리를 하지 않거나 출시 자체를 하지 못한 경우도가 많았던 지난 날들...

sticker sticker


때문에 이번 미미키 프로젝트에서는

안드로이드 통곡의 14일 테스트 기간을 통과해 출시하기

를 가장 우선적인 목표로 설정하였습니다.


� 대략적인 계획은 아래처럼!




1. 아이디어 빌드업

첫 팀원들과 진행한 것은 밈 공유 서비스라는 주제를 가지고 어떤 기능을 제공할지에 대해 의논해보는 시간이었다. PM이 내주신 아이디어는 명확하지만 기획 담당자가 별도로 있는 것은 아니기 때문에 각자 주제를 듣고 생각했던 점들을 공유하고 하나로 맞춰나갈 수 있었다. �


내가 생각했던 서비스 기능들은

- 원하는 밈에 대해서 검색할 수 있어야 한다.

- 모르는 밈들에 대해서 정보들을 흥미롭게 제공할 수 있어야 한다.

위 2가지 였다.


��회의 당시 작성했던 문서


평소에도 머리속으로만 정리하는거에 약해서 시각적으로 정리해보면서 회의를 진행해보았다.

이렇게 시각적으로 자신의 의견을 정리하면 다른 팀원들에게 자신의 생각을 전달하고 어필하는데 이만큼 도움이 될 수도 없지 않다.


이렇게 대략적인 기능들이 회의에서 정해지고 이제는 디자인이 완성 될 때까지 개발자로서 할 수 있는 밑작업을 진행할 수 있게 되었다.








2. 프로젝트 구성

화면 기획서와 디자인 문서가 나올 때까지 진행해야할 밑작업

- 다른 Android 개발자와 역할 분담!

- 프로젝트 생성


그 중 프로젝트 구성은 이전에 개인적으로 사용하고자 만들어둔 멀티모듈 Repository 프로젝트를 사용하였다. �

sticker sticker

이전에 만들어뒀던 기본 프로젝트가 이렇게 도움이 되다니 너무나 뿌듯하면서도

이 덕분에 프로젝트 구성은 오래 걸리지 않고 해결 완료!


기본 구조는 Now in Android 프로젝트를 참고하였다.

가장 상위에 App 모듈이 있고, 그 아래 각 화면에 맞는 Feature 모듈이 있는 형식이다.


3. 개발

대략 1주일이 지나고 나서 디자인 문서가 완성되었다는 소식을 전달 받고 바로 Figma를 보러 갔다.

왜인걸 디자이너 분들이 엄청난 레퍼런스를 정리해두셔서 덩달아 의욕이 더욱 불타오르게 되었다.ㅎㅎ �

화면 캡처 2025-09-08 215856.png


아쉬운 점이 있었다면 회사에서는 프로젝트를 진행할 때

화면별로 제공되어야 하는 기능들과 제한 사항에 대해서 정리해둔 부분을 참고하여 설계를 하기 시작했었는데..


맞다! 화면 기획서의 부재였다..

없으면 만들면 되지!!


2주차 오프라인 모임에서는 각 화면에 필요한 정보와 User Event 등을 정리하는 시간을 가져보았다.

회사에서 점주용 프로그램을 전체적으로 리팩토링할 때 직접 화면 기획서를 작성해본 경험 덕분에 어렵지 않게 해낼 수 있었다. ( 이참에 써보고 싶었던 Figma Plugin도 사용해보긔 � )

화면 캡처 2025-09-08 220749.png


내가 맡은 화면들은 밈 이미지를 볼 수 있는 화면들로 대부분 동일한 Component가 반복되기 때문에 요 밈 이미지 Component를 먼저 만들고 더 큰 Component들을 순차적으로 구성하는 Atomic UI 구성 방법을 사용했다.

( 디자인 시스템 -> 디자인 시스템 Component -> 리스트 item 구성 -> ... -> 전체 화면 구성 순으로!)


사실 넥스터즈가 있던 시기에 회사에서도 여러 프로젝트를 동시에 수행하고 있었고

대부분의 프로젝트에서 애니메이션이나 복잡한 화면 구성들이 많이 포함되어 있었어서 그런지 리스트만 있는 미미키 화면은 천국 그 자체였다.

sticker sticker

한 가지 한번도 해보지 못한 구현이라 한다면 리스트에서 밈에 대한 설명과 유래가 왼쪽으로 무한 스크롤링이 되도록 하는 요구사항이었다.


처음 보는 기능을 구현할 때에는 아래 2가지를 우선 찾아보자

1. 참고할 만한 레퍼런스

2. AI (Chat gpt, Claude 등)

예전이었다면 구글링을 통해 레퍼런스를 찾기에만 급급했다면 요새는 AI에게 우선적으로 물어보는게 가장 빠른 해답이지만 이번만큼은 구글링을 통해 적절한 참고 자료를 찾을 수 있었다.ㅎㅎ

역시 Compose! 자료를 찾아보니 Compose에서 이미 동일한 기능을 제공하는 Modifier가 있는점을 알게 되었고 쉽게 적용할 수 있었다.


API 통신

API Response 규격은 오른쪽과 같았다.

- resultType : 성공 / 실패 여부

- success : 성공인 경우 Body

- error : 실패인 경우 Body


위 정보들 중 성공인 경우에 오는 Body만 각 API마다 다르기 때문에 해당 파라미터만 제네릭 형식으로 받도록 하였다.


지금까지 해왔던 서버 연동에서 실패 시에는 Error Code로 넘겨주었었기 때문에 낯선 Response 형식이었지만, 위에서 말했던 success 타입만 다르기 때문에 꼭!! 공통 코드로 묶고 싶은 마음이 있어 (그래야 Boiler Plate도 줄이고 다른 개발자분들도 편하게 개발할 수 있을거 같아서) CommonResponse를 만들게 되었다.


사실 제네릭 타입으로 해야하는게 바로 생각나지 않어 여러번 삽질하고 나서 해결할 수 있었다.ㅎㅎ



이렇게 화면을 개발하고 API 통신까지 완료해서 8월 1일! 1차 심사 제출을 성공적으로 완료하게 되었다.

이제 14일간의 심사를 지나 진짜 Production 배포를 준비할 뿐!!


1차 심사를 제출하고도 2주간 2-3번에 걸친 추가 테스트 배포를 진행!!

화면 캡처 2025-09-08 225050.png

대망의 8월 17일 드디어 Production 배포에 성공했다. �

이전 토이 프로젝트에서는 넘지 못했던 기간 내에 배포에 성공한 날 정말 눈물이 났다.

sticker sticker


4. 마무리

넥스터즈는 끝났지만 아직 미미키에서 해보고자 하는 것들이 많이 있다.

넥스터즈 활동 시기에는 Production 배포와 MVP 기능 구현에 목표를 두었다면 앞으로는 보다 나은 UX 제공을 위해 세부적인 구현 사항들을 개선하고자 한다.


서버 분들과는 검색 기능을 단순 단어 검색이 아니라 보다 심도 있는 검색 기능 ( 키워드 검색 등)을 꼭 추가해보고 싶은 마음이다. �

sticker sticker


다들 저희 미미키에 많은 관심 부탁드립니다. ��

keyword
매거진의 이전글넥스터즈 27기 - 미미키 Android 후기