- Flutter 기반 Andorid & iOS 어플리케이션으로 본인 인증으로 회원가입이 가능하다.
- 인증된 회원은 userId 값을 가지고, 자신의 ID로 다른 사람을 초대할 수 있는 다이나믹 링크를 만들어 나에게 WINK를 보내거나 질문하도록 할 수 있다.
- 초기 한 명의 회원에게 WINK를 보낼 수 있고 상대는 익명으로 받게 된다.
- WINK를 받은 회원은 푸시알림과 WINK박스에서 수신 내역을 확인할 수 있고, WINK를 보낸 회원에게 질문을 할 수 있다.
- 한 명 이외의 여러명의 사람에게 WINK를 보내고 싶다면 코인을 사용한다.
- 코인은 친구초대, 광고시청 또는 인앱결제로 얻을 수 있다.
- 또 코인은 누가 나에게 WINK를 보냈는 지 힌트를 얻고 싶을 때 사용할 수 있다.
- 힌트는 프로필 사진, 닉네임, 성별 등을 회원이 제공한다.
- 앱 설정 기능으로는 다국어 지원, 푸시알림 설정, 다크모드 등이 있다.
- 본인 인증은 Firebase Authentication 기반 전화번호 인증을 사용. 월 5만회까지 인증 무료이고 사용량에 따라 과금된다.
- 회원 정보는 Firebase Realtime Database 에 키/밸류 형태로 저장되며, Firebase 인증을 받은 회원에게 접근이 허용된다.
- 푸시 알림은 FCM 으로 구성되며, 토큰을 이용하여 푸시를 발송한다. 전체 공지 또는 광고 푸시는 웹 콘솔에서 발송한다.
- 회원이 업로드한 사진은 Firebase Storage에 회원 ID를 기반으로 저장한다.
- 친구 초대 링크는 Dynimic Links 로 생성하여 앱 설치까지 유도할 수 있다.
| 초기 화면 | 로그인(전화번호 인증) | 회원가입 |
|---|---|---|
![]() |
![]() |
![]() |
| WINK 보내기 전 | WINK 보내기 후 | WINK 박스 |
![]() |
![]() |
![]() |
| 푸시알림 | 코인 결제 | 프로필 |
![]() |
![]() |
![]() |
| 프로필 수정 | 친구 초대 | 설정 |
![]() |
![]() |
![]() |
android / ios Dir 에서
$ bundle install
plugin 추가
$ fastlane add_plugin [플러그인 이름]
memo: badge 플러그인은 imagemagick 라이브러리를 사용함
$ brew install imagemagick
lane: beta(내부 테스트 및 테스트 플라이트), release(스토어 배포) env: production, staging
$ fastlane [lane 이름] --env [환경변수 파일 이름]












