๐ ๊ฐ์กฑ, ๋ฃธ๋ฉ์ดํธ, ๊ณต๋์ฒด๊ฐ ํจ๊ปํ๋ ๋ฏธ์ ์๋ฃ ์ฑ
๋ฏธ์ ์ ํตํด ์ํ์ต๊ด๊ณผ ์ง์๋ฐ ๋ถ๋ฐฐ ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ๊ณ , ์คํฌํ ์์ง์ผ๋ก ์ฌ๋ฏธ๋ฅผ ๋ํ ์ํต ํ๋ซํผ์ ๋๋ค! ๐ฏ
๊พธ์คํ ์ ๋ฐ์ดํธ์ ์ฌ์ฉ์ ๊ฒฝํ ์ค์ฌ ์ค๊ณ! ์ํํธ์จ์ด ์ญ๋ ์ฆ์ง๊ณผ ์์ฑ๋ ๋์ ์ฑ ๊ฐ๋ฐ!
| ์ด๋ฆ | ์ญํ | ๋ด๋น ๊ธฐ๋ฅ |
|---|---|---|
| ์ด๋ถ์ฉ ๐ฅ | ํ์ฅ, Backend | Firebase DB ์ค๊ณ, ์์ ๋ก๊ทธ์ธ, ๋ง์ดํ์ด์ง ์ ์ ๊ด๋ฆฌ, ์จ๋ณด๋ฉ ํ๋ฉด |
| ๊ณฝ๋ค์ ๐ป | ๋ถ๋ฆฌ๋, iOS ๊ฐ๋ฐ | ํ ํ๋ฉด, ๋ฏธ์ ๋์๋ณด๋, ๋ฏธ์ ์๋ฃ ์ฒ๋ฆฌ, ํํฐ ๊ธฐ๋ฅ |
| ์ค์ฃผํ ๐ | iOS ๊ฐ๋ฐ | ๊ทธ๋ฃน ์ด๋/๊ฐ์ , ํ ์คํธ ๋ฉ์์ง, ๋ง์ดํ์ด์ง ๊ทธ๋ฃน ๊ด๋ฆฌ |
| ๊ถ์์ฑ โก | iOS ๊ฐ๋ฐ | ๋ฏธ์ ๋ชฉ๋ก, ๋ฏธ์ ์ ๋ฌ, ๋ง์ดํ์ด์ง ํ๋กํ ์์ , ์ปค์คํ ๋ฏธ์ |
| ์ํ๊ฒฝ โจ | iOS ๊ฐ๋ฐ | ๋ง์ดํ์ด์ง ์คํฌํ ๊ด๋ฆฌ, ๊ณตํต ๋ค๋น๊ฒ์ด์ , ๋ฐ์น, ์คํฌํ ์์ธ๋ณด๊ธฐ |
- ์ฑ๋ช : ์คํฌํ์ (Stamp-It)
- ํ๋ก์ ํธ ๊ธฐ๊ฐ: 2025.05.29 ~ 2025.06.20 (3์ฃผ)
- ํต์ฌ ๊ธฐ๋ฅ: ๊ทธ๋ฃน ๋ฏธ์ ๊ด๋ฆฌ / ์คํฐ์ปค ์์ง / ๋ญํน ์์คํ / ์ํ์ต๊ด ๊ฐ์
- GitHub: https://github.com/nbcamp-final-team3/stamp-it.git
- Figma: https://www.figma.com/board/iSgtQcnyIg4s7C0ZmUVxoF/์คํฌํ์
- ์ปฌ๋ฌ ์ฝ๋:
#6B73FF#9B59B6#E74C3C
- ์ธ์ด: Swift
- UI ํ๋ ์์ํฌ: UIKit (Code-Base), SwiftUI
- ์ํคํ ์ฒ: MVVM + Clean Architecture
- ๋ฐ์ดํฐ๋ฒ ์ด์ค: Firebase Firestore
- ์ธ์ฆ: Firebase Auth (๊ตฌ๊ธ, ์ ํ ์์ ๋ก๊ทธ์ธ)
- ๐งฉ SnapKit โ UI ์คํ ๋ ์ด์์ ์ฝ๋ ์์ฑ
- ๐ง RxSwift / RxCocoa โ ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ
- โจ Then โ ์ธ์คํด์ค ์ด๊ธฐํ ๊ฐ์ํ
- ๐๏ธ Lottie โ ์ ๋๋ฉ์ด์ ํจ๊ณผ
- ๐ฅ Firebase-SDK โ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ์ธ์ฆ
- ๐ GoogleSignIn โ ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- Jira: ์ด์ ํธ๋ํน ๋ฐ ์คํ๋ฆฐํธ ๊ด๋ฆฌ
- GitHub: ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ ๋ธ๋์น ์ ๋ต
- Slack: ์ค์๊ฐ ์ํต
- ์คํฌ๋ผ: ์ค์ 10:00, ์คํ 19:00 ์ ๊ธฐ ๋ฏธํ
- PR ๋ฃฐ: 2๋ช ์ด์ ์น์ธ ์ ๋จธ์ง
- ์ฝ๋ ๋ฆฌ๋ทฐ: Pn ๋ฃฐ ์ ์ฉ์ผ๋ก ํจ์จ์ ํผ๋๋ฐฑ
- ์ปค๋ฐ:
[ํ์ ] #์ด์๋ฒํธ - ์์ ๋ด์ฉ - ๋ธ๋์น:
feat/#์ด์๋ฒํธ-๊ธฐ๋ฅ๋ช - ์ฝ๋ฉ: Swift Style Guide ์ค์
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|---|
๐บ ์์ฐ ์์: YouTube ๋งํฌ
- ๐ ์จ๋ณด๋ฉ: ์ฑ์ ๋ํ ์๊ฐ์ ๋ชฉํ๋ฅผ ๊ฐ๋จํ๊ฒ ์ ๊ณต (์ฑ ์ต์ด ์ ์ ์ ์ ๊ณต)
- ๐ ์์ ๋ก๊ทธ์ธ(๊ตฌ๊ธ, ์ ํ): ์ ํ, ๊ตฌ๊ธ ๊ณ์ ์ผ๋ก ํธ๋ฆฌํ๊ฒ ์๋น์ค ์ด์ฉ ๊ฐ๋ฅ
- ๐๏ธ ์๋ ๋ก๊ทธ์ธ: ์ฒ์ ๋ก๊ทธ์ธ ์ ์ธ์ฆ ๋ง๋ฃ ์ ๊น์ง ์๋๋ก๊ทธ์ธ
- ๐ ๊ทธ๋ฃน ๋ญํน: ์ด๋ฒ ๋ฌ ์คํฌํ ๊ฐ์๋ก ๊ทธ๋ฃน๋ด ๋ฉค๋ฒ ์์ ํ์
- ๐ฏ ๋์ ๋ฏธ์ : ํ ๋น๋ฐ์ ๋ฏธ์ ๋ชฉ๋ก ํ์ธ๊ณผ ์งํ ์๋ฃ ์ฒดํฌ
- ๐ฅ ๋ฉค๋ฒ ๋ฏธ์ : ๋ค๋ฅธ ๊ตฌ์ฑ์์๊ฒ ๋ถ์ฌํ ๋ฏธ์ ํํฉ(๋ฉค๋ฒ๋ณ, ์ํ๋ณ ํํฐ๋ง ๊ธฐ๋ฅ)
- โ ๋ฏธ์ ์๋ฃ: 3์ด ์ทจ์ ๊ฐ๋ฅํ ์๋ฃ ์ฒ๋ฆฌ(ํ ์คํธ), ์ค ๋ฏธ์ -์๋ฃ ๋ฏธ์ ๋ ๋ชจ๋ ์ทจ์ ๊ฐ๋ฅ
- ๐ ์ฑ ์ ๊ณต ๋ฏธ์ : 5๊ฐ์ง ์นดํ ๊ณ ๋ฆฌ (์ฆ๊ฒจ์ฐพ๊ธฐ, ์ง์์ผ, ๊ฐ์กฑ์ํต, ๊ฑด๊ฐ์ด๋, ๋ ์ํ์ต)
- ๐๏ธ ์ปค์คํ ๋ฏธ์ : ์ง์ ๋ถ์ฌํ๊ณ ์ถ์ ๋ฏธ์ ์ ์์ฑํด์ ํ์์๊ฒ ํ ๋น
- ๐ ๋ฏธ์ ๊ฒ์: ํค์๋ ๋ฐ ์นดํ ๊ณ ๋ฆฌ๋ณ ํํฐ๋ง
- โญ ๋ฏธ์ ์ฆ๊ฒจ์ฐพ๊ธฐ: ์์ฃผ ์ฌ์ฉํ๋ ๋ฏธ์ ์ ์ฆ๊ฒจ์ฐพ๊ธฐ๋ก ๊ด๋ฆฌ(์๋จ๊ณ ์ , ์นดํ ๊ณ ๋ฆฌ)
- ๐ฏ ์ถ์ฒ ๋ฏธ์ : ์ฌ์ฉ์ ํ๋ ํจํด ๊ธฐ๋ฐ ๋ง์ถค ๋ฏธ์ ์ถ์ฒ
- โฐ ๋ฏธ์ ๊ธฐํ: ๋ฏธ์ ๊ธฐํ์ด ์ง๋๋ฉด ์๋ ๋ง๋ฃ ์ฒ๋ฆฌ
- ๐ ์คํฌํ ๋ณด์: ๋ฏธ์ ์๋ฃ ์ ์คํฌํ ํ๋ (๋ง์ดํ์ด์ง ํ์ธ ๊ฐ๋ฅ)
- ๐ ์๋ณ ์คํฌํํ: ์คํฌํ ์์ง
- ๐ ์งํ๋ฅ ํ์: ๊ฐ์ธ ์คํฌํ ํํฉ(์คํฌํ ์ด ๊ฐ์, ์์ฑํ ์คํฌํํ ๊ฐ์)
- ๐ ์ฌ๋ฌ๊ฐ์ ์คํ ํํ ํ์ธ: ์ด 4๊ฐ์ ์คํฌํํ์ ํ์ด์ง์ผ๋ก ํ์ธ ๊ฐ๋ฅ
- ๐ ์คํฌํ ์์ธ ์ ๋ณด ํ์ธ: ์คํฌํ ํ๋์ผ, ๋ฏธ์ ๋ถ์ฌ์, ๋ฏธ์ ๋ด์ฉ ๋ฑ์ ํ์ธ ๋ฅ
- ๐ผ๏ธ ํ๋กํ ๊ด๋ฆฌ: ๋๋ค์, ํ๋กํ ์ด๋ฏธ์ง ๋ณ๊ฒฝ
- ๐ ๊ณ์ ๊ด๋ฆฌ: ๋ก๊ทธ์์, ์๋น์คํํด
- ๐ ์ด๋ ์์คํ : ์ฝ๋ ๋ณต์ฌ๋ก ๊ฐํธํ ๊ทธ๋ฃน ์ด๋ ๋ฐ ๊ฐ์ ๊ฐ๋ฅ
- ๐ ๊ทธ๋ฃน ๋ฆฌ๋: ๊ทธ๋ฃน๋ช ๋ณ๊ฒฝ, ๋ฉค๋ฒ ๊ด๋ฆฌ ๊ถํ(๋ฉค๋ฒ ๋ด๋ณด๋ด๊ธฐ, ๋ฆฌ๋ ์์)
- ๐ช ๊ทธ๋ฃน ํํด: ๊ธฐ์กด ๊ทธ๋ฃน ํํด ํ 1์ธ ๊ทธ๋ฃน ์๋ ์์ฑ
๐ฆ StampIt-Project
โโโ ๐ Application # ์ฑ ์คํ ๋ฐ ์ค์
โโโ ๐ Data # ๋ฐ์ดํฐ ๊ณ์ธต
โ โโโ ๐ DataSources # Firebase ๋ฐ์ดํฐ ์์ค
โ โโโ ๐ RepositoriesImpl # ์ ์ฅ์ ๊ตฌํ์ฒด
โ โโโ ๐ Entities # ๋ฐ์ดํฐ ๋ชจ๋ธ
โโโ ๐ Domain # ๋น์ฆ๋์ค ๋ก์ง
โ โโโ ๐ Entities # ๋๋ฉ์ธ ์ํฐํฐ
โ โโโ ๐ Repositories # ์ ์ฅ์ ์ธํฐํ์ด์ค
โ โโโ ๐ UseCases # ์ ์ค์ผ์ด์ค
โโโ ๐ Presentation # UI ๊ณ์ธต
โ โโโ ๐ Launch # ๋ฐ์น ๊ด๋ฆฌ
โ โโโ ๐ Onboarding # ์จ๋ณด๋ฉ ๊ด๋ฆฌ
โ โโโ ๐ Home # ํ ํ๋ฉด
โ โโโ ๐ Group # ๊ทธ๋ฃน ๊ด๋ฆฌ
โ โโโ ๐ Mission # ๋ฏธ์
๊ด๋ฆฌ
โ โโโ ๐ Invite # ์ด๋ ๊ด๋ฆฌ
โ โโโ ๐ Login # ๋ก๊ทธ์ธ ๊ด๋ฆฌ
โ โโโ ๐ MyPage # ๋ง์ดํ์ด์ง
โ โโโ ๐ Common # ๊ณตํต UI ์ปดํฌ๋ํธ
โโโ ๐ Resources # ๋ฆฌ์์ค ํ์ผ
โโโ ๐ผ๏ธ Assets.xcassets
โโโ ๐๏ธ Lottie
โโโ ๐ Info.plist
- ๊ตฌ๊ธ/์ ํ ์์ ๋ก๊ทธ์ธ
- ์๋ ๋ก๊ทธ์ธ ๋ฐ ์ธ์ ๊ด๋ฆฌ
- ์จ๋ณด๋ฉ ํ๋ฉด (์ต์ด ์ ์ ์)
- ํ์๊ฐ์ ์ 1์ธ ๊ทธ๋ฃน ์๋ ์์ฑ
- ์ด๋ ์ฝ๋๋ฅผ ํตํ ๊ทธ๋ฃน ๊ฐ์
- ๊ทธ๋ฃน ํํด ๋ฐ ๋ฉค๋ฒ ๊ด๋ฆฌ
- 4๊ฐ ์นดํ ๊ณ ๋ฆฌ๋ณ ๋ฏธ์ ์ ๊ณต
- ๋ฏธ์ ๊ฒ์ ๋ฐ ํํฐ๋ง
- ๋ฏธ์ ํ ๋น ๋ฐ ๊ธฐํ ์ค์
- ๋ฏธ์ ์๋ฃ ์ฒ๋ฆฌ (3์ด ์ทจ์ ๊ฐ๋ฅ)
- ๋ฏธ์ ์๋ฃ ์ ์คํฐ์ปค ์๋ ๋ถ์ฌ
- ์๋ณ ๊ฐ์ธ ์คํฐ์ปคํ
- ๊ทธ๋ฃน ๋ด ๋ญํน ์์คํ
- ๋๋ค์ ๋ณ๊ฒฝ (์ 1ํ ์ ํ)
- ํ๋กํ ์ด๋ฏธ์ง ์ค์
- ๊ณ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ
- ๐ทย ๊ธฐ๋ณธ ๋ฏธ์ ๊ด๋ฆฌ ์์คํ
- ๐ทย ์คํฌํ ์์ง ๊ธฐ๋ฅ
- ๐ทย ๊ทธ๋ฃน ๊ด๋ฆฌ ๋ฐ ์ด๋ ์์คํ
- ๐ทย Google/Apple ์์ ๋ก๊ทธ์ธ
- โ๏ธย ํํ๋ฉด ๋ฉค๋ฒ ๋ฏธ์ ํํฐ ๊ธฐ๋ฅ ์ถ๊ฐ
- โ๏ธย ๋ฆฌ๋ ๊ถํ ๊ด๋ฆฌ ๊ธฐ๋ฅ ์ถ๊ฐ(๋ฉค๋ฒ ๋ด๋ณด๋ด๊ธฐ, ๋ฆฌ๋ ๊ถํ ์์)
- โ๏ธย UI ์ ๋ฐ์ดํธ, ์ ๋๋ฉ์ด์ ์ถ๊ฐ
- ๐ ๋ด ๋ฏธ์ , ๋ฉค๋ฒ ๋ฏธ์ ํ๋ฉด ์ ํํฐ ๊ธฐ๋ฅ ์ถ๊ฐ
- ๐ ์ฌ๋ฌ๊ฐ์ ์คํฌํํ ํ์ธ ๊ฐ๋ฅ
- ๐ ์ปค์คํ ๋ฏธ์ ์ถ๊ฐ
- โ ์ค๋ฅ ์์
- โ ๋ฏธ์ ์ฆ๊ฒจ์ฐพ๊ธฐ(๊ฐ์ธํ)
- ๐ย ์คํฌํ ์์ธ ๋ณด๊ธฐ
- ๐ ์ค ๋ฏธ์ , ์ด๋ฏธ ์๋ฃ๋ ๋ฏธ์ ์ทจ์
- ๐ ์ฌ์ฉ์ ํ๋ ๊ธฐ๋ฐ ๋ฏธ์ ์ถ์ฒ ์์คํ ๊ตฌํ
- ๐๏ธ ์์ ฏ ์ถ๊ฐ
- ๐ ์์ธ ํต๊ณ ๋ฐ ๋ถ์ ์ถ๊ฐ
- ๐ต ์ฌ์ด๋ ํจ๊ณผ ๋ฐ ์ ๋๋ฉ์ด์ ๊ฐํ
- ๐ ๋คํฌ ๋ชจ๋ ์ง์
- ๐ ๋ฏธ์ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ค์๊ฐ ์๋ฆผ(FCM)
- ๐ ์ฑ์ทจ ๋ฐฐ์ง/์ ์ /์์๊ถ ์์คํ
- ๐ค AI ๊ธฐ๋ฐ ๋ฏธ์ ์ถ์ฒ
- ๐ ๊ฐ์กฑ ๊ฐ ๊ฒฝ์ ์์คํ
- ๐ฐ ๋ฆฌ์๋ ์์คํ ์ฐ๋
- ๐ ๋ค๊ตญ์ด ์ง์
- ์ปค์คํ ๋ฏธ์ ์ถ๊ฐ: ์ฌ์ฉ์๊ฐ ์ง์ ์ปค์คํ ํ ๋ฏธ์ ์ ๋ถ์ฌํ ์ ์์ด ์ ์ฐ์ฑ ์ฆ๊ฐ
- ์ฌ์ฉ์ ํ๋ ๊ธฐ๋ฐ ์ ์ ์์คํ : ๋ฏธ์ ํญ(0.1์ ), ์ ๋ฌํ๊ธฐ(0.4์ )๋ก ๊ฐ์ธํ๋ ์ถ์ฒ ์ ๊ณต
- ์ฆ๊ฒจ์ฐพ๊ธฐ: ์ฆ๊ฒจ์ฐพ๊ธฐ ์ง์ ์ ํด๋น ๋ฏธ์ ์ด ์๋จ์ ๊ณ ์ ๋์ด ์ฌ์ฉ์ ๊ฒฝํ ์ฆ๊ฐ
- ๊ฐ์ ์ ๋ฐ์ดํธ ๋ฉ์ปค๋์ฆ: Firebase ๊ธฐ๋ฐ ์ค์๊ฐ ๋ฒ์ ์ฒดํฌ ๋ฐ ์๋ ์ฑ์คํ ์ด ์ด๋
- ํธํ์ฑ ๋ฌธ์ ํด๊ฒฐ: ์๋ก์ด enum ์ผ์ด์ค ์ถ๊ฐ๋ก ์ธํ ํฌ๋์ ๋ฐฉ์ง
- ์ ์ฐํ ๋ฉ์์ง ๊ด๋ฆฌ: ์๋ฒ ์ค์ ๋ง์ผ๋ก ์ ๋ฐ์ดํธ ์๋ด ๋ฉ์์ง ์ค์๊ฐ ๋ณ๊ฒฝ
- ํค๋ณด๋ UI ์ต์ ํ: ๋ค์ํ ๋๋ฐ์ด์ค์์ ์ ๋ ฅ ์ UI ๊ฐ๋ฆผ ํ์ ํด๊ฒฐ
- ๋ฏธ์ ์๋ฃ ์ทจ์ ๋ก์ง: ํํ๋ฉด์์ ์ฆ์ API ํธ์ถ ๋ฐ ํ ์คํธ ํผ๋๋ฐฑ ์ ๊ณต
- ํํฐ๋ง ๊ธฐ๋ฅ ๊ฐํ: ๋ฉค๋ฒ๋ณ, ์ํ๋ณ ๋ฏธ์ ํํฉ ํํฐ๋ง์ผ๋ก ๊ด๋ฆฌ ํธ์์ฑ ํฅ์
- GitHub Issues: ํ๋ก์ ํธ ์ด์ ํ์ด์ง
- ํ ๋ฆฌ๋: ์ด๋ถ์ฉ (dqd001@naver.com)
- ํ ๋ถ๋ฆฌ๋: ๊ณฝ๋ค์ (down022@gmail.com)
๐ "ํจ๊ป ๋ง๋ค์ด๊ฐ๋ ์ํ์ต๊ด, ์คํฌํ์๊ณผ ํจ๊ปํ์ธ์!" ๐
ํ ์ง๋ถ ์ก๋จ๋งค ํ, ํ์ดํ ! ๐





