스파르타 코딩 클럽 - iOS 스타터 6기/본 캠프

51. 스파르타 코딩 클럽 - 봄여어름갈겨어울 #1 (날씨앱)

seongpil Heo 2025. 5. 20. 21:20

  🌤️  봄여어름갈겨어울 (심화 팀 프로젝트)

최종 프로젝트 전 마지막 팀 프로젝트인 심화 주차 팀 프로젝트가 오늘 시작되었다.

기간은 5월 20일(화)부터 5월 28일(수)까지 주말 제외 일주일이다.

 

우리 팀은 날씨앱, 알람앱, 단어앱 중에 날씨앱을 주제로 선정하였고,

프로젝트 대시보드를 작성하였다.

 

 

퍼스트파티 프로젝트 대시보드 | Notion

0. 팀 소개

www.notion.so

 

우리의 주제는 사용자에게 날씨에 맞는 옷차림을 추천하는 날씨 앱이다.

OpenWeatherAPI를 사용하여 날씨 정보를 받아오고, 직관적인 UI/UX 화면에 날씨 데이터를 표시한다.


  📱  와이어 프레임


  👨🏻‍💻  역할분담 - API 총괄

팀 프로젝트에서 역할은 크게 4가지로 나뉜다.

  1. 위치 총괄
    • CCLocationManager을 사용해서 사용자의 현재 위치 가져오기
  2. 디자인 총괄
    • 5개의 화면 연결하기 (메인, 검색, 강수량/습도, 일출/일몰, 설정)
  3. 비즈니스 모델 총괄
    • ViewModel - View 바인딩 작업 (RxSwift)
  4. API 총괄
    • API 연동 (네트워크 매니저) 및 데이터 모델 파싱

 

이 중에서 나는 API 총괄을 담당하게 되었다.

API는 OpenWeather API를 사용 할 예정이고, 네트워크 통신은 Alamofire로 진행 할 예정이다.

 

현재 날씨5일간의 날씨 예보를 위해 OpenWeather API 중 2개의 API를 사용할 예정이다.

 

[ 1. Current weather data ]

 

Current weather data - OpenWeatherMap

 

openweathermap.org

 

- API Call 방법

https://api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&appid={API key}

 

날씨 정보를 받을 지역의 위도와 경도 값을 넣고, 본인의 API Key를 입력한다.

Current weather response - 섭씨(℃), 화씨(℉)

 

온도의 표기의 기본 단위는 섭씨온도(℃)와 화씨온도(℉)가 있으며, 우리나라를 포함한 동양과 유럽에서는 섭씨온도 단위를 사용하고 미국을 포함한 영어권에서는 화씨온도를 사용하고 있다.

 

우리 팀의 날씨 앱에서는 사용자의 선택에 따라 기온의 표기를 섭씨 또는 화씨로 변경하여 표현해야 하기 때문에

두 가지 API Call 방법을 모두 사용할 수 있어야 한다.

 

섭씨(℃)의 API Call 방법

// 방법 - 기본 API Call 맨 뒤에 &units=metric 추가 작성
https://api.openweathermap.org/data/2.5/weather?q=Seoul&appid={API Key}&units=metric

 

화씨(℉)의 API Call 방법

// 방법 1. API Call 주소 맨 뒤에 &units=standard 추가
https://api.openweathermap.org/data/2.5/weather?q=Seoul&appid={API Key}&units=standard

// 방법 2. 기본 API Call 그대로 사용
https://api.openweathermap.org/data/2.5/weather?q=Seoul&appid={API Key}

 

[ 2. 5 day weather forecast ]

 

 

5 day weather forecast - OpenWeatherMap

 

openweathermap.org

 

- API Call 방법

api.openweathermap.org/data/2.5/forecast?lat={lat}&lon={lon}&appid={API key}

 

현재 날씨와 마찬가지로 날씨 예보를 받고 싶은 지역의 위도와 경도 값을 입력하고, 본인의 API Key를 입력한다.

Forecast weather response - 섭씨(℃), 화씨(℉)

 

5 day weather forecast API를 사용하면 5일 동안 3시간 간격의 날씨 예보를 받아올 수 있다.

5 day weather forecast API도 마찬가지로 기본값이 화씨(℉)이다.

 

따라서 섭씨로 데이터를 받아오려면 맨 뒤에 &units=metric을 추가로 작성하면 된다.