Skip to content

DeveloperAcademy-POSTECH/2025-C4-M15-Chalkak

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Έ Snappie

[Logo/Cover Image]

πŸ“† 2025. 06 - μ§„ν–‰ 쀑

완성도 μžˆλŠ” 숏폼 μ˜μƒμ„ 쉽고 κ°„νŽΈν•˜κ²Œ λ§Œλ“€κ³  싢은 μ‚¬μš©μžκ°€,
반볡 μ΄¬μ˜μ—μ„œλ„ μ—¬λ°±κ³Ό ꡬ도λ₯Ό μΌκ΄€λ˜κ²Œ μœ μ§€ν•  수 μžˆλ„λ‘,
직전 ν”„λ ˆμž„ μœ€κ³½μ„ μ™€ μœ„μΉ˜ 및 각도 맞좀 ν”Όλ“œλ°±μ„ μ œκ³΅ν•΄ μ˜μƒμ„ μ™„μ„±ν•˜λ„λ‘ λ„μ™€μ£Όμž.

  • κ°€μ΄λ“œ 기반 촬영: κΈ°μ‘΄ μ˜μƒ νŽΈμ§‘ μ•±κ³Ό 달리 촬영 단계뢀터 κ°€μ΄λ“œ 제곡
  • μ›ν„°μΉ˜ μ™„μ„±: λ³΅μž‘ν•œ νŽΈμ§‘ κ³Όμ • 없이 촬영만으둜 완성도 높은 μ˜μƒ μ œμž‘
  • μ‹€μ‹œκ°„ ν”Όλ“œλ°±: 촬영 쀑 μ‹€μ‹œκ°„μœΌλ‘œ ꡬ도 및 포즈 κ°€μ΄λ“œ 제곡
  • 직관적 UX: μ „λ¬Έ 지식 없이도 λˆ„κ΅¬λ‚˜ μ‰½κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” μΈν„°νŽ˜μ΄μŠ€μžˆλŠ” μΈν„°νŽ˜μ΄μŠ€

πŸŽ† Screenshots

Snappie_1 Snappie_Screenshot_1 Snappie_Screenshot_2 Snappie_Screenchot_3
Snappie_Screenshot_4 Snappie_Screenshot_5 Snappie_7 Snappie_8

πŸ–ΌοΈ Demo

클립 촬영 클립 νŽΈμ§‘ κ°€μ΄λ“œ 생성 κ°€μ΄λ“œλ‘œ 촬영 및 ν”Όλ“œλ°±
μ˜μƒ ν•©μΉ˜κΈ° 및 내보내기 ν”„λ‘œμ νŠΈ νŽΈμ§‘
(μΆ”κ°€ μ˜ˆμ •)

πŸ“ŒΒ Features

πŸ“Ή 슀마트 κ°€μ΄λ“œ 기반 촬영 μ‹œμŠ€ν…œ

  • 싀루엣 μ˜€λ²„λ ˆμ΄ κ°€μ΄λ“œ: 이전 μ˜μƒμ˜ μ‚¬λžŒ μœ€κ³½μ„ μ„ 반투λͺ… μ˜€λ²„λ ˆμ΄λ‘œ ν‘œμ‹œν•˜μ—¬ μ •ν™•ν•œ λ™μž‘ μ—°κ²° 촬영 지원
  • λ°”μš΄λ”© λ°•μŠ€ κ°€μ΄λ“œ: Vision ν”„λ ˆμž„μ›Œν¬ 기반 μ‹€μ‹œκ°„ μ‚¬λžŒ 감지 및 μœ„μΉ˜ κ°€μ΄λ“œ 제곡
  • 기울기 κ°€μ΄λ“œ: CoreMotion ν”„λ ˆμž„μ›Œν¬ 기반 μžμ΄λ‘œμŠ€μ½”ν”„ μ„Όμ„œλ₯Ό ν™œμš©ν•œ μ‹€μ‹œκ°„ 카메라 각도 μΈ‘μ • 및 기둝
  • μ‹€μ‹œκ°„ ν”Όλ“œλ°±: κ°€μ΄λ“œμ™€ ν˜„μž¬ 샷이 μΌμΉ˜ν•  λ•Œ μ‹œκ°μ  μ‹ ν˜Έλ‘œ μ™„λ²½ν•œ 촬영 타이밍 μ•ˆλ‚΄
    • μ˜€λ²„λ ˆμ΄ κ°€μ΄λ“œ μœ„μΉ˜μ™€ κ°€μ΄λ“œ μ‹œμ μ˜ κΈ°μšΈκΈ°κ°€ ν˜„μž¬ ν”„λ ˆμž„κ³Ό μΌμΉ˜ν•  λ•Œ

πŸŽ₯ 카메라 κΈ°λŠ₯

  • 카메라 μ „ν™˜: μ „λ©΄/ν›„λ©΄ 카메라 μ „ν™˜
  • 쀌 쑰절: ν•€μΉ˜μ œμŠ€μ²˜ ν™•λŒ€/μΆ•μ†Œ (0.5x~6.0x)
  • ν”Œλž˜μ‹œ: μžλ™/켜기/끄기 선택 κ°€λŠ₯
  • 타이머: 3초, 5초, 10초 타이머 κΈ°λŠ₯
  • κ²©μžμ„ : ꡬ도 작기λ₯Ό λ„μ™€μ£ΌλŠ” 3λΆ„ν•  κ°€μ΄λ“œ
  • ν„°μΉ˜ 포컀슀: ν™”λ©΄ ν„°μΉ˜λ‘œ 초점 μ‘°μ • κΈ°λŠ₯
  • 고해상도 지원: 1080p, 4K μ˜μƒ 지원
  • 클립 병합기λŠ₯ : μ—¬λŸ¬ 클립을 ν•˜λ‚˜μ˜ μ˜μƒμœΌλ‘œ μžλ™ κ²°ν•©
  • 가러리 μ €μž₯: μ™„μ„±λœ μ˜μƒμ„ λ°”λ‘œ 사진 앱에 μ €μž₯

βœ‚οΈ μ˜μƒ νŽΈμ§‘

  • νƒ€μž„λΌμΈ νŽΈμ§‘κΈ° : μ‹œμž‘κ³Ό 끝 지점 μ‘°μ •μœΌλ‘œ κ°„λ‹¨ν•œ νŽΈμ§‘ μΈν„°λ ‰μ…˜ 제곡
  • ν”„λ ˆμž„ 정확도: λ“œλž˜κ·Έ ν•Έλ“€λ‘œ μ‹œμž‘/끝점을 ν”„λ ˆμž„ λ‹¨μœ„λ‘œ μ‘°μ •
  • ꡬ간 반볡 μž¬μƒ: μ„ νƒλœ κ΅¬κ°„λ§Œ 미리보기둜 κ°„λ‹¨ν•œ νŽΈμ§‘ 확인

🎬 효율적인 λ©€ν‹°ν”Œλ‘œμš°λ‘œ ν”„λ‘œμ νŠΈ 관리

  • 톡합 ν”„λ‘œμ νŠΈ: μ—¬λŸ¬ 클립을 ν•˜λ‚˜μ˜ ν”„λ‘œμ νŠΈλ‘œ 체계적 관리
  • μžλ™ 메타데이터: 촬영 μ‹œκ°„ 기반 제λͺ© 생성 및 첫 ν”„λ ˆμž„ 컀버 이미지
  • μ‹œκ°μ  ν”„λ‘œμ νŠΈ λͺ©λ‘: 컀버, 제λͺ©, 길이, μƒμ„±μΌλ‘œ λΉ λ₯Έ ν”„λ‘œμ νŠΈ 식별
  • μ‹ κ·œ μ•Œλ¦Ό μ‹œμŠ€ν…œ: ν™•μΈν•˜μ§€ μ•Šμ€ ν”„λ‘œμ νŠΈ λ±ƒμ§€λ‘œ λ†“μΉ˜μ§€ μ•ŠκΈ°

🎨 λ°©ν•΄μ—†λŠ” λͺ°μž…ν˜• 촬영 μΈν„°νŽ˜μ΄μŠ€

  • λ―Έλ‹ˆλ©€ UI: 투λͺ…도λ₯Ό ν™œμš©ν•΄ 촬영 화면을 가리지 μ•ŠλŠ” μΈν„°νŽ˜μ΄μŠ€
  • 말차 ν…Œλ§ˆ: λˆˆμ— νŽΈμ•ˆν•œ 녹색 κ³„μ—΄μ˜ μ„Έλ ¨λœ λ””μžμΈ
  • 닀크 λͺ¨λ“œ: 저쑰도 촬영 ν™˜κ²½ λŒ€μ‘ 닀크 ν…Œλ§ˆ 적용
  • KronaOne 타이포: λͺ…ν™•ν•œ κ°€λ…μ„±μ˜ μ»€μŠ€ν…€ 폰트 μ‹œμŠ€ν…œ

πŸ›  기술 μŠ€νƒ

개발 ν™˜κ²½

  • UI ν”„λ ˆμž„μ›Œν¬: SwiftUI 5.0
  • μ΅œμ†Œ iOS 버전: 17.0+
  • Swift 버전: 5.9
  • μ•„ν‚€ν…μ²˜: MVVM νŒ¨ν„΄
  • Navigation: Navigation Path 관리
  • 데이터 지속성: SwiftData
  • ν”„λ ˆμž„μ›Œν¬: AVFoundation, PhotoKit, CoreImage, Vision, CoreMotion

μ •ν™•ν•œ μ΄¬μ˜μ„ μœ„ν•œ κ°€μ΄λ“œ 기술

  • Vision ν”„λ ˆμž„μ›Œν¬: μ‚¬λžŒ μœ€κ³½μ„  μΆ”μΆœ 및 μ‹€μ‹œκ°„ μ‚¬λžŒ 감지
  • CoreImage: 인물 μœ€κ³½μ„  μΆ”μΆœμ— ν™œμš©
  • CoreMotion: μžμ΄λ‘œμŠ€μ½”ν”„ μ„Όμ„œ 데이터 ν™œμš© 기울기 감지

데이터 관리

  • SwiftData: 둜컬 λ°μ΄ν„°λ² μ΄μŠ€λ‘œ ν”„λ‘œμ νŠΈ/클립 정보 관리
  • UserDefaults: μ‚¬μš©μž μ„€μ • 및 μƒνƒœ 정보 μ €μž₯
  • 파일 μ‹œμŠ€ν…œ: μ˜μƒ 파일의 효율적인 둜컬 μ €μž₯ 및 관리

🌳 Folder

πŸ“± Snappie
β”œβ”€β”€ πŸ—οΈ App
β”‚   β”œβ”€β”€ ChalkakApp.swift
β”‚   └── Coordinator.swift
β”œβ”€β”€ πŸ”§ Common
β”‚   β”œβ”€β”€ Component
β”‚   β”œβ”€β”€ DesignSystem
β”‚   β”œβ”€β”€ Extension
β”‚   └── Util
β”œβ”€β”€ ⚑ Core
β”‚   β”œβ”€β”€ CameraKit
β”‚   β”œβ”€β”€ Guide
β”‚   └── VideoEditor
β”œβ”€β”€ πŸ’Ύ Data
β”‚   β”œβ”€β”€ Model
β”‚   └── SwiftDataManager.swift
β”œβ”€β”€ 🎨 Presentation
β”‚   β”œβ”€β”€ Camera
β”‚   β”œβ”€β”€ ClipEdit
β”‚   β”œβ”€β”€ Guide
β”‚   β”œβ”€β”€ ProjectEdit
β”‚   β”œβ”€β”€ ProjectList
β”‚   └── ProjectPreview
└── πŸ“¦ Resource
    β”œβ”€β”€ Assets.xcassets
    β”œβ”€β”€ Fonts
    └── sample-video.mov

πŸ«‚ Contributors

@alice0047 @bishoe01 @msseock @pearhyunjin @JM0307 @hemging
- μ˜μƒ 첫 ν”„λ ˆμž„μ—μ„œ μœ€κ³½μ„  μΆ”μΆœ 및 μ €μž₯
- 클립 트리밍 κΈ°λŠ₯ κ΅¬ν˜„
- κ°œλ³„ 클립 νŽΈμ§‘ λ·° κ΅¬ν˜„
- 카메라 촬영 κΈ°λŠ₯ κ΅¬ν˜„
- 곡톡 Alert μ»΄ν¬λ„ŒνŠΈ κ΅¬ν˜„
- λ””μžμΈμ‹œμŠ€ν…œ κ΅¬ν˜„
- 기울기 κ΄€λ ¨ κΈ°λŠ₯
- μ˜μƒ 병합 κΈ°λŠ₯
- ν”„λ‘œμ νŠΈ κΈ°λ³Έ μ…‹νŒ…
- Navigation 흐름 관리
- Vision μ΄μš©ν•œ μœ„μΉ˜/거리 ν”Όλ“œλ°±
- ν”„λ‘œμ νŠΈ νŽΈμ§‘ κΈ°λŠ₯
- μœ μ € ν”Œλ‘œμš°
- ν™”λ©΄Β·μ»΄ν¬λ„ŒνŠΈ λ””μžμΈ
- μ•± 컨셉 기획 및 λ””μžμΈ
- λ””μžμΈ μŠ€νƒ€μΌ μ •μ˜
- μ•± 컨셉 및 핡심 κΈ°λŠ₯ 기획
- μœ μ € ν”Œλ‘œμš° 및 μ™€μ΄μ–΄ν”„λ ˆμž„ 섀계
- 화면별 κΈ°λŠ₯Β·μΈν„°λž™μ…˜ μ •μ˜
- UX 문ꡬ μž‘μ„±

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

Languages