프로젝트 기간 | 2025.12.20 ~ ing
초등학생 자녀의 일정 관리와 자기주도적 습관 형성을 동시에 돕는
게이미피케이션 기반 성장 플랫폼입니다.
- 📅 일정 관리 & 미션 기반 루틴 형성
- 📸 카메라 미션 인증
- 🤖 AI 미션 생성
- 🔔 SSE 기반 실시간 알림
- 🪙 보상 시스템(금화)과 소원의 우물
| 신혜연 | 안치욱 | 한현서 | 정윤아 |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
iOS Developer Lead |
iOS Developer |
iOS Developer |
iOS Developer |
| 스케줄 관리 [일정(시간표), 미션(AI)] |
온보딩, 소셜 로그인(카카오 로그인) |
오늘의 여정(카메라) | 알림(SSE), 금화 미션, 소원의 우물, 로그아웃 |
각 팀원은 하나 이상의 주요 기능을 책임지고 설계부터 구현까지 수행했습니다.
| 구분 | 기술 | 사용 이유 |
|---|---|---|
| UI 프레임워크 | UIKit | 안정적이고 풍부한 레퍼런스를 기반으로 한 실무 적합성 |
| 아키텍처 | MVVM | View와 비즈니스 로직을 분리하여 유지보수성과 테스트 용이성 확보 |
| 비동기 / 반응형 | Combine | 데이터 흐름을 선언적으로 처리하고 상태 바인딩을 효율적으로 관리 |
| 실시간 알림 | SSE (Server-Sent Events) | 서버 이벤트를 단방향 스트림으로 수신하여 실시간 알림 및 상태 변경을 즉시 반영 |
| 카메라 | AVFoundation / UIImagePickerController | 자녀의 미션 수행 결과를 촬영하여 증빙 이미지로 활용 |
| AI 연동 | AI API (LLM / Image Processing) | 촬영된 이미지 및 입력 데이터를 기반으로 미션 검증 및 콘텐츠 처리 |
| 이미지 처리 | Kingfisher | 이미지 캐싱을 통해 불필요한 네트워크 트래픽을 줄이고 메모리 효율성 극대화 |
| 레이아웃 | SnapKit | 복잡한 Auto Layout 코드를 간결하고 직관적으로 작성 |
| UI 유틸리티 | Then | UI 초기화 코드의 가독성과 응집도 향상 |
| 로컬 저장소 | UserDefaults | 간단한 유저 설정 및 사용자 정보 유지 |
| 의존성 주입 | DIContainer | 모듈 간 결합도를 최소화하여 테스트 편의성 및 확장성 확보 |
| 로그인 | KakaoOpenSDK | 카카오 소셜 로그인을 통한 간편한 사용자 인증 |
| 버전 관리 | Git, GitHub | 분산 버전 관리 시스템을 통한 형상 관리 및 협업 |
| 협업 도구 | Figma, Notion | UI/UX 디자인 리소스 공유 및 프로젝트 문서화, 태스크 관리 |
Kiero iOS는 UIKit + MVVM + DIContainer 구조를 기반으로
Presentation 계층에서 화면 단위로 MVVM을 구성합니다.
Kiero
├── 📁 Application
│ ├── AppDelegate.swift
│ └── AppDIContainer.swift
│ └── SceneDelegate.swift
│
├── 📁 Network # 네트워크 계층
│
└── 📁 Presentation # 프레젠테이션 계층
│
├── 📁 Common # 전역적으로 사용하는 공통 요소
│ ├── 📁 Base # BaseViewController, BaseViewModel 등
│ ├── 📁 Components # 공통 UI 컴포넌트
│ ├── 📁 Extensions # UIKit, Foundation 확장
│ ├── 📁 Factory # DI Container, Coordinator Factory 등
│ └── 📁 Resources # 리소스 관리
│ ├── 📁 Font # 커스텀 폰트 파일 및 등록 로직
│ └── 🖼️ Assets # 공통 이미지, 컬러셋 (xcassets)
│
├── 📁 CoinMission # 금화 미션 화면
├── 📁 DailyJourney # 오늘의 레시피 화면
├── 📁 GiveFireStone # 불 피우기 화면
├── 📁 Login # 로그인 화면
├── 📁 Mission # 미션 화면
├── 📁 MissionComplete # 불 조각 획득 화면
├── 📁 NotificationFeed # 알림 피드 화면
├── 📁 Onboarding # 온보딩 화면
├── 📁 PickRole # 화면
├── 📁 Schedule # 일정 화면
└── 📁 WishWell # 소원의 우물 화면📝 트러블 슈팅은 Notion에 정리되어있습니다.
📝 실패 경험은 Notion에 정리되어있습니다.





