/weather-app

Primary LanguageSwiftMIT LicenseMIT

🌀️ Bring Your Umbrella


 μ‚¬μš©μžμ˜ ν˜„μž¬ μœ„μΉ˜ 기반으둜 날씨 예보λ₯Ό μ•Œλ €μ£ΌλŠ” iosμ•± πŸ“±

 기상날씨 정보λ₯Ό μ œκ³΅ν•˜λŠ” μ•± ν”„λ‘œμ νŠΈμΈ BringYourUmbrella μž…λ‹ˆλ‹€.

 μ‚¬μš©μžμ—κ²Œ 기쑴의 날씨앱과 UXκ΄€μ μ—μ„œ μ°¨λ³„ν™”λœ κ²½ν—˜μ„ ν•  수 μžˆλ„λ‘ κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.


β›ˆοΈ Table of Contents

  1. Description
  2. Stacks
  3. WireFrames
  4. Main Feature
  5. Project Structure
  6. Developer

🌟 Description

TEAM : λ–‘μžŽ 6μΉ˜μ›

Period : 24.05.13 ~ 24.05.23

μ‚¬μš©μžμ˜ ν˜„μž¬ μœ„μΉ˜κΈ°λ°˜ 날씨λ₯Ό μ•Œλ €μ£ΌλŠ” iOS μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜


πŸ’‘κΈ°λŠ₯

  • μ›ν•˜λŠ” μ•ŒλžŒ μ„€μ • 및 μ‚­μ œ
  • 날씨 섭씨 화씨 λ³€ν™˜
  • λ‚˜μ˜ μœ„μΉ˜ 정보λ₯Ό ν†΅ν•œ 날씨 데이터 제곡
  • μ›ν•˜λŠ” μœ„μΉ˜ 검색, μ €μž₯ μ„œλΉ„μŠ€
  • μ–΄μ œ 였늘 날씨 비ꡐ
  • κΈ°μ˜¨μ— λ”°λ₯Έ 옷 μŠ€νƒ€μΌ μΆ”μ²œ
  • 1μΌκ°„μ˜ μ‹œκ°„λŒ€λ³„ 상세 날씨
  • 1μ£ΌμΌκ°„μ˜ μΌμžλ³„ 상세 날씨

πŸ› οΈ Stacks

Environment


Language


Communication



🎨 WireFrames

Screenshot 2024-05-24 at 8 25 20β€―PM


πŸ“± Main Feature

1) Current Weather Page 🌦️

launchScreen ν˜„μž¬ μœ„μΉ˜ 날씨 섭씨 <-> 화씨 λ³€κ²½
image image image

  • LottieFilesAnimation을 ν™œμš©ν•œ LaunchScreen
  • Mapkit기반 μ‚¬μš©μž ν˜„μž¬ μœ„μΉ˜μ˜ ν˜„μž¬ 날씨와 기온 및 μΆ”μ²œ 옷차림 확인 κ°€λŠ₯!
  • 섭씨와 ν™”μ”¨λ‘œ μ˜¨λ„ ν‘œν˜„ λ³€κ²½

2) AlarmList Page 🌧️

μ•ŒλžŒ μ„€μ • μ•ŒλžŒ 리슀트
image image

  • UIPickerView둜 μ›ν•˜λŠ” μ‹œκ°„μ— μ•ŒλžŒμ„ μ„€μ •
  • μ„€μ •ν•œ μ•ŒλžŒ λͺ©λ‘ 확인
  • Toggle을 ν†΅ν•œ μ•ŒλžŒ on/off
  • μ„€μ •ν•œ μ‹œκ°„μ— Push μ•Œλ¦Όκ³Ό μ‚¬μš΄λ“œ μž¬μƒ

3) Weather Forecast Page πŸŒ₯️

μ–΄μ œμ™€ 였늘 날씨 바ꡐ μ‹œκ°„λŒ€λ³„, μ£Όκ°„ λ‚ μ”¨μ˜ˆλ³΄
image image

  • μ‚¬μš©μžκ°€ μ²΄κ°μ˜¨λ„λ₯Ό μ˜ˆμƒν•  수 μžˆλ„λ‘ μ–΄μ œμ™€ 였늘 날씨λ₯Ό 비ꡐ
  • 3μ‹œκ°„ λ‹¨μœ„μ˜ μ‹œκ°„λŒ€λ³„ λ‚ μ”¨μ˜ˆλ³΄ 차트
  • 5μΌκ°„μ˜ μ£Όκ°„ λ‚ μ”¨μ˜ˆλ³΄ 차트

4) Location Search Page ⛅️

ν˜„μœ„μΉ˜ 및 즐겨찾기 날씨 λͺ©λ‘ μž₯μ†Œ 검색 검색 κ²°κ³Ό 즐겨찾기 λͺ©λ‘ νŽΈμ§‘λͺ¨λ“œ
image image image image

  • Mapkit 라이브러리λ₯Ό ν™œμš©ν•΄ μœ„λ„, 경도 μ’Œν‘œλ₯Ό μΆ”μΆœν•΄ 날씨 데이터 CRUD
  • CoreData의 각 Entity와 Attribute에 데이터 μ €μž₯
  • 졜근 κ²€μƒ‰ν•œ μž₯μ†Œμ˜ 날씨 정보λ₯Ό 즐겨찾기에 μΆ”κ°€ν•΄ ν˜„μž¬ 날씨 정보 확인 κ°€λŠ₯!
  • νŽΈμ§‘λͺ¨λ“œλ₯Ό μ‹€ν–‰ν•΄ 즐겨찾기 λͺ©λ‘ 데이터 λ³€κ²½

5) Weather Widget 🌨️

μœ„μ ― 생성 ν™ˆν™”λ©΄μ— μƒμ„±λœ μœ„μ ―
image image

  • 아이폰 ν™ˆν™”λ©΄μ— μƒμ„±λœ μœ„μ ―μ„ 톡해 κ°„λ‹¨νžˆ ν˜„μž¬ 날씨 정보 확인 κ°€λŠ₯!
  • 2x2, 2x4 ν˜•νƒœμ˜ μœ„μ ― 생성

πŸ›οΈ Project Structure

WakeUpClock 
β”œβ”€β”€ Models
β”‚   β”œβ”€β”€ Geocoder
β”‚   β”œβ”€β”€ UserDefaults
β”‚   β”œβ”€β”€ CoreData
β”‚       β”œβ”€β”€ AlarmData+CoreDataClass
β”‚       β”œβ”€β”€ AlarmData+CoreDataProperties
β”‚       β”œβ”€β”€ LocationModel
β”‚       └── LocationService
β”‚   └── WeatherAPI
β”‚       β”œβ”€β”€ Weather
β”‚       β”œβ”€β”€ WeatherService
β”‚       └── YesterdayWeather
β”œβ”€β”€ Views
β”‚   β”œβ”€β”€ LaunchScreen
β”‚       β”œβ”€β”€ LaunchScreen
β”‚       β”œβ”€β”€ SplashScreen
β”‚       └── Animation0522
β”‚   β”œβ”€β”€ Cell
β”‚       β”œβ”€β”€ AlarmCell
β”‚       β”œβ”€β”€ ModalTableViewCell
β”‚       β”œβ”€β”€ LocationSearchResultTableViewCell
β”‚       β”œβ”€β”€ LocationManagementViewTableViewCell
β”‚       β”œβ”€β”€ HourlyWeatherCollectionViewCell
β”‚       └── WeeklyWeatherCollectionViewCell
β”‚   β”œβ”€β”€ LocationManagementView
β”‚   β”œβ”€β”€ WeatherChangeView
β”‚   └── LocationView
β”œβ”€β”€ Controllers
β”‚   β”œβ”€β”€ AddAlarmViewController
β”‚   β”œβ”€β”€ AlarmViewController
β”‚   β”œβ”€β”€ ViewController
β”‚   β”œβ”€β”€ MainViewController
β”‚   β”œβ”€β”€ WeatherDisplayViewController
β”‚   β”œβ”€β”€ ModalViewController
β”‚   β”œβ”€β”€ BaseViewController
β”‚   β”œβ”€β”€ LocationSearchViewController
β”‚   β”œβ”€β”€ NewLocationPreviewViewController
β”‚   β”œβ”€β”€ LocationManagementViewContorller
β”‚   β”œβ”€β”€ WeatherChangeViewController
β”‚   └── LocationViewController
β”œβ”€β”€ Widget
β”‚   β”œβ”€β”€ myWidgetBundle
β”‚   β”œβ”€β”€ myWidget
β”‚   β”œβ”€β”€ Assets
β”‚   └── Info
β”œβ”€β”€ Assets
β”œβ”€β”€ Info
└── 

πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ Developer

  • κΉ€μ€€μ² /νŒ€μž₯ (Juncheoltree)
    • μ•ŒλžŒμΆ”κ°€ νŽ˜μ΄μ§€ UI
    • μ•ŒλžŒμΆ”κ°€ κΈ°λŠ₯ (datepicker)
    • μ•ŒλžŒ 관리 κΈ°λŠ₯ (μ •λ ¬, νŽΈμ§‘)
    • μ•ŒλžŒ 코어데이터 λͺ¨λΈ 생성
  • 김민희/νŒ€μ› (Hee48)
    • 메인 νŽ˜μ΄μ§€ UI
    • μ˜¨λ„ ν‘œμ‹œ λ³€κ²½κΈ°λŠ₯
    • 전일 날씨비ꡐ 차트 κ΅¬ν˜„
    • μŠ€νƒ€μΌ μΆ”μ²œ 더미데이터 λͺ¨λΈ 생성
  • 방기남/νŒ€μ› (Bread-kn72)
    • 즐겨찾기 νŽ˜μ΄μ§€ UI
    • ν˜„μž¬ μœ„μΉ˜ 정보 λ·° κ΅¬ν˜„
    • 즐겨찾기 CoreData λͺ¨λΈ 생성 CRUD κ΅¬ν˜„
    • 즐겨찾기 관리 κΈ°λŠ₯ (Long Press, Swipe to Delete)
    • μ €μž₯된 μœ„μΉ˜ 상세 보기 νŽ˜μ΄μ§€ 및 이동 둜직 κ΅¬ν˜„
  • μ‘°ν˜„λ―Ό/νŒ€μ› (Chynmn)
    • μ‹œκ°„ / μ£Όκ°„ 별 날씨 νŽ˜μ΄μ§€ UI
    • μ‹œκ°„λŒ€λ³„ 날씨 예보 정보 차트 κ΅¬ν˜„
    • μ£Όκ°„ 날씨 정보 차트 κ΅¬ν˜„
    • API λͺ¨λΈ 생성 (openweather-map, weather-api)
  • 쑰희라/νŒ€μ› (Heather-Cho)
    • μœ„μΉ˜ 검색 νŽ˜μ΄μ§€ UI
    • μœ„μΉ˜ 검색 κΈ°λŠ₯ κ΅¬ν˜„
    • 프리뷰 νŽ˜μ΄μ§€ UI
    • 프리뷰 νŽ˜μ΄μ§€ κΈ°λŠ₯ κ΅¬ν˜„
    • μ§€μ˜€μ½”λ”© λͺ¨λΈ κ΅¬ν˜„
    • API λͺ¨λΈ 생성 (openweather-map)
    • 런치슀크린 (Lottie)
    • μœ„μ ―