Skip to content

team-poti/POTI-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

image 포티

복잡한 분철 과정을 한눈에 정리하고, 믿을 수 있는 거래로 자연스럽게 이어주는 플랫폼

image

분철 과정을 한눈에 정리하고,믿을 수 있는 거래로 이어주는 앱


팀원 구성원 및 역할 분배

김나연(Lead) 로그인, 마이페이지, 모집/참여 내역
김수민 홈, 굿즈별 페이지, 분철팟 상세, 참여자 정보
박정환 등록페이지, 아티스트 검색 페이지, 멤버 편집 바텀시트
이서현 모집/참여 상세 내역, 참여자 관리 페이지

🍎 iOS Developer

김나연 김수민 박정환 이서현
iOS Lead Developer iOS Developer iOS Developer iOS Developer

🛠️ Tech Stack & Library

기술 / 라이브러리 목적
UIKit 안정적이고 풍부한 레퍼런스, 우수한 호환성, 예측 가능한 UI 레이아웃 작업
MVVM UI, 비즈니스 로직 분리를 통해 화면 상태 변화를 명확하게 관리, 유지보수성 강화
Clean Architecture 도메인 중심의 의존성 분리를 통해 변경에 강하고 확장 가능한 구조 구축
Alamofire 간결한 네트워크 요청과 구조화된 관리 방식으로 코드 가독성과 유지보수성 향상
Combine 비동기 데이터 흐름을 선언적으로 관리, 상태 변화에 따른 UI 업데이트 처리
Snapkit 간편한 Auto Layout 적용
Then UI 코드 작성시 편의성 향상
Kingfisher 효율적인 이미지 다운로드 및 캐싱을 통해 네트워크 이미지 로딩 성능 향상
Lottie JSON 기반 애니메이션 활용을 위해 사용
Logger 구조화된 로깅을 지원하여 성능 저하 없이 효율적으로 로그 수집 및 분석 가능
KakaoOpenSDK 카카오 소셜 로그인을 위해 사용
Swift Concurrency 명확하고 안전한 비동기 흐름 관리를 통해 복잡한 비동기 로직의 가독성과 유지보수성 향상

주요 기능 소개

원하는 굿즈 분철팟 탐색하기
불필요한 소통없이 간편하게 분철 참여하기
분철팟 모집글 등록하기
분철 진행 상황 한눈에 관리하기


📁 Foldering

📁 Poti-iOS
├── 📁 Application
│   ├── 📝 AppDelegate.swift
│   ├── 📝 SceneDelegate.swift
│   └── 📝 AppDIContainer.swift
│
├── 📁 Core
│   ├── 📝 PotiError.swift
│   └── 📝 PotiLogger.swift
│
├── 📁 Data
│   ├── 📁 Network
│   │   └── 📁 Auth
│   │       ├── 📁 DTO
│   │       ├── 📝 AuthService.swift
│   │       └── 📝 AuthAPI.swift
│   │
│   └── 📁 Repository
│
├── 📁 Domain
│   ├── 📁 Entity
│   ├── 📁 Interface
│   └── 📁 UseCase
│
├── 📁 Presentation
│   ├── 📁 Splash
│   ├── 📁 Onboarding
│   ├── 📁 Home
│   │
│   └── 📁 Common
│       ├── 📁 Base
│       │   ├── 📝 BaseViewController.swift
│       │   └── 📝 BaseViewModel.swift
│       ├── 📁 Component
│       ├── 📁 Extension
│       └── 📁 Protocol
│
├── 📁 Resource
│   │   ├── Assets.xcassets
│   │   └── 📁 Fonts

아키텍쳐 설계

image

프로젝트 설계

IMG_9004 PNG

📣 Convention

Code Style

Swift Style Guide를 따릅니다.

Commit

- Tag

태그 사용하는 부분
[feat] 새로운 기능 구현
[fix] 버그, 오류 해결
[chore] 코드 수정, 내부 파일 수정 등 중요도가 낮은 기타 작업
[add] 라이브러리 또는 에셋 추가
[del] 쓸모없는 코드 삭제
[docs] README나 WIKI 등의 문서 개정
[refactor] 기존 코드 리팩토링 또는 구조 개선
[setting] 프로젝트 관련 설정 변경
[merge] Pull Develop

- Message

(커밋 메세지 형식)
[종류] #이슈번호 - 작업 내용

(기본 커밋 메시지 예시)
[feat] #1 - 메인 UI 구현

(Conflict 해결 시)
[merge] #이슈번호 - Conflict 해결 

(PR을 develop에 merge 시)
[merge] #이슈번호 - 작업 내용 간략히

🐾 Git Flow

Default Branch & PR Target : develop

모든 개발은 develop 브랜치를 중심으로 진행됩니다.

1. 작업할 내용에 대해 이슈를 판다. (이슈 제목: [태그] 작업 내용)

2. develop 브랜치로부터 새 브랜치를 만든다. (브랜치 명: 타입/#이슈번호)
  - 브랜치 파기 전 최신화 된 develop 브랜치 pull 받기

3. 만든 브랜치에서 작업한다.

4. 커밋은 쪼개서 작성하며 컨벤션을 따라 메시지를 작성한다.

5. 작업할 내용을 다 끝내면 에러 없이 잘 실행되는지 확인 한 후 push 한다.
  - PR 올리기 전 작업 브랜치에 develop 브랜치 pull 받은 뒤 충돌을 해결한 후 push 하는 것을 권장

6. PR을 작성한 후, 팀원들의 코드리뷰를 반영한 뒤 develop 브랜치에 merge 한다.
  - 깃허브 내에서 merge 할 때 메시지 변경하기 ([merge #이슈번호 - 작업 내용)

About

앙티의 포티 레포~~

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages