/Terning-iOS

🍎 μ§€κΈˆμ΄ μ•„μš”μ˜ ν„°λ‹ν¬μΈνŠΈ~ 🍎

Primary LanguageSwift

πŸ‘” terning 터닝 - λŒ€ν•™μƒ 인턴, 곡고 관리 μΊ˜λ¦°λ”

μ•±μŠ€ν† μ–΄ 링크 : μ•±μŠ€ν† μ–΄ v1.0.0

λ‚΄ κ³„νšμ— λ”± λ§žλŠ” λŒ€ν•™μƒ μΈν„΄μ˜ μ‹œμž‘, 터닝

취업을 μœ„ν•œ ν•„μˆ˜ κ΄€λ¬Έμ΄μž λŒ€ν•™μƒμœΌλ‘œμ„œ μŒ“μ„ 수 μžˆλŠ” 졜고의 μŠ€νŽ™, 인턴.

학점 관리뢀터 λŒ€μ™Έν™œλ™κΉŒμ§€, λ°”μœ 일상 μ†μ—μ„œ λŒ€ν•™μƒλ“€μ€ μΈν„΄μ΄λΌλŠ” μŠ€νŽ™μ„ μœ„ν•΄ μžμ‹ λ§Œμ˜ κ³„νšμ„ μˆ˜λ¦½ν•©λ‹ˆλ‹€.

ν¬λ§ν•˜λŠ” 근무 κΈ°κ°„κ³Ό κ·Έ κΈ°κ°„ λ™μ•ˆ 일할 수 μžˆλŠ” 기업은 무엇이 μžˆλŠ”μ§€, λ‚΄κ°€ 지원할 곡고의 지원 λ§ˆκ°μΌμ€ μ–Έμ œμΈμ§€.

νŒ€ ν„°λ‹ν¬μΈνŠΈλŠ” λŒ€ν•™μƒμ΄ μ„Έμš΄ κ³„νšμ— λ”± λ§žλŠ” 인턴 곡고λ₯Ό μΆ”μ²œν•΄μ£Όκ³ , 인턴 지원 일정을 효율적으둜 κ΄€λ¦¬ν•˜λŠ” λ°©μ•ˆμ— λŒ€ν•΄ κ³ λ―Όν•©λ‹ˆλ‹€.

ν„°λ‹μ—μ„œ λ‚˜λ§Œμ˜ 인턴 κ³„νšμ„ λ“±λ‘ν•˜κ³ , λ”± λ§žλŠ” 인턴 곡고λ₯Ό μΆ”μ²œ λ°›μ•„λ³΄μ„Έμš”!


About TerningPoint

μ§€κΈˆμ΄ 우리의 ν„°λ‹ν¬μΈνŠΈ

μ„œλΉ„μŠ€ ν•œ 쀄 μ†Œκ°œ : λ§žμΆ€ν˜• 인턴 μΆ”μ²œ 및 일정 관리λ₯Ό 톡해, μ‚¬νšŒμΈμ„ ν–₯ν•œ λŒ€ν•™μƒμ˜ λ§ˆμ§€λ§‰ ν„°λ‹ν¬μΈνŠΈλ₯Ό ν•¨κ»˜ν•©λ‹ˆλ‹€.


🟒 Problem

  1. 인턴 일정을 κ΄€λ¦¬ν•˜κΈ°κ°€ 어렀움
  2. λŒ€κΈ°μ—…μ€ μ±„μš©κ³΅κ³ λ₯Ό μˆ˜μ‹œλ‘œ ν™ˆνŽ˜μ΄μ§€μ— λ“€μ–΄κ°€μ•Ό ν•΄μ„œ ν”Όλ‘œν•¨.
  3. 인턴 후기에 λŒ€ν•œ 객관적인 νŒλ‹¨μ˜ 어렀움 쑴재.(긍정적인 리뷰가 λŒ€λΆ€λΆ„)
  4. μ„œλ₯˜μ œμΆœκΈ°ν•œ, λ©΄μ ‘μ œμΆœ κΈ°ν•œμ„ ν•œλ²ˆμ— νŒŒμ•…ν•˜κΈ° νž˜λ“¦.
  5. ν™ˆνŽ˜μ΄μ§€μ— 듀어갔을 λ•Œ 직무가 무슨 직무인지, λ‚˜λž‘ 잘 λ§žλŠ” 직무인지 μ§κ΄€μ μœΌλ‘œ μ•ŒκΈ° 어렀움 ν™ˆνŽ˜μ΄μ§€μ—μ„œ 곡고λ₯Ό 확인할 μ‹œ, 직무의 정보 결핍, 적합성을 νŒŒμ•…ν•˜κΈ° μ–΄λ ΅λ‹€λŠ” 점이 쑴재.

🟒 Solution

  1. κ°„λ‹¨ν•œ 세가지 λ¬Έλ‹΅λ§ŒμœΌλ‘œ λ‚˜λ§Œμ˜ λŒ€ν•™μƒ 인턴 κ³„νšμ„ μž…λ ₯ -> 이에 λ§žλŠ” 곡고λ₯Ό μΆ”μ²œ
  2. λ‚΄ κ³„νšμ— λ”± λ§žλŠ” 인턴 곡고λ₯Ό λ‚˜λ§Œμ˜ μ»€μŠ€ν…€ μΊ˜λ¦°λ”λ‘œ μŠ€ν¬λž©ν•˜κ³  κ΄€λ¦¬ν•΄λ³΄μ„Έμš”.
  3. λ‚΄κ°€ 관심 μžˆλŠ” 곡고 쀑 였늘 λ§ˆκ°λ˜λŠ” 곡고λ₯Ό λ¦¬λ§ˆμΈλ“œ λ°›μ•„λ³΄μ„Έμš”.

πŸ§‘β€πŸ’» Member

이λͺ…진
(@thingineeer)
정민지
(@wjdalswl)
κΉ€λ―Όμ„±
(@mminny)
IMG_6676 2 IMG_6678 IMG_6677
ν™ˆ ν™”λ©΄ μΊ˜λ¦°λ” μ†Œμ…œ 둜그인 슀크랩 곡용 μ»΄ν¬λ„ŒνŠΈ μ˜¨λ³΄λ”© μ†Œμ…œ 둜그인 탐색 곡고 상세화면 λ§ˆμ΄νŽ˜μ΄μ§€ ν™ˆ 필터링

image

⭐️ Commit Message Rule

[prefix] #이슈번호 - 이슈 λ‚΄μš©

[Prefix]

[Add]: κΈ°λŠ₯κ³Ό λ¬΄κ΄€ν•œ μ½”λ“œ μΆ”κ°€ (라이브러리 μΆ”κ°€, μœ ν‹Έλ¦¬ν‹° ν•¨μˆ˜ μΆ”κ°€ λ“±)
[Chore]: κ·Έ μ΄μ™Έμ˜ 작일/ 버전 μ½”λ“œ μˆ˜μ •, νŒ¨ν‚€μ§€ ꡬ쑰 λ³€κ²½, 파일 이동, νŒŒμΌμ΄λ¦„ λ³€κ²½
[Comment]: ν•„μš”ν•œ 주석 μΆ”κ°€ 및 λ³€κ²½
[Del]: μ“Έλͺ¨μ—†λŠ” μ½”λ“œ, 주석 μ‚­μ œ
[Design]: λ·° κ΅¬ν˜„ (UI κ΄€λ ¨ μ½”λ“œ μΆ”κ°€ 및 μˆ˜μ •)
[Docs]: READMEλ‚˜ WIKI λ“±μ˜ λ¬Έμ„œ κ°œμ •
[Feat]: μƒˆλ‘œμš΄ κΈ°λŠ₯ κ΅¬ν˜„
[Fix]: 버그, 였λ₯˜ ν•΄κ²°, μ½”λ“œ μˆ˜μ •
[Refactor]: μ „λ©΄ μˆ˜μ •μ΄ μžˆμ„ λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€
[Remove]: 파일 μ‚­μ œ
[Setting]: ν”„λ‘œμ νŠΈ μ„ΈνŒ… 및 μ „λ°˜μ  κΈ°λŠ₯
[Test]: ν…ŒμŠ€νŠΈ μ½”λ“œ

ex) [Feat] #5 - μ„œλ²„ μ—°κ²° κ΅¬ν˜„

πŸ“‘ Code Convention

터닝 μ½”λ“œ μ»¨λ²€μ…˜

πŸ“Œ Code Review Rule

μ½”λ“œ 리뷰λ₯Ό μ΅œλŒ€ν•œ 빨리 달고 λ°˜μ˜ν•˜μž!

πŸ“Œ Issue Naming Rule

[Prefix] - μ΄μŠˆλ‚΄μš©

ex) [Feat] - TerningPoint ν™ˆ ν™”λ©΄ κ΅¬ν˜„

πŸ“Œ PR Naming Rule

[Prefix] #이슈번호- μž‘μ—…λ‚΄μš©

ex) [Feat] #1 - TerningPoint ν™ˆ ν™”λ©΄ κ΅¬ν˜„

πŸ“Œ Git Flow

  1. 이슈 생성 (μ–΄λ–€ μž‘μ—… ν•  것 인지?)
  2. 브랜치 생성
  3. 브랜치 add, commit, push β†’ PR κ³Όμ • 거치기
  4. μ΅œμ†Œ 1λͺ… "Approve" μžˆμ–΄μ•Ό merge (κ°•μ œ 머지 κΈˆμ§€ )
  5. 머지후 ( ν•΄λ‹Ή 브랜치 λ°”λ‘œ 제거 )
  6. pull λ°›μ•„μ„œ λ‹€μŒ 이슈 진행

πŸ“Œ Git

좩돌 μ•ˆλ‚˜κ²Œ 같은 파일 μ΅œλŒ€ν•œ μž‘μ—…ν•˜μ§€ μ•ŠκΈ°

πŸ“– Development Environment and Using Library*

  • Development Environment



  • πŸ“š Library
라이브러리 μ‚¬μš© λͺ©μ  Version Management Tool
Moya μ„œλ²„ 톡신 15.0.3 SPM
SnapKit UI Layout 5.7.1 SPM
Then UI μ„ μ–Έ 3.0.0 SPM
Kingfisher 이미지 처리 7.12.0 SPM
RxSwift 비동기 처리 6.7.1 SPM
FSCalendar μΊ˜λ¦°λ” κ΅¬ν˜„ 2.8.4 SPM
KakaoSDK 카카였 μ†Œμ…œ 둜그인 κ΅¬ν˜„ 2.22.4 SPM
Inject SwiftUI 처럼 λ·° 디버깅 1.5.2 SPM
Lottie μ• λ‹ˆλ©”μ΄μ…˜ κ΅¬ν˜„ 4.5.0 SPM

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

πŸ“‚ Foldering

└── πŸ“‚ Terning-iOS
    β”œβ”€β”€ πŸ“‚ Application
    β”‚   β”œβ”€β”€ πŸ“‚ AppDelegate.swift
    β”‚   └── πŸ“‚ SceneDelegate.swift
    β”œβ”€β”€ πŸ“‚ Info.plist
    β”œβ”€β”€ πŸ“‚ Resource
    β”‚   β”œβ”€β”€ πŸ“‚ Assets.xcassets
    β”‚   β”œβ”€β”€ πŸ“‚ Config
    β”‚   β”œβ”€β”€ πŸ“‚ Extension
    β”‚   β”œβ”€β”€ πŸ“‚ Fonts
    β”‚   β”œβ”€β”€ πŸ“‚ Literal
    β”‚   β”œβ”€β”€ πŸ“‚ Lotties
    β”‚   β”œβ”€β”€ πŸ“‚ Protocols
    β”‚   β”œβ”€β”€ πŸ“‚ UIComponents
    β”‚   └── πŸ“‚ Utils
    └── πŸ“‚ Source
        β”œβ”€β”€ πŸ“‚ Data
        β”‚   β”œβ”€β”€ πŸ“‚ Network
        β”‚   └── πŸ“‚ Repository
        β”œβ”€β”€ πŸ“‚ Domain
        β”‚   └── πŸ“‚ Model
        └── πŸ“‚ Presentation
            β”œβ”€β”€ πŸ“‚ AccountOption
            β”œβ”€β”€ πŸ“‚ Calendar
            β”œβ”€β”€ πŸ“‚ FilteringSetting
            β”œβ”€β”€ πŸ“‚ Home
            β”œβ”€β”€ πŸ“‚ JobDetail
            β”œβ”€β”€ πŸ“‚ Login
            β”œβ”€β”€ πŸ“‚ MyPage
            β”œβ”€β”€ πŸ“‚ Onboarding
            β”œβ”€β”€ πŸ“‚ Profile
            β”œβ”€β”€ πŸ“‚ ProfileImage
            β”œβ”€β”€ πŸ“‚ Search
            β”œβ”€β”€ πŸ“‚ SearchResult
            β”œβ”€β”€ πŸ“‚ SortSetting
            β”œβ”€β”€ πŸ“‚ Splash
            β”œβ”€β”€ πŸ“‚ TabBar
            └── πŸ“‚ Welcome

🎨 Design