lsj8706 / Happic-iOS

Be happy, take a happic: πŸ“Έ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


happic:

ν•˜λ£¨ ν•œ 컷의 사진과 ν‚€μ›Œλ“œ 뢄석이 μ•Œλ €μ£ΌλŠ” λ‚˜μ˜ 행볡, ν•΄ν”½

30th THE SOPT APP JAM
ν”„λ‘œμ νŠΈ κΈ°κ°„ : 2021.07.02 ~ 2021.07.23



happic



Team happic iOS Developers

이세진 윀수빈 κ°•μŠΉν˜„
lsj8706 devxsby ZaidKang


Development Environment and Using Library

  • Development Environment



  • Library
라이브러리 μ‚¬μš© λͺ©μ  Version Management Tool
Alamofire μ„œλ²„ 톡신 5.6.1 SPM
SnapKit UI Layout 5.0.0 SPM
Then UI μ„ μ–Έ 3.0.0 SPM
Kingfisher 이미지 처리 7.2.4 SPM
Tabman λ·° νŽ˜μ΄μ € μ»€μŠ€ν…€ 2.12.0 SPM
pageboy λ·° νŽ˜μ΄μ € μ»€μŠ€ν…€ 3.6.2 SPM

  • framework
ν”„λ ˆμž„μ›Œν¬ μ‚¬μš© λͺ©μ 
UIKit UI κ΅¬ν˜„


Coding Convention

✨ Git Branch Convention

  • Branch Naming Rule
    • Issue μž‘μ„± ν›„ μƒμ„±λ˜λŠ” λ²ˆν˜Έμ™€ Issue의 κ°„λž΅ν•œ μ„€λͺ… 등을 μ‘°ν•©ν•˜μ—¬ Branch 이름 κ²°μ •
    • <Prefix>/<#IssueNumber>-<Description>
  • Commit Message Rule
    • [Prefix] : <Description>
  • Code Review Rule
    • μ½”λ“œ λ¦¬λ·°λŠ” μ΅œλŒ€ν•œ 빨리 ν•œλ‹€.
    • μ½”λ“œ λ¦¬λ·°λŠ” μ΅œλŒ€ν•œ 정성껏 ν•œλ‹€.

✨ Git Flow

1. μž‘μ—… λ‹¨μœ„λ³„ Issue 생성 : λ‹΄λ‹Ήμž, 라벨, ν”„λ‘œμ νŠΈ μ—°κ²° 

2. Fork 받은 둜컬 λ ˆν¬μ—μ„œ develop 브랜치 μ΅œμ‹ ν™” : git pull (origin develop) 

3. Branch 생성 : git switch -c Prefix/#IssueNumber-description 
  > μ˜ˆμ‹œ) chore/#3-Project-Setting

4. 둜컬 ν™˜κ²½μ—μ„œ μž‘μ—… ν›„ Add -> Commit -> Push -> Pull Request의 과정을 κ±°μΉœλ‹€.
  
  Prefix의 의미
  > [Feat] : μƒˆλ‘œμš΄ κΈ°λŠ₯ κ΅¬ν˜„
  > [Chore] : κ·Έ μ΄μ™Έμ˜ 작일/ 버전 μ½”λ“œ μˆ˜μ •, νŒ¨ν‚€μ§€ ꡬ쑰 λ³€κ²½, 파일 이동, νŒŒμΌμ΄λ¦„ λ³€κ²½
  > [Add] : μ½”λ“œ λ³€κ²½ μ—†λŠ” λ‹¨μˆœ 파일 μΆ”κ°€, 에셋 및 라이브러리 μΆ”κ°€
  > [Fix] : 버그, 였λ₯˜ ν•΄κ²°, μ½”λ“œ μˆ˜μ •
  > [Style] : μ½”λ“œ ν¬λ§·νŒ…, μ½”λ“œ 변경이 μ—†λŠ” 경우, 주석 μˆ˜μ •
  > [Docs] : READMEλ‚˜ WIKI λ“±μ˜ λ¬Έμ„œ κ°œμ •
  > [Refactor] : μ „λ©΄ μˆ˜μ •μ΄ μžˆμ„ λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€
  > [Test] : ν…ŒμŠ€νŠΈ λͺ¨λ“œ, λ¦¬νŽ™ν† λ§ ν…ŒμŠ€νŠΈ μ½”λ“œ μΆ”κ°€

5. Pull Request μž‘μ„± 
  - closed : #IssueNumber둜 이슈 μ—°κ²°, 리뷰어 지정

6. Code Review μ™„λ£Œ ν›„ Pull Request μž‘μ„±μžκ°€ develop Branch둜 mergeν•˜κΈ°
  - Develop Branch protection rules : Merge μ „ μ΅œμ†Œ 1 Approve ν•„μš”

7. μ’…λ£Œλœ Issue와 Pull Request의 Labelκ³Ό Projectλ₯Ό 관리

✨ Naming & Code Convention

  • ν•¨μˆ˜, λ©”μ„œλ“œ : lowerCamelCase μ‚¬μš©ν•˜κ³ , λ™μ‚¬λ‘œ μ‹œμž‘ν•œλ‹€.
  • λ³€μˆ˜, μƒμˆ˜ : lowerCamelCase μ‚¬μš©ν•œλ‹€.
  • 클래슀, ꡬ쑰체, enum, extension λ“± : UpperCamelCase μ‚¬μš©ν•œλ‹€.
  • κΈ°λ³Έ MVC 폴더링 ꡬ쑰에 따라 νŒŒμΌμ„ κ΅¬λΆ„ν•˜μ—¬ μ‚¬μš©ν•œλ‹€.
  • 파일, λ©”μ„œλ“œ, 클래슀 λͺ… μ•½μ–΄ μ‚¬μš© μ§€μ–‘ν•œλ‹€.
    • μ˜ˆμ‹œ) ViewController β†’ VC (❌)
    • μ˜ˆμ‹œ) CollectionViewCell β†’ CVC (❌)
    • μ˜ˆμ‹œ) loginButtonDidTap: UIButton -> loginBtnTapped (❌)
  • 초기 UI λ ˆμ΄μ•„μ›ƒ μž‘μ•„μ€„λ•Œλ§Œ configure ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜κ³ , μ΄μ™ΈλŠ” set ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€.
    • μ˜ˆμ‹œ) func configureUI β†’ func setUI (❌)
    • μ˜ˆμ‹œ) func setDelegate ... β†’ func configureDelegate (❌)
  • 이외 κΈ°λ³Έ λͺ…λͺ…κ·œμΉ™μ€ Swift Style Guide, API Design Guidelines , Swift Style Guideλ₯Ό μ°Έκ³ ν•œλ‹€.
  • 상속받지 μ•ŠλŠ” ν΄λž˜μŠ€λŠ” final ν‚€μ›Œλ“œλ₯Ό 뢙인닀.
  • 단일 μ •μ˜ λ‚΄μ—μ„œλ§Œ μ‚¬μš©λ˜λŠ” νŠΉμ • κΈ°λŠ₯ κ΅¬ν˜„μ€ private μ ‘κ·Ό μ œν•œμžλ₯Ό 적극 μ‚¬μš©ν•œλ‹€.
  • 퀡헬프기λŠ₯을 ν™œμš©ν•œ λ§ˆν¬μ—… 문법을 ν™œμš©ν•œ 주석을 적극 μ‚¬μš©ν•œλ‹€.
  • μ΄μ™ΈλŠ” μ»€μŠ€ν…€ν•œ SwiftLint Rule을 μ μš©ν•œλ‹€.
    • μ œμ™Έμ‚¬ν•­
    • trailing_whitespace
    • identifier_name
    • line_length
    • type_name

✨ Project Foldering

Happic-iOS
┣ Base.lproj
┃ β”— Main.storyboard
┣ Global
┃ ┣ Literal
┃ ┣ Base
┃ ┣ Protocols
┃ ┣ Util
┃ ┣ Extension
┃ ┣ Resource
┃ ┃ ┣ Assets.xcassets
┃ ┃ ┃ ┣ AccentColor.colorset
┃ ┃ ┃ ┃ β”— Contents.json
┃ ┃ ┃ ┣ AppIcon.appiconset
┃ ┃ ┃ ┃ β”— Contents.json
┃ ┃ ┃ β”— Contents.json
┃ ┃ β”— Base.lproj
┃ ┃ ┃ β”— LaunchScreen.storyboard
┃ ┣ Supports
┃ ┃ ┣ AppDelegate.swift
┃ ┃ β”— SceneDelegate.swift
┃ β”— UIComponent
┣ Network
┃ ┣ APIService
┃ ┣ Foundation
┃ β”— Model
┣ Screens
┃ ┣ Auth
┃ ┣ CreateCharacter
┃ ┣ CreateContents
┃ ┣ HappicCapsule
┃ ┣ HappicReport
┃ ┣ HaruHappic
┃ ┣ Home
┃ ┣ Setting
┃ β”— Tabbar
β”— Info.plist



Task

λŒ€λΆ„λ₯˜ κΈ°λŠ₯ κ΅¬ν˜„ μ—¬λΆ€ λ‹΄λ‹Ήμž
μ˜¨λ³΄λ”© 런치슀크린 윀수빈
  μ˜¨λ³΄λ”© - 윀수빈
νšŒμ›κ°€μž… μ†Œμ…œλ‘œκ·ΈμΈ 윀수빈
  νšŒμ›κ°€μž…, 둜그인 λ·° κ°•μŠΉν˜„
  캐릭터 선택 κ°•μŠΉν˜„
ν™ˆ 캐릭터 λ·° 이세진
ν•˜λ£¨ν•΄ν”½ 사진, νƒœκ·Έ λ·° 윀수빈
  κ²Œμ‹œκΈ€ μž‘μ„± 윀수빈
  κ²Œμ‹œκΈ€ 상세보기 윀수빈
ν•΄ν”½μΊ‘μŠ μΊ‘μŠλ½‘κΈ° λ·° 이세진
  ν‘Έμ‹œ μ•Œλ¦Ό 이세진
ν•΄ν”½λ ˆν¬νŠΈ 전체보기 이세진
  ν‚€μ›Œλ“œ μˆœμœ„ 이세진
  μΉ΄ν…Œκ³ λ¦¬ μˆœμœ„ 이세진
  μ›” 기둝 횟수 이세진
μ„€μ • μ„€μ • λ·° 이세진



Be happy, Take a happic:


Group 2325@3x

About

Be happy, take a happic: πŸ“Έ

License:Apache License 2.0


Languages

Language:Swift 100.0%