Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

338 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ RocketCall

우주 ν…Œλ§ˆλ₯Ό μ μš©ν•œ μ‹œκ°„ 관리 iOS μ•±
μ•ŒλžŒ, 타이머(λ―Έμ…˜), μŠ€ν†±μ›ŒμΉ˜(자유 ν•­ν–‰) κΈ°λŠ₯을 톡해 μ‹œκ°„μ„ 더 λͺ°μž…감 있게 관리할 수 μžˆλ„λ‘ λ•λŠ” μ•±


✨ ν”„λ‘œμ νŠΈ μ†Œκ°œ

RocketCall은 λ‹¨μ‘°λ‘œμš΄ κΈ°λ³Έ μ‹œκ³„ μ•±μ˜ κ²½ν—˜μ—μ„œ λ²—μ–΄λ‚˜,
우주 ν•­ν–‰μ΄λΌλŠ” 컨셉을 기반으둜 μ‹œκ°„μ„ 더 재미있고 μ§κ΄€μ μœΌλ‘œ 관리할 수 μžˆλ„λ‘ κΈ°νšν•œ μ•±μž…λ‹ˆλ‹€.

μ‚¬μš©μžλŠ” λ‹¨μˆœνžˆ μ‹œκ°„μ„ μž¬λŠ” 것이 μ•„λ‹ˆλΌ,
ν•˜λ‚˜μ˜ λ―Έμ…˜μ„ μˆ˜ν–‰ν•˜λ“― μ•ŒλžŒμ„ μ„€μ •ν•˜κ³ , 타이머λ₯Ό μ§„ν–‰ν•˜κ³ , 자유둭게 ν•­ν–‰ν•˜λ“― μŠ€ν†±μ›ŒμΉ˜λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • ν”„λ‘œμ νŠΈλͺ…: RocketCall
  • νŒ€λͺ…: Alarara
  • 개발 κΈ°κ°„: 2026.03.20 ~ 2026.03.30

🎯 기획 배경

κΈ°λ³Έ μ•ŒλžŒ/타이머 앱은 ν•„μˆ˜ κΈ°λŠ₯은 μΆ©λΆ„ν•˜μ§€λ§Œ,
μ‚¬μš©μžκ°€ μ‹œκ°„μ„ λͺ°μž…감 있게 κ²½ν—˜ν•˜λ„λ‘ λ•λŠ” μš”μ†ŒλŠ” λΆ€μ‘±ν•˜λ‹€κ³  λŠκΌˆμŠ΅λ‹ˆλ‹€.

RocketCall은 이 μ§€μ μ—μ„œ μΆœλ°œν–ˆμŠ΅λ‹ˆλ‹€.

  • μ‹œκ°„ 관리λ₯Ό 더 재미있게 λ§Œλ“€ 수 μ—†μ„κΉŒ?
  • λ½€λͺ¨λ„λ‘œ, μ•ŒλžŒ, μŠ€ν†±μ›ŒμΉ˜λ₯Ό ν•˜λ‚˜μ˜ ν†΅μΌλœ μ»¨μ…‰μœΌλ‘œ 묢을 수 μ—†μ„κΉŒ?
  • λ‹¨μˆœν•œ κΈ°λŠ₯ 앱이 μ•„λ‹ˆλΌ, μ‚¬μš©μžκ°€ μƒνƒœμ™€ 흐름을 체감할 수 μžˆλŠ” 앱을 λ§Œλ“€ 수 μ—†μ„κΉŒ?

이 고민을 λ°”νƒ•μœΌλ‘œ β€œμ‹œκ°„ = 우주 항행” μ΄λΌλŠ” 컨셉을 μ μš©ν–ˆμŠ΅λ‹ˆλ‹€.


🌌 핡심 컨셉

μ‹œκ°„ = 우주 ν•­ν–‰

RocketCall은 μ‹œκ°„μ„ ν•˜λ‚˜μ˜ 우주 λ―Έμ…˜μ²˜λŸΌ ν•΄μ„ν•©λ‹ˆλ‹€.

  • μ•ŒλžŒ: λ°œμ‚¬ μΉ΄μš΄νŠΈλ‹€μš΄
  • 타이머: κ³„νšλœ λ―Έμ…˜ μˆ˜ν–‰
  • μŠ€ν†±μ›ŒμΉ˜: 자유 ν•­ν–‰
  • ν™ˆ ν™”λ©΄: 기둝과 ν˜„μž¬ μƒνƒœλ₯Ό ν™•μΈν•˜λŠ” κ΄€μ œ μ„Όν„°

μ΄λ ‡κ²Œ 각각의 κΈ°λŠ₯을 ν•˜λ‚˜μ˜ 세계관 μ•ˆμ—μ„œ μžμ—°μŠ€λŸ½κ²Œ μ—°κ²°ν•˜κ³ μž ν–ˆμŠ΅λ‹ˆλ‹€.


πŸ“μ™€μ΄μ–΄ ν”„λ ˆμž„

image

πŸ›  μ£Όμš” κΈ°λŠ₯

1. ν™ˆ ν™”λ©΄

  • μ£Όκ°„ 기둝 ν‘œμ‹œ
  • κ°€μž₯ κ°€κΉŒμš΄ μ•ŒλžŒ ν‘œμ‹œ

2. μ•ŒλžŒ κΈ°λŠ₯

  • μ•ŒλžŒ 리슀트 확인
  • μ•ŒλžŒ On / Off
  • μ•ŒλžŒ μΆ”κ°€ / μˆ˜μ • / μ‚­μ œ
  • μ‹œκ°„ μ„€μ •
  • 반볡 μ„€μ •
  • λ ˆμ΄λΈ” 이름 및 μ„€λͺ… μž…λ ₯
  • μ‚¬μš΄λ“œ μ„€μ •
    • ν–…ν‹±
    • κΈ°λ³Έ μ‚¬μš΄λ“œ
    • 보관함 λ…Έλž˜ 선택
  • λ‹€μ‹œ μ•Œλ¦Ό μ„€μ •

3. 타이머 κΈ°λŠ₯ (λ―Έμ…˜)

  • λ―Έμ…˜ 리슀트 확인
  • μ‹œμž‘ / 쀑지
  • μˆ˜μ • / μ‚­μ œ
  • λ©€ν‹° 타이머 κΈ°λŠ₯
  • μ‹ κ·œ 등둝 ν™”λ©΄
    • λΉ λ₯Έ 선택 메뉴
    • μ»€μŠ€ν…€ μ„€μ •
  • μ§„ν–‰ ν™”λ©΄
    • μ§„ν–‰ μ• λ‹ˆλ©”μ΄μ…˜
    • ν˜„μž¬ μ§„ν–‰ μ‹œκ°„ ν‘œμ‹œ

4. μŠ€ν†±μ›ŒμΉ˜ κΈ°λŠ₯ (자유 ν•­ν–‰)

  • μ‹œμž‘ / μΌμ‹œμ •μ§€ / 쀑단
  • Lap 기둝
  • μž¬μ„€μ •

🧩 도전 κΈ°λŠ₯ / ν™•μž₯ 아이디어

λ‹€μŒ κΈ°λŠ₯은 μ‹€μ œ κ΅¬ν˜„ κΈ°λŠ₯κ³Ό λ³„λ„λ‘œ, ν”„λ‘œμ νŠΈ ν™•μž₯ λ°©ν–₯으둜 κΈ°νšν•œ μ•„μ΄λ””μ–΄μž…λ‹ˆλ‹€.

  • λ―Έμ…˜ 달성 μ‹œ NASA API 기반 이미지 보상
  • Dynamic Island ν™œμš©
  • 세계 μ‹œκ³„ κΈ°λŠ₯ ν™•μž₯
  • λ―Έμ…˜ 둜그 μΉ΄λ“œ
  • μœ„μ ― 지원
  • 우주 μ•°λΉ„μ–ΈνŠΈ μ‚¬μš΄λ“œ

πŸ— 기술 μŠ€νƒ

Language

  • Swift

UI

  • UIKit

Architecture

  • MVVM
  • RxSwift Input / Output Pattern

Persistence

  • CoreData

Library

  • RxSwift
  • SnapKit
  • Then
  • Lottie

Collaboration

  • GitFlow
  • PR Review
  • Gemini Code Assist

πŸ“ 폴더 ꡬ쑰

RocketCall
β”œβ”€β”€ Model
β”‚   β”œβ”€β”€ CoredataEntity
β”‚   β”œβ”€β”€ AlarmModel
β”‚   β”œβ”€β”€ CoreDataManager
β”‚   β”œβ”€β”€ NotificationManager
β”‚   β”œβ”€β”€ Payload
β”‚   └── Model
β”‚
β”œβ”€β”€ Util
β”‚   β”œβ”€β”€ TimeContainerView
β”‚   β”œβ”€β”€ BaseCardView
β”‚   β”œβ”€β”€ CircleButton
β”‚   β”œβ”€β”€ GradientProgressView
β”‚   β”œβ”€β”€ TitleView
β”‚   └── UIViewController+
β”‚
β”œβ”€β”€ View
β”‚   β”œβ”€β”€ Alarm
β”‚   β”œβ”€β”€ HomeTab
β”‚   β”‚   β”œβ”€β”€ Controller
β”‚   β”‚   └── View
β”‚   β”œβ”€β”€ Mission
β”‚   β”‚   β”œβ”€β”€ Create
β”‚   β”‚   β”œβ”€β”€ List
β”‚   β”‚   └── MissionResultView
β”‚   β”œβ”€β”€ Stopwatch
β”‚   └── TimerAnimationView
β”‚
β”œβ”€β”€ ViewModel
β”‚   β”œβ”€β”€ AlarmListViewModel
β”‚   β”œβ”€β”€ AlarmSettingViewModel
β”‚   β”œβ”€β”€ CreateMissionViewModel
β”‚   β”œβ”€β”€ HomeViewModel
β”‚   β”œβ”€β”€ MissionViewModel
β”‚   β”œβ”€β”€ StopWatchViewModel
β”‚   β”œβ”€β”€ TimerAnimationViewModel
β”‚   β”œβ”€β”€ TimerViewModel
β”‚   └── ViewModelProtocol
β”‚
β”œβ”€β”€ AppDelegate
β”œβ”€β”€ SceneDelegate
└── Assets

🧠 μ•„ν‚€ν…μ²˜

RocketCall은 MVVM μ•„ν‚€ν…μ²˜λ₯Ό 기반으둜 κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

View

  • μ‚¬μš©μž μž…λ ₯을 λ°›κ³  화면을 ꡬ성
  • ViewModel의 Output을 λ°”μΈλ”©ν•˜μ—¬ UIλ₯Ό κ°±μ‹ 

ViewModel

  • Viewμ—μ„œ μ „λ‹¬ν•œ Input을 기반으둜 λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ 처리
  • κ°€κ³΅λœ μƒνƒœλ₯Ό Output으둜 전달

Model / Data Layer

  • CoreDataλ₯Ό ν†΅ν•œ 데이터 μ €μž₯
  • μ•Œλ¦Ό κ΄€λ ¨ 둜직 관리
  • ν•„μš”ν•œ 데이터 λͺ¨λΈ 및 Payload 관리

특히 μƒνƒœ 변화와 이벀트 흐름이 λ§Žμ€ ν”„λ‘œμ νŠΈ νŠΉμ„±μƒ RxSwift Input / Output νŒ¨ν„΄μ„ ν™œμš©ν•΄ ν™”λ©΄κ³Ό 둜직의 흐름을 더 λͺ…ν™•νžˆ λ‚˜λˆ„κ³ μž ν–ˆμŠ΅λ‹ˆλ‹€.


πŸ’‘ 기술적 μ˜μ‚¬κ²°μ •

1. MVVM 적용

  • κΈ°λŠ₯이 μ•ŒλžŒ, 타이머, μŠ€ν†±μ›ŒμΉ˜, ν™ˆ ν™”λ©΄μœΌλ‘œ λ‚˜λ‰˜μ–΄ μžˆμ—ˆκΈ° λ•Œλ¬Έμ— ν™”λ©΄ 둜직과 λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ 뢄리할 ν•„μš”κ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
  • MVVM을 μ μš©ν•΄ 각 κ³„μΈ΅μ˜ 역할을 λͺ…ν™•νžˆ λ‚˜λˆ„κ³ , κΈ°λŠ₯λ³„λ‘œ ViewModel을 뢄리해 μœ μ§€λ³΄μˆ˜μ„±κ³Ό ν™•μž₯성을 λ†’μ΄κ³ μž ν–ˆμŠ΅λ‹ˆλ‹€.

2. RxSwift Input / Output νŒ¨ν„΄ μ‚¬μš©

  • 이번 ν”„λ‘œμ νŠΈλŠ” λ‹¨μˆœ ν™”λ©΄ κ΅¬μ„±λ³΄λ‹€μƒνƒœ λ³€ν™”, μ‚¬μš©μž μž…λ ₯, 타이머 흐름, ν™”λ©΄ 바인딩이 μ€‘μš”ν•œ ν”„λ‘œμ νŠΈμ˜€μŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ ViewControllerκ°€ 직접 λͺ¨λ“  μƒνƒœλ₯Ό μ²˜λ¦¬ν•˜κΈ°λ³΄λ‹€, Input을 μ „λ‹¬ν•˜κ³  Output을 κ΅¬λ…ν•˜λŠ” ꡬ쑰둜 ꡬ성해 흐름을 더 예츑 κ°€λŠ₯ν•˜κ²Œ λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.

3. CoreData ν™œμš©

  • μ•ŒλžŒ, λ―Έμ…˜, 기둝 λ“±μ˜ 데이터λ₯Ό λ‘œμ»¬μ— μ €μž₯ν•˜κ³  κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ CoreDataλ₯Ό μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€.

4. 곡톡 μ»΄ν¬λ„ŒνŠΈ 뢄리

  • TitleView, BaseCardView, GradientProgressView λ“± 곡톡 UI μ»΄ν¬λ„ŒνŠΈλ₯Ό λ³„λ„λ‘œ λΆ„λ¦¬ν•˜μ—¬ μž¬μ‚¬μš©μ„±μ„ 높이고 화면별 일관성을 μœ μ§€ν•˜κ³ μž ν–ˆμŠ΅λ‹ˆλ‹€.

πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ νŒ€μ› 및 μ—­ν• 

이름 λ‹΄λ‹Ή
ν•œμ£Όν—Œ μŠ€ν†±μ›ŒμΉ˜
λ³€μ˜ˆλ¦° 메인 ν™”λ©΄
μž₯예슬 타이머 μ§„ν–‰ ν™”λ©΄(μ• λ‹ˆλ©”μ΄μ…˜)
μ†μ˜λΉˆ 타이머 ν™”λ©΄
김주희 μ•ŒλžŒ ν™”λ©΄
곡톡 SA μž‘μ„±, 슀크럼 일지 정리

🀝 ν˜‘μ—… 방식

  • Scrum
  • μ˜€μ „ 슀크럼 (11:00): 회의 및 μ½”λ“œ 리뷰
  • 저녁 슀크럼 (20:00): μ§„ν–‰ 상황 곡유
  • PR κ·œμΉ™
  • λͺ¨λ‹μŠ€ν„°λ”” 이후 μ½”λ“œλ¦¬λ·° μ§„ν–‰
  • ν•„μš” μ‹œ μΆ”κ°€ PR μ‹œκ°„ 운영
  • Approval 2λͺ… 이상 μ‹œ Merge
  • Merge μ „ νŒ€μ› 곡유
  • AI λ¦¬λ·°μ–΄λŠ” 보쑰적으둜만 ν™œμš©
  • Branch Strategy
  • GitFlow μ „λž΅ μ‚¬μš©
  • 브랜치 μ˜ˆμ‹œ: feature/Alarm#1

βœ… μ½”λ”© μ»¨λ²€μ…˜

  • API Design Guidelines κΈ°λ³Έ μ€€μˆ˜
  • camelCase μ‚¬μš©
  • μ•½μ–΄ μ‚¬μš© μ§€μ–‘
  • μ ‘κ·Ό μ œμ–΄μž λͺ…μ‹œ
  • κΈ°λŠ₯ 및 ν™”λ©΄ κΈ°μ€€ 디렉토리 뢄리
  • // MARK:λ₯Ό ν™œμš©ν•œ ꡬ뢄
  • extension λ‹¨μœ„λ‘œ κΈ°λŠ₯ 뢄리
  • 컀밋 λ‹¨μœ„ μ„ΈλΆ„ν™”

βœ… 컀밋 μ»¨λ²€μ…˜

  • 🌟feat : κΈ°λŠ₯ μΆ”κ°€
  • ♻️refactor : κΈ°λŠ₯ κ°œμ„  / μ „λ©΄ μˆ˜μ •
  • βœ…test : ν…ŒμŠ€νŠΈ μΆ”κ°€
  • 🩹chore : 넀이밍, μ»¨λ²€μ…˜ λ“± μˆ˜μ •
  • πŸ›fix : 였λ₯˜ μˆ˜μ •
  • πŸ“docs : λ¬Έμ„œ μΆ”κ°€ 및 μˆ˜μ •
  • 🚚build : 파일 이동 및 μΆ”κ°€

πŸ”­ ν–₯ν›„ κ°œμ„  λ°©ν–₯

  • NASA APIλ₯Ό ν™œμš©ν•œ λ³΄μƒν˜• UX κ°•ν™”
  • Dynamic Island 연동
  • λ―Έμ…˜ 둜그 μΉ΄λ“œ 제곡
  • μœ„μ ― 지원
  • 더 ν’λΆ€ν•œ μ• λ‹ˆλ©”μ΄μ…˜ 및 μ‚¬μš΄λ“œ μ—°μΆœ

πŸ”— Links

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages