Skip to content

SCC-iOS-3rd/weather-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌤️ 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)
    • 위젯

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published