Skip to content

yoruck2/Mindol.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 

Repository files navigation

마음돌.봄

그날의 감정을 대신 표현해주는 돌 캐릭터와 함께 기록하고 쌓을 수 있는 감정일기 앱
"소중한 기억들을 돌에 새겨 차곡차곡 쌓아보세요."

개발환경

Static Badge Static Badge Static Badge
기간: 2024.09.10 ~ 2024.10.02 (약 4주)
인원: 1명

📷 ScreenShot

메인화면 달력화면 일기상세 일기작성 일기열람

📌 주요기능

  • 일기 작성/수정/삭제: 일기를 위한 기본적인 CRUD를 할 수 있습니다.
  • 돌 쌓기: 유저가 작성한 작성한 일기의 감정 돌 캐릭터가 메인 화면에 쌓입니다. 쌓인 돌들은 디바이스의 움직임에 맞춰 굴러갑니다.
  • 달력 기능: 달력을 통해 한눈에 일기현황을 파악할 수 있으며 일기를 열람하거나 새 일기를 작성할 수 있습니다.
  • 월간/연간 리스트로 일기 열람
    • 리스트 형태로 일기를 열람하고 지정한 연/월로 조회할 수 있습니다.
    • 일기검색기능

예정된 업데이트

  • 사진 추가기능
  • 음성 녹음기능

🧰 기술스택

분야 기술 스택
🎨 UI SwiftUI
♻️ 반응형 프로그래밍 Combine
📦 데이터베이스 RealmSwift
+ Repository 패턴
🎸 기타 SpriteKit
CoreMotion

🛠️ 주요 기술 상세

SpriteKit, CoreMotion 을 활용한 RockStackScene 구현

  • 해당하는 달의 일기를 각각의 일기 데이터를 가진 SKNode로 생성하여 physicsBody에 현실과 유사한 물리법칙을 적용
  • CMMotionManager 을 활용하여 디바이스 움직임에 따라 node가 움직이도록 구현
  • SceneWrapper
    현재 월별 데이터 관리 및 업데이트를 담당하며 Scene과 다른 객체 사이의 중개자 역할 현재 보고있는 달(currentMonth)이 변화할 때 DiaryRepository로부터 해당 달의 일기 데이터를 RockStackScene 및 CustomCalendarView에 반영

RealmSwift 을 활용한 실시간 데이터베이스 동기화

  • @ObservedResults와 @ObservedRealmObject 프로퍼티 래퍼를 사용해 데이터가 변경될 때마다 자동으로 UI가 업데이트되도록 구현
  • Repository 패턴으로 데이터베이스 작업을 하나의 클래스로 모아 관리

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages