🗣 지금의 나 : 대학3학년 휴학을 때리고 iOS 개발자로서 2년 가까이 보내면서 항상 가슴 한 편에 창업에 도전하는 꿈을 가지고 있었다.
그렇게 2022년이 찾아오고 오랫동안 꿈에서만 상상하던.. 스타트업에 도전하기로 결심했다!
곧바로 소프트웨어 마에스트로 13기에 지원하였고 현재의 팀원들과 공유 오피스에서 밤낮 쉬지 않고 달려나가고 있는 중이다
이 글을 쓰는 이유?
오전 10시부터 새벽 1시까지 평일 주말 가릴꺼 없이 MVP 기획, 검증, 개발을 끝내고 드디어 배포를 하게 되었고 이번 연휴 3일간 달콤한 휴식을 취하기로 했다.🥳
겸사겸사 휴식기간 동안 지금까지 우리의 서비스 개발기를 블로그로 남겨보고자 한다.
전체적인 서비스 시작과 앱 개발기를 다루며 마지막으로 회고를 마지막으로 끝내고자 한다. 기획부터 기능 개발, 배포까지 꽤 많은 부분이 들어가기 때문에 시리즈로서 모듈별로 나누어서 제작하고자 한다. 이 글을 보고 우리와 같이 서비스를 시작하는 사람들 혹은 Flutter 앱을 개발하고자 하는 분들의 개발 시간을 단축시켜 줄 수 있었으면 좋겠다.(피드백 혹읜 색다른 의견은 언제나 환영입니다!)
작성 계획
총 4파트로 나누어 작성할 예정이며 당연하게도? 기능 구현 파트가 가장 길어질 거 같다.
- 서비스 시작
- 서비스 시작 전 검증하기
- 아키텍처 구축 - 상태 관리를 위한 bloc 패턴과 클린 아키텍처
- Flutter 코어 기능 구현
- Font 적용하기
- API 통신으로 받아올 모델 정의 with Code_generator
- API Generic Call (보일러 플레이트 코드)
- API 내 Interceptor를 이용한 로그 및 인증로직 처리
- local DB(sqflite) 적용기
- 토큰 및 사용자 데이터 영구 저장하기(메모리에 데이터 저장하기) with 암호화, 객체, 데이터 저장소
- 똑같은 이미지 매번 로드할꺼야? - 이미지 캐싱하여 사용하기
- Firebase연동 crashlytics & anlalytics 및 디버그 view를 이용해 연동 확인
- 앱 내 광고 띄우기 Admob 연동하기
- 앱의 첫 화면 - Splash화면 적용하기
- kakao 로그인, apple 로그인 적용하기
- 푸시 알림 적용하기 및 딥링크 구현하기
- 시스템에서 알림을 off 했다면? - 앱 시스템 설정으로 보내기
- iOS - ATT 적용하기
- Flutter 트러블 슈팅
- Firebase와 admob을 동시에 사용할때 의존된 라이브러리 버전 크래시 문제
- iOS archieve 시 module not found 문제 - podfile과 deploy target OS 맞추기
- bloc 패턴 state가 변경해도 view가 바뀌지 않는 문제
- sqflite 적용시 iOS 실행 문제
- Flutter 앱배포하기
- iOS app store connect
- Android play store console
- 마무리