Skip to content

Giljjang/Tourding_FE

Repository files navigation

๐Ÿšดโ€โ™‚๏ธ Tourding

์ž์ „๊ฑฐ ์—ฌํ–‰์„ ์œ„ํ•œ ์˜ฌ์ธ์› ์„œ๋น„์Šค

์ž์ „๊ฑฐ ์—ฌํ–‰์„ ์ค€๋น„ํ•  ๋•Œ, ํฉ์–ด์ง„ ์ •๋ณด๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ์ฐพ๋А๋ผ ๋ฒˆ๊ฑฐ๋กœ์šฐ์…จ๋‚˜์š”?
๋ผ์ด๋”ฉ ์ค‘, ๊ทผ์ฒ˜ ํŽธ์˜์‹œ์„ค์„ ๊ธ‰ํ•˜๊ฒŒ ์ฐพ์•„๋ณธ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹ ๊ฐ€์š”?

ํˆฌ์–ด๋”ฉ์€ ์ด๋Ÿฌํ•œ ๋ถˆํŽธ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ผ์ด๋”ฉ ์ŠคํŒŸ ์ •๋ณด ์ˆ˜์ง‘๋ถ€ํ„ฐ ๋‚˜๋งŒ์˜ ์ฝ”์Šค ์ œ์ž‘๊ณผ ๊ธธ ์•ˆ๋‚ด๊นŒ์ง€ ์ง€์›ํ•˜๋Š” ์„œ๋น„์Šค์˜ˆ์š”.

ํˆฌ์–ด๋”ฉ๊ณผ ํ•จ๊ป˜ ๊ฐ„ํŽธํ•˜๊ณ  ์ฆ๊ฑฐ์šด ์ž์ „๊ฑฐ ์—ฌํ–‰์„ ๋– ๋‚˜๋ณด์„ธ์š”!

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿ—บ๏ธ ๋ผ์ด๋”ฉ ์ฝ”์Šค ์ƒ์„ฑ

  • ์ถœ๋ฐœยท๋„์ฐฉ์ง€๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๋ผ์ด๋”ฉ ์ค‘ ๋“ค๋ฅด๊ณ  ์‹ถ์€ ์ŠคํŒŸ์„ ์ฝ”์Šค์— ์ถ”๊ฐ€
  • ์ž์—ฐ, ์ธ๋ฌธ, ๋ ˆํฌ์ธ , ์‡ผํ•‘, ์Œ์‹, ์ˆ™๋ฐ• ๋“ฑ ๋‹ค์–‘ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์ŠคํŒŸ ์ •๋ณด ์ œ๊ณต
  • ๋‚˜๋งŒ์˜ ๋งž์ถคํ˜• ๋ผ์ด๋”ฉ ๋ฃจํŠธ ์ œ์ž‘
  • ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ์œผ๋กœ ๊ฒฝ๋กœ ์ˆœ์„œ ์ž์œ ๋กญ๊ฒŒ ๋ณ€๊ฒฝ

๐Ÿงญ ์‹ค์‹œ๊ฐ„ ๋ผ์ด๋”ฉ ๋„ค๋น„๊ฒŒ์ด์…˜

  • ์‹ค์‹œ๊ฐ„ ์œ„์น˜ ์ถ”์ : GPS ๊ธฐ๋ฐ˜ ์ •ํ™•ํ•œ ํ˜„์žฌ ์œ„์น˜ ์ถ”์ 
  • ๋‚˜์นจ๋ฐ˜ ๋„ค๋น„๊ฒŒ์ด์…˜: ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ”๋ผ๋ณด๋Š” ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ์นด๋ฉ”๋ผ ์ž๋™ ํšŒ์ „
  • ์ง€๋‚˜๊ฐ„ ๋งˆ์ปค ์ž๋™ ์ œ๊ฑฐ: 30m ์ž„๊ณ„๊ฐ’์œผ๋กœ ์ง€๋‚˜๊ฐ„ ๊ฒฝ๋กœ ๋งˆ์ปค ์ž๋™ ์‚ญ์ œ
  • ๋™์  ์นด๋ฉ”๋ผ ํ”ผ๋ด‡: ๋ฐ”ํ…€์‹œํŠธ ๋†’์ด์— ๋”ฐ๋ฅธ ์นด๋ฉ”๋ผ ์‹œ์  ์ž๋™ ์กฐ์ •
  • ํŽธ์˜์‹œ์„ค ํ‘œ์‹œ: ํ™”์žฅ์‹ค, ํŽธ์˜์  ๋“ฑ ์ฃผ๋ณ€ ํŽธ์˜์‹œ์„ค ๊ฒ€์ƒ‰ ๋ฐ ํ‘œ์‹œ

๐ŸŽฏ ์ถ”์ฒœ ์ฝ”์Šค ๊ธฐ๋Šฅ

  • ๋‹ค์–‘ํ•œ ํ…Œ๋งˆ: ์ž์—ฐ, ๋ฌธํ™”, ๋ง›์ง‘, ํž๋ง ๋“ฑ ๋‹ค์–‘ํ•œ ํ…Œ๋งˆ๋ณ„ ์ถ”์ฒœ ์ฝ”์Šค
  • ์ƒ์„ธ ์ •๋ณด ์ œ๊ณต: ์ด ๊ฑฐ๋ฆฌ, ์†Œ์š”์‹œ๊ฐ„, ์ฃผ์š” ํฌ์ธํŠธ ์ •๋ณด
  • ์›ํด๋ฆญ ์ ์šฉ: ์ถ”์ฒœ ์ฝ”์Šค๋ฅผ ๋ฐ”๋กœ ๋‚ด ์ฝ”์Šค๋กœ ์ ์šฉ ๊ฐ€๋Šฅ

๐Ÿ” ์ŠคํŒŸ ํƒ์ƒ‰ ๋ฐ ์ถ”๊ฐ€

  • ์นด์นด์˜ค ๋กœ์ปฌ API: ์ •ํ™•ํ•œ ์žฅ์†Œ ๊ฒ€์ƒ‰ ๋ฐ ์ •๋ณด ์ œ๊ณต
  • ์‹ค์‹œ๊ฐ„ ํ•„ํ„ฐ๋ง: ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„, ๊ฑฐ๋ฆฌ๋ณ„ ์ŠคํŒŸ ํ•„ํ„ฐ๋ง
  • ๋ผ์ด๋”ฉ ์ค‘ ์ŠคํŒŸ ์ถ”๊ฐ€: ๋ผ์ด๋”ฉ ์ค‘์—๋„ ์ƒˆ๋กœ์šด ์ŠคํŒŸ์„ ๊ฒฝ๋กœ์— ์ฆ‰์‹œ ์ถ”๊ฐ€
  • ์ตœ๊ทผ ๊ฒ€์ƒ‰ ๊ธฐ๋ก: ์ž์ฃผ ์ฐพ๋Š” ์žฅ์†Œ ๋น ๋ฅธ ์žฌ๊ฒ€์ƒ‰

๐Ÿ“ ๊ณ ๊ธ‰ ๋ผ์ด๋”ฉ ๊ธฐ๋Šฅ

  • ๊ฒฝ๋กœ ๋ฐฑ์—…/๋ณต์›: ๋ผ์ด๋”ฉ ์ค‘ ์›๋ณธ ๊ฒฝ๋กœ ๋ฐ์ดํ„ฐ ์ž๋™ ๋ฐฑ์—… ๋ฐ ๋ณต์›
  • ๋น„์ •์ƒ ์ข…๋ฃŒ ๋ณต๊ตฌ: ์•ฑ ์ข…๋ฃŒ ํ›„ ์žฌ์‹œ์ž‘ ์‹œ ๋ผ์ด๋”ฉ ์ƒํƒœ ์ž๋™ ๋ณต๊ตฌ
  • ํฌ๊ทธ๋ผ์šด๋“œ ๋ณต๊ท€ ์ฒ˜๋ฆฌ: ์•ฑ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋ณต๊ท€ ์‹œ ์ง€๋„ ๋ฐ์ดํ„ฐ ์ž๋™ ์ƒˆ๋กœ๊ณ ์นจ
  • ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”: ํšจ์œจ์ ์ธ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ๋กœ ๋ถ€๋“œ๋Ÿฌ์šด ๋ผ์ด๋”ฉ ๊ฒฝํ—˜

๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ

Frontend

  • SwiftUI - iOS ๋„ค์ดํ‹ฐ๋ธŒ UI ํ”„๋ ˆ์ž„์›Œํฌ
  • MVVM Architecture - ๊น”๋”ํ•œ ์ฝ”๋“œ ๊ตฌ์กฐ
  • Dependency Injection - ์˜์กด์„ฑ ์ฃผ์ž…์„ ํ†ตํ•œ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ

Map & Navigation

  • ๋„ค์ด๋ฒ„ ์ง€๋„ SDK (NMFMapView) - ๊ณ ์„ฑ๋Šฅ ์ง€๋„ ํ‘œ์‹œ ๋ฐ ๋‚ด๋น„๊ฒŒ์ด์…˜
  • NMap - ์‹ค์‹œ๊ฐ„ ์œ„์น˜ ์ถ”์  ๋ฐ ๋‚˜์นจ๋ฐ˜ ๊ธฐ๋Šฅ
  • Core Location - ์ •ํ™•ํ•œ GPS ์œ„์น˜ ์„œ๋น„์Šค
  • Custom Location Manager - ํšจ์œจ์ ์ธ ์œ„์น˜ ์ถ”์  ๊ด€๋ฆฌ

Authentication & Security

  • ์นด์นด์˜ค ๋กœ๊ทธ์ธ SDK - ์†Œ์…œ ๋กœ๊ทธ์ธ
  • Keychain Services - ์•ˆ์ „ํ•œ ํ† ํฐ ๋ฐ ์‚ฌ์šฉ์ž ์ •๋ณด ์ €์žฅ
  • App Storage - ์‚ฌ์šฉ์ž ์„ค์ • ๋ฐ ์ƒํƒœ ๊ด€๋ฆฌ

Network & API

  • URLSession - ๋น„๋™๊ธฐ REST API ํ†ต์‹ 
  • JSON Codable - ํƒ€์ž… ์•ˆ์ „ํ•œ ๋ฐ์ดํ„ฐ ์ง๋ ฌํ™”/์—ญ์ง๋ ฌํ™”
  • ์นด์นด์˜ค ๋กœ์ปฌ API - ์ •ํ™•ํ•œ ์žฅ์†Œ ๊ฒ€์ƒ‰ ๋ฐ ์ •๋ณด ์ œ๊ณต
  • Retry Mechanism - ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜ ์‹œ ์ž๋™ ์žฌ์‹œ๋„

Advanced Features

  • Background Task Management - ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ์˜ ์œ„์น˜ ์ถ”์ 
  • Memory Management - ํšจ์œจ์ ์ธ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€
  • State Recovery - ์•ฑ ์ข…๋ฃŒ ํ›„ ์ƒํƒœ ๋ณต๊ตฌ
  • Real-time Updates - ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”

๐Ÿ“ฑ ์•ฑ ๊ตฌ์กฐ

Tourding_FE/
โ”œโ”€โ”€ App/                           # ์•ฑ ์ง„์ž…์  ๋ฐ ์˜์กด์„ฑ ์ฃผ์ž…
โ”‚   โ”œโ”€โ”€ Tourding_FEApp.swift     # ๋ฉ”์ธ ์•ฑ ์ง„์ž…์ 
โ”‚   โ””โ”€โ”€ DependencyProvider.swift  # ์˜์กด์„ฑ ์ฃผ์ž… ๊ด€๋ฆฌ
โ”œโ”€โ”€ Views/                         # SwiftUI ๋ทฐ ์ปดํฌ๋„ŒํŠธ
โ”‚   โ”œโ”€โ”€ Home/                     # ํ™ˆ ํ™”๋ฉด
โ”‚   โ”œโ”€โ”€ Riding/                   # ๋ผ์ด๋”ฉ ํ™”๋ฉด (๋„ค๋น„๊ฒŒ์ด์…˜)
โ”‚   โ”œโ”€โ”€ RecommendRoute/           # ์ถ”์ฒœ ์ฝ”์Šค ํ™”๋ฉด
โ”‚   โ”œโ”€โ”€ SpotSearch/              # ์ŠคํŒŸ ๊ฒ€์ƒ‰ ๋ฐ ํ•„ํ„ฐ๋ง
โ”‚   โ”œโ”€โ”€ SpotAdd/                 # ์ŠคํŒŸ ์ถ”๊ฐ€ (๋ผ์ด๋”ฉ ์ค‘)
โ”‚   โ”œโ”€โ”€ Detail/                  # ์ƒ์„ธ ์ •๋ณด ๋ฐ ๋ฐ”ํ…€์‹œํŠธ
โ”‚   โ”œโ”€โ”€ Login/                   # ๋กœ๊ทธ์ธ ๋ฐ ์˜จ๋ณด๋”ฉ
โ”‚   โ”œโ”€โ”€ MyPage/                  # ๋งˆ์ดํŽ˜์ด์ง€
โ”‚   โ””โ”€โ”€ Components/               # ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ
โ”œโ”€โ”€ ViewModels/                   # MVVM ๋ทฐ๋ชจ๋ธ
โ”‚   โ”œโ”€โ”€ Riding/                  # ๋ผ์ด๋”ฉ ๊ด€๋ จ ๋ทฐ๋ชจ๋ธ
โ”‚   โ”‚   โ”œโ”€โ”€ RidingViewModel.swift
โ”‚   โ”‚   โ”œโ”€โ”€ RidingViewModel+API.swift
โ”‚   โ”‚   โ”œโ”€โ”€ RidingViewModel+LocationTracking.swift
โ”‚   โ”‚   โ””โ”€โ”€ RidingViewModel+Utils.swift
โ”‚   โ”œโ”€โ”€ RecommendRoute/          # ์ถ”์ฒœ ์ฝ”์Šค ๋ทฐ๋ชจ๋ธ
โ”‚   โ”œโ”€โ”€ SpotSearch/              # ์ŠคํŒŸ ๊ฒ€์ƒ‰ ๋ทฐ๋ชจ๋ธ
โ”‚   โ””โ”€โ”€ Components/              # ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๋ทฐ๋ชจ๋ธ
โ”œโ”€โ”€ Model/                       # ๋ฐ์ดํ„ฐ ๋ชจ๋ธ
โ”‚   โ”œโ”€โ”€ Riding/                  # ๋ผ์ด๋”ฉ ๊ด€๋ จ ๋ชจ๋ธ
โ”‚   โ”œโ”€โ”€ RecommendRoute/         # ์ถ”์ฒœ ์ฝ”์Šค ๋ชจ๋ธ 
โ”‚   โ”œโ”€โ”€ Search/                  # ๊ฒ€์ƒ‰ ๊ด€๋ จ ๋ชจ๋ธ
โ”‚   โ””โ”€โ”€ User/                    # ์‚ฌ์šฉ์ž ๊ด€๋ จ ๋ชจ๋ธ
โ”œโ”€โ”€ Network/                     # ๋„คํŠธ์›Œํฌ ๋ ˆ์ด์–ด
โ”‚   โ”œโ”€โ”€ NetworkService.swift    # ํ†ตํ•ฉ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค
โ”‚   โ”œโ”€โ”€ KakaoLocalService.swift # ์นด์นด์˜ค ๋กœ์ปฌ API
โ”‚   โ””โ”€โ”€ NetworkMonitor.swift    # ๋„คํŠธ์›Œํฌ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง
โ”œโ”€โ”€ Repository/                  # ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ
โ”‚   โ”œโ”€โ”€ RouteRepository.swift   # ๊ฒฝ๋กœ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ
โ”‚   โ”œโ”€โ”€ TourRepository.swift    # ํˆฌ์–ด ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ
โ”‚   โ”œโ”€โ”€ UserRepository.swift    # ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ
โ”‚   โ””โ”€โ”€ KakaoRepository.swift   # ์นด์นด์˜ค API ์—ฐ๋™
โ”œโ”€โ”€ Utils/                       # ์œ ํ‹ธ๋ฆฌํ‹ฐ
โ”‚   โ””โ”€โ”€ SafeAreaUtils.swift     # ์•ˆ์ „ ์˜์—ญ ๊ด€๋ฆฌ
โ””โ”€โ”€ Resources/                   # ๋ฆฌ์†Œ์Šค ํŒŒ์ผ
    โ”œโ”€โ”€ Assets.xcassets/        # ์ด๋ฏธ์ง€ ๋ฐ ์ƒ‰์ƒ ๋ฆฌ์†Œ์Šค
    โ”œโ”€โ”€ Font/                   # ์ปค์Šคํ…€ ํฐํŠธ (Pretendard)
    โ””โ”€โ”€ GIF/                    # ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ฆฌ์†Œ์Šค

๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ

์š”๊ตฌ์‚ฌํ•ญ

  • iOS 17.0+ (์ตœ์‹  ๊ธฐ๋Šฅ ํ™œ์šฉ)
  • Xcode 15.0+ (SwiftUI ์ตœ์ ํ™”)
  • Swift 5.9+ (์ตœ์‹  ์–ธ์–ด ๊ธฐ๋Šฅ)
  • macOS 14.0+ (๊ฐœ๋ฐœ ํ™˜๊ฒฝ)

์„ค์น˜ ๋ฐ ์‹คํ–‰

  1. ์ €์žฅ์†Œ ํด๋ก 

    git clone https://github.com/your-username/Tourding_FE.git
    cd Tourding_FE
  2. ์˜์กด์„ฑ ์„ค์น˜

    • Xcode์—์„œ ํ”„๋กœ์ ํŠธ ์—ด๊ธฐ
    • Swift Package Manager๋ฅผ ํ†ตํ•ด ์ž๋™์œผ๋กœ ์˜์กด์„ฑ ์„ค์น˜
  3. API ํ‚ค ์„ค์ •

    • Config.xcconfig ํŒŒ์ผ์—์„œ ๋‹ค์Œ ํ‚ค๋“ค์„ ์„ค์ •:
      • NAVER_APP_KEY: ๋„ค์ด๋ฒ„ ์ง€๋„ API ํ‚ค
      • KAKAO_NATIVE_APP_KEY: ์นด์นด์˜ค ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ ํ‚ค
      • KAKAO_REST_API_KEY: ์นด์นด์˜ค REST API ํ‚ค
      • BASE_URL: ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ URL
  4. ๋นŒ๋“œ ๋ฐ ์‹คํ–‰

    • Xcode์—์„œ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ
    • ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” ์‹ค์ œ ๊ธฐ๊ธฐ์—์„œ ์‹คํ–‰

๐Ÿ“‹ ์ฃผ์š” ํ™”๋ฉด

๐Ÿ  ํ™ˆ ํ™”๋ฉด

  • ์ง€๋„ ๊ธฐ๋ฐ˜ ๋ฉ”์ธ ํ™”๋ฉด: ํ˜„์žฌ ์œ„์น˜ ์ค‘์‹ฌ์˜ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์ง€๋„
  • ์ฝ”์Šค ์ƒ์„ฑ ์‹œ์ž‘์ : ์ถœ๋ฐœ์ง€/๋„์ฐฉ์ง€ ์„ค์ • ๋ฐ ๊ฒฝ๋กœ ๊ณ„ํš
  • ๋น ๋ฅธ ์•ก์„ธ์Šค: ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์— ๋Œ€ํ•œ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿšดโ€โ™‚๏ธ ๋ผ์ด๋”ฉ ํ™”๋ฉด (ํ•ต์‹ฌ ๊ธฐ๋Šฅ)

  • ์‹ค์‹œ๊ฐ„ ๋„ค๋น„๊ฒŒ์ด์…˜: GPS ๊ธฐ๋ฐ˜ ์ •ํ™•ํ•œ ๊ธธ ์•ˆ๋‚ด
  • ๋‚˜์นจ๋ฐ˜ ๋ชจ๋“œ: ์‚ฌ์šฉ์ž ๋ฐฉํ–ฅ์— ๋”ฐ๋ฅธ ์นด๋ฉ”๋ผ ์ž๋™ ํšŒ์ „
  • ๋งˆ์ปค ์ž๋™ ๊ด€๋ฆฌ: ์ง€๋‚˜๊ฐ„ ๊ฒฝ๋กœ ๋งˆ์ปค ์ž๋™ ์ œ๊ฑฐ (30m ์ž„๊ณ„๊ฐ’)
  • ํŽธ์˜์‹œ์„ค ํ† ๊ธ€: ํ™”์žฅ์‹ค, ํŽธ์˜์  ๋“ฑ ์ฃผ๋ณ€ ์‹œ์„ค ์‹ค์‹œ๊ฐ„ ํ‘œ์‹œ
  • ๋™์  ์นด๋ฉ”๋ผ: ๋ฐ”ํ…€์‹œํŠธ ๋†’์ด์— ๋”ฐ๋ฅธ ์นด๋ฉ”๋ผ ์‹œ์  ์ž๋™ ์กฐ์ •
  • ๋ผ์ด๋”ฉ ์ค‘ ์ŠคํŒŸ ์ถ”๊ฐ€: ์ƒˆ๋กœ์šด ์žฅ์†Œ๋ฅผ ๊ฒฝ๋กœ์— ์ฆ‰์‹œ ์ถ”๊ฐ€

๐ŸŽฏ ์ถ”์ฒœ ์ฝ”์Šค ํ™”๋ฉด

  • ํ…Œ๋งˆ๋ณ„ ๋ถ„๋ฅ˜: ์ž์—ฐ, ๋ฌธํ™”, ๋ง›์ง‘, ํž๋ง ๋“ฑ ๋‹ค์–‘ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ
  • ์ƒ์„ธ ์ •๋ณด: ๋‚œ์ด๋„, ์†Œ์š”์‹œ๊ฐ„, ์ฃผ์š” ํฌ์ธํŠธ ์ •๋ณด ์ œ๊ณต
  • ์›ํด๋ฆญ ์ ์šฉ: ์ถ”์ฒœ ์ฝ”์Šค๋ฅผ ๋ฐ”๋กœ ๋‚ด ์ฝ”์Šค๋กœ ์ ์šฉ

๐Ÿ” ์ŠคํŒŸ ๊ฒ€์ƒ‰ ํ™”๋ฉด

  • ์นด์นด์˜ค ๋กœ์ปฌ API: ์ •ํ™•ํ•œ ์žฅ์†Œ ๊ฒ€์ƒ‰ ๋ฐ ์ •๋ณด ์ œ๊ณต
  • ์‹ค์‹œ๊ฐ„ ํ•„ํ„ฐ๋ง: ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„, ๊ฑฐ๋ฆฌ๋ณ„ ์ŠคํŒŸ ํ•„ํ„ฐ๋ง
  • ์ตœ๊ทผ ๊ฒ€์ƒ‰ ๊ธฐ๋ก: ์ž์ฃผ ์ฐพ๋Š” ์žฅ์†Œ ๋น ๋ฅธ ์žฌ๊ฒ€์ƒ‰
  • ์ง€๋„ ์—ฐ๋™: ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ์ง€๋„์—์„œ ๋ฐ”๋กœ ํ™•์ธ

๐Ÿ“ ์ƒ์„ธ ์ •๋ณด ํ™”๋ฉด

  • ๋ฐ”ํ…€์‹œํŠธ UI: ์ง๊ด€์ ์ธ ์ •๋ณด ํ‘œ์‹œ
  • ์ด๋ฏธ์ง€ ์คŒ: ์ŠคํŒŸ ์ด๋ฏธ์ง€ ํ™•๋Œ€/์ถ•์†Œ ๊ธฐ๋Šฅ
  • ์ƒ์„ธ ์ •๋ณด: ์ฃผ์†Œ, ์ „ํ™”๋ฒˆํ˜ธ, ์šด์˜์‹œ๊ฐ„ ๋“ฑ ์™„์ „ํ•œ ์ •๋ณด
  • ์ฆ‰์‹œ ์ถ”๊ฐ€: ์ƒ์„ธ ์ •๋ณด์—์„œ ๋ฐ”๋กœ ๊ฒฝ๋กœ์— ์ถ”๊ฐ€

๐Ÿ‘ค ๋งˆ์ดํŽ˜์ด์ง€

  • ์‚ฌ์šฉ์ž ์ •๋ณด: ํ”„๋กœํ•„ ๋ฐ ์„ค์ • ๊ด€๋ฆฌ
  • ์„œ๋น„์Šค ์ •๋ณด: ์•ฑ ์ •๋ณด ๋ฐ ๊ณ ๊ฐ ์ง€์›
  • ๋กœ๊ทธ์•„์›ƒ: ์•ˆ์ „ํ•œ ๊ณ„์ • ๊ด€๋ฆฌ

๐Ÿ”ง ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •

ํ•„์š”ํ•œ API ํ‚ค

  1. ๋„ค์ด๋ฒ„ ์ง€๋„ API

  2. ์นด์นด์˜ค ๋กœ๊ทธ์ธ API

ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

Config.xcconfig ํŒŒ์ผ์— API ํ‚ค๋“ค์„ ์„ค์ •ํ•˜์„ธ์š”:

# ๋„ค์ด๋ฒ„ ์ง€๋„ API
NAVER_APP_KEY = your_naver_app_key

# ์นด์นด์˜ค ๋กœ๊ทธ์ธ API
KAKAO_NATIVE_APP_KEY = your_kakao_native_key
KAKAO_REST_API_KEY = your_kakao_rest_key

# ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ URL
BASE_URL = your_backend_url

# ์นด์นด์˜ค ๋กœ์ปฌ API URL (์„ ํƒ์‚ฌํ•ญ)
KAKAO_URL = https://dapi.kakao.com

์ฃผ์š” ์„ค์ • ์‚ฌํ•ญ

  • ์œ„์น˜ ๊ถŒํ•œ: Info.plist์—์„œ ์œ„์น˜ ์‚ฌ์šฉ ๊ถŒํ•œ ์„ค๋ช… ์„ค์ •
  • ๋„คํŠธ์›Œํฌ ๋ณด์•ˆ: HTTPS ํ†ต์‹ ์„ ์œ„ํ•œ ๋ณด์•ˆ ์„ค์ •
  • ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ชจ๋“œ: ์œ„์น˜ ์ถ”์ ์„ ์œ„ํ•œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰ ํ—ˆ์šฉ

๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“„ ๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค ํ•˜์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿ“ž ๋ฌธ์˜

ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๋ฌธ์˜์‚ฌํ•ญ์ด ์žˆ์œผ์‹œ๋ฉด ์ด์Šˆ๋ฅผ ์ƒ์„ฑํ•ด ์ฃผ์„ธ์š”.


ํˆฌ์–ด๋”ฉ๊ณผ ํ•จ๊ป˜ ์ฆ๊ฑฐ์šด ์ž์ „๊ฑฐ ์—ฌํ–‰์„ ๋– ๋‚˜๋ณด์„ธ์š”! ๐Ÿšดโ€โ™€๏ธโœจ

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages