“Neki, 네컷의 순간이 이어지는 곳”
흩어져 있던 종이 사진과 디지털 파일을 NEKI 하나로 끝내세요. QR 스캔 한 번으로 앱에서 바로 저장하고, 날짜별/폴더별로 정리됩니다.
예전에 찍어둔 사진이나 QR 유효기간이 지난 사진도 직접 업로드하여 동일하게 관리할 수 있습니다.
카메라 앞에서 당황하지 마세요! NEKI가 제안하는 트렌디한 포즈와 '랜덤 포즈' 기능이 당신의 자연스러운 촬영을 도와드립니다.
지금 바로 찍고 싶을 때, 주변의 사진관을 확인하세요. 브랜드 필터를 사용해 내가 선호하는 브랜드만 골라 찾을 수 있습니다.
친구, 연인, 특별한 기념일 등 목적에 맞춰 폴더를 만들고 소중한 순간들을 테마별로 기록하세요.
| 윤금용 | 김한열 |
| 분류 | 기술 / 도구 | 역할 | 버전 |
|---|---|---|---|
| IDE & SDK | Xcode & SPM | Apple의 공식 IDE, Swift 기반 의존성 관리 도구 | 26.2 |
| UI 프레임워크 | SwiftUI | 코드의 간결성과 직관성을 통해 빠르고 쉽게 사용자 인터페이스를 설계하고 유지보수가 가능 | - |
| 아키텍처 | TCA | 상태 관리, 단방향 데이터 흐름, 테스트, 사이드 이펙트 처리에 강력하고 일관된 아키텍처 라이브러리 | 1.23.1 |
| 네트워크 계층 | URLSession | Apple 플랫폼 서버 통신 핵심 네트워킹 API 클래스 | - |
| 이미지 처리 | Kingfisher | 효율적인 이미지 다운로드 및 캐싱을 통해 네트워크 이미지 로딩 성능 향상 | 8.6.2 |
| 비동기 처리 | Swift Concurrency | 명확하고 안전한 비동기 흐름 관리를 통해 복잡한 비동기 로직의 가동성과 유지보수성 향상 | - |
| 로그 관리 | Logger | 구조화된 로깅을 지원하여 성능 저하 없이 효율적으로 로그 수집 및 분석 가능 | - |
| 네컷 지도 | NMapsMap | 네이버 클라우드 플랫폼에서 제공하는 네이버 지도 SDK | 3.23.0 |
| QR 스캐너 | AVFoundation | 오디오 및 비디오 미디어 데이터를 만들고, 편집, 재생, 기록 및 처리하는 강력한 최상위 프레임워크 | - |
| 로그인 | KakaoOpenSDK | 카카오 소셜 로그인을 통한 간편한 사용자 인증 | 2.27.1 |
| 버전 관리 | Git, GitHub | 분산 버전 관리 시스템을 통한 형상 관리 및 협업 | 2.46.0 |
| 협업 도구 | Figma, Notion | UI/UX 디자인 리소스 공유 및 프로젝트 문서화, 태스크 관리 | 2.46.0 |
기능 단위의 모듈화(Modular)와 내부 3계층 분리(Clean Architecture)를 동시에 적용
APP(라우팅), Core(공통 로직/네트워크), Shared(디자인/UI), Features(도메인별 기능)로 역할 분리
각 도메인 모듈 내부는 Presentation, Domain, Data 계층으로 철저히 분리되어 의존성 최소화
📁 Neki-iOS
├── 📁 APP // 앱 진입점 및 최상위 라우팅
│ └── 📁 Sources
│ ├── 📁 Application
│ ├── 📁 MainTab
│ └── 📁 Onboarding
│
├── 📁 Core // 공통 비즈니스 로직 및 인프라
│ └── 📁 Sources
│ ├── 📁 Auth (Data, Domain, Presentation)
│ ├── 📁 Network (Base, TokenStorage 등)
│ ├── 📁 ImagePicker
│ └── 📁 Logger
│
├── 📁 Features // 도메인별 분리된 기능 모듈 (Micro Clean Architecture)
│ ├── 📁 Archive (아카이브 탭)
│ │ └── 📁 Sources
│ │ ├── 📁 Data
│ │ ├── 📁 Domain
│ │ └── 📁 Presentation
│ ├── 📁 Map (지도 탭)
│ │ └── 📁 Sources
│ │ ├── 📁 Data, Domain, Presentation
│ ├── 📁 MyPage (마이페이지 탭)
│ │ └── 📁 Sources
│ │ ├── 📁 Data, Domain, Presentation
│ ├── 📁 Pose (포즈 추천 탭)
│ │ └── 📁 Sources
│ │ ├── 📁 Data, Domain, Presentation
│ └── 📁 QRCodeScanner (QR 스캐너)
│ └── 📁 Sources
│ ├── 📁 Data, Domain, Presentation
│
└── 📁 Shared // 공통 UI 및 디자인 시스템
└── 📁 DesignSystem
├── 📁 Resources (Assets, Fonts, Animations)
└── 📁 Sources
├── 📁 Component(Button, Modal, TextField, Toast 등)
├── 📁 Modifier
└── 📁 Color, FontSwift 스타일쉐어 가이드를 기반으로
팀원의 기존 스타일을 반영하였습니다.
[Feat] : 새로운 기능 구현
[Fix] : 버그, 오류 해결
[Chore] : 코드 수정, 내부 파일 수정, 애매한 것들이나 잡일은 이걸로!
[Add] : 라이브러리 추가, 에셋 추가
[Del] : 쓸모없는 코드 삭제
[Docs] : README나 WIKI 등의 문서 개정
[Refactor] : 전면 수정이 있을 때 사용합니다.
[Setting] : 프로젝트 설정관련이 있을 때 사용합니다.
[Merge] : Pull Develop예시 [Feat] #1 - 메인 UI 구현
