Skip to content

Fury - 미래일기 #83

Closed
Closed
@MoSonLee

Description

@MoSonLee

FURY

주요 기능

  • 오늘을 기록할 수 있는 기본 다이어리 + 미래의 자신에게 편지를 쓸 수 있음.

특이사항

  • 유료 어플: 애플의 수익 구조가 궁금해서 유료 어플로 출시해봤습니다.
    • 사업자 등록 + 통신판매업 신고 -> 애플 세금 양식 등록 -> 승인의 과정을 거침
  • 아이패드 대응
  • iOS 14.0 이상
  • 다국어 대응: 한국어, 영어, 인도네시아어, 중국어(번체, 간체), 인도네시아어, 태국어, 배트남어
  • 다크모드에 따른 다른 디자인 설정
  • custom font 적용
  • 스크린샷 대응

image

image

image

  • 이런식으로 모든 국가별 스크린샷을 아이폰, 아이패드에 따라 찍어줘서 224장을 밤 새서 작업했습니다. ㅜㅜ

데이터 설계

  • image
  • 램 데이터는 간단합니다. 제목, 내용, 등록 시간
  • filter를 사용하여 현재 시간까지만 데이터를 보여줄 수 있게 설정

  • 그렇다면 어떻게 저 세개로 미래, 현재를 구분했을까?
  • notification에 미래일기 등록시간 - 현재시간만큼 time interval를 걸어줘서 노티를 보내줌
  • 노티를 클릭했을 때 cell이 reload 되게 설정해줌
  • 도착한 일기들을 계속 노티에 넣어줬을 때 time interval이 0보다 작아져서 오류가 발생
    • 해결법: 타임 인터벌(미래 설정한 시간 - 현재 시간)이 0보다 큰 것만 filter로 걸러내서 해결
  • 노티 설정을 백그라운드, 포그라운드 모두에서 설정해줘야 한다는 것을 알고 따로 설정해줌

Open Source

  • RxSwift
  • Realm
  • Toast
  • Zip
  • SideMenu
  • IQKeyboard를 사용하지 않고 키보드 높이를 계산해서 뷰에 적용시켜줌

아키텍쳐

  • MVC + RXSwift(input + output방식 사용)
  • 오늘, 미래를 기록하고 받아오는 두가지 화면 관련 로직들을 RxSwift를 사용
  • 시간 관계상 나머지 home, setting 쪽은 MVC를 사용하여 구현했습니다 -> 추후 MVVM or Rx로 수정 예정입니다!

주요 기능

  • 검색: 일기들을 내용, 텍스트 내용에 맞게 검색할 수 있음
  • 보관함: 날짜에 맞게 내림 정렬해 일기들을 보여줌
  • 복구/백업: Zip 사용

시간이 부족해 포기한 기능들

  • onBording 화면
  • 앱 잠금
  • 폴더 기능

램 데이터 암호화

  • 백업 파일을 뜯어 봤을 때 미래에 작성한 일기들도 미리 확인할 수 있다는 피드백을 받고
  • Realm에 데이터를 넣어줄 때 key값을 사용하는 방식으로 뜯어보지 못하게 암호화 시켰습니다.
  • 암호화 시키기 전

image

- 암호화 시킨 후

image

출시 후 버그 수정

  • 1.0.1: 사이드 메뉴 띄워주는 방식을 바꾸어주었습니다.
  • 1.0.2: 아이패드에서 종종 레이아웃이 깨지는 오류를 수정해주었습니다.
  • 1.0.3: 일부 기종에서 sidemenu 배경색이 보이지 않는 오류를 수정해주었습니다.
  • 1.0.4: 일기 작성화면으로 들어갈때 키보드가 버벅이면서 뜨는 오류를 해결해주었습니다.

공수산정 문제

image

image

image


  • 이게 제 공수산정 및 wireframe이었습니다..
  • 솔직히 생각해서 시간을 정해놓는 것이 큰 의미가 있을까? 그냥 될 때까지 하면 되는게 아닐까라고 생각했는데
  • 기획, 디자인, 기능 전반적인 모든 것을 출시하면서 코드 작성과 함께 해서 정말 고생했습니다.
  • 그리고 잭님이 될 때까지 하는건 아직 젊어서 가능한거라고 말씀하신게 정말 와닿아서 다시는 이렇게 대충 공수산정을 짜지 않겠다고 다짐했습니다..

추가 업데이트 예정

  • 앱 잠금 화면
  • 폴더
  • 코드 리팩토링(MVVM, RX)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions