공항집사 프로젝트 회고

이은수, Steve·2024년 8월 22일
0

경험 & 회고

목록 보기
2/2
post-thumbnail

공항 혼잡도 알림앱 "Airport Butler"  후기

👨‍🎓 프로젝트 개요

팀 구성은 아이디어가 있는 사람들이 각자 아이디어에 대한 키노트를 만들어서 팀원들을 모집해서 팀을 구성하는 방식이었는데

강의 진행되기 전 2주전에 부모님을 데리고 일본여행을 다녀왔는데 그때 공항을 이용하면서 많은 아쉬움을 느꼈고 이번 기회에 이 불편함을 해소하는 앱을 만들어 보고 싶어서 프로젝트를 기획하게 되었다.

😡 공항을 이용하며 느낀 불편함

1. 공항 항공편 정보 전광판보기가 너무 어렵다.

  • 언어가 한국어, 영어, 일본어, 중국어 이렇게 4가지로 제공되는데 각 언어별 표시 시간이 같아서 한국어로 표시 되는 시간이 짧다, 영어는 어떻게 보겠는데 일본어/중국어는 진짜 보기 힘듦

2. 출발하는 날이 기상상황이 안좋아서 연착/결항 정보를 검색하기 어려움

  • KAC소속공항의 경우 연착/지연/결항 정보를 웹사이트에서 보여주긴 하는데 새로고침이 안됨... 새로고침 하면 일일이 카테고리를 선택해서 조회해야 됨 (출발공항, 도착공항, 국제선여부, 시간대 등등) 항공편 정보 파악이 너무너무 불편했음

3. 부모님과 함께 하는 만큼 내가 인솔해서 가야 했는데 공항이 지금 얼마나 복잡한지 몇시간 전에 출발해야 하는지 조사할 필요가 있었다.

  • 인천공항의 경우 시간대별 예상 입출국장 정보를 제공하는데 나머지 KAC소속 공항의 경우 웹사이트 말고는 공항혼잡도 데이터를 제공하지 않았음

4. 차를 갖고 가서 주차를 해야 했는데 실시간 주차 현황 파악하기가 너무 힘들었음

  • 마찬가지로 KAC소속 공항의 경우 웹사이트에서 새로고침 없이 특정공항의 카테고리를 선택해서 조회하는것만 제공해서 주차장 정보찾기가 너무 불편했다.

[ github 주소 ]

https://github.com/ProjectInTheClass/AirportButler

📅 프로젝트 기간

교육 기간은 07/02~08/20 이었으나 07/23에 팀이 결성되었고, 대략 한달 동안 이뤄진 팀플이었다.

📚 목표

사실 위에서 느낀 불편함을 모두 해소하는 공항 만능앱을 만들고 싶었으나 시간이 1달정도만 주어져서 간단하게 구현 가능한 3번을 해결가능한 혼잡도 정보제공앱을 만들기로 했다. (+ 주차장 정보 확인)

최종 목표는 국내 공항들의 혼잡도와 각종 공항의 정보들을 알려주기 위한 앱의 완성

✅ 성공기준

  • 계획한 뷰를 모두 완성한다.
  • 계획했던 기능을 모두 구현한다
    • SwiftUI에서 API를 처리하기

🧑‍💻 팀원 구성 👩‍💻

사실상 swift라는 언어에 사실상 처음인 컴공 학생 3명과, 코딩자체가 처음인 팀원 2명으로 이루어진 팀

💬 협업의 방법

기본적인 메신저는 카카오톡이었고, 회의는 디스코드로 했다.

회의 기록이나 공지, 자료공유는 노션으로 이루어졌다

코드공유는 깃헙을 이용해서 이루어졌다, 5명이라는 인원수로 깃헙에서 개발을 진행한게 처음이었는데 브랜치를 다 따로 파서 진행하다 보니 나중에 합칠때 고생 좀 했다;;;

프로젝트 화면

후기

📖 배운점

🐥 swift

  1. NavigationStack
    1.1 NavigationLink
  2. ScrollView
  3. MVVM

📡 API & URLSession

  1. 공공api사용법 배움
  2. postman으로 url형태의 api데이터 호출하는법을 배움
  3. ATS설정

𐂷 github

  1. 브랜치
  2. pull/fetch
  3. push
  4. merge
  5. 초기 push시 버퍼 설정

💪 성장한점

  • swiftUI의 전반적인 컴포넌트들의 종류에 대해서 알게되었다.

  • 문제가 생기거나 문법적으로 궁금한점이 생기면 공식문서를 찾아보는 습관을 들이게 되었다.

  • 디자인 패턴에 대해서 공부함
    - API를 가져오면서 MVVM패턴을 형태만이라도 구현하면서 많은것을 배웠다.

  • github에 대해서 공부함

  • 정체되고 조금은 적극적이지 않은 팀원들에 대해서 강제적으로 이것저것 시키는법을 배움(리더쉽)

😢 아쉬웠던 점

api가 위주로 되는 앱이었는데 api에 대한 사전조사가 부족했다.

  • 국내공항들 혼잡도api가 있다는건 알았는데 국내선만 제공하는건 몰랐다.
  • 인천공항은 공항공사가 달라서 제공하는 api가 달랐다.

동시에 NHN에서 자바교육이 있었는데 그거 같이 듣느라 프로젝트는 사실상 주말에만 빡집중해서 진행하는 느낌이었다.

  • 더 많이 할 수 있었는데 별로 못한거 같아서 아쉬움이 남았다

팀원들이 소극적이라 시킨건한다고 하긴 하는데 유의미한 결과를 내는 인원이 소수여서 거의 혼자서 많은부분을 개발했다

👨‍🏫 피드백

멘토님들과 학생들의 피드백이 있었다.

  1. 카테고리에 사용되는 데이터는 열거형으로 처리해볼것
  2. api에서 받아온 데이터를 담는 instance를 Singletone으로 처리해서 내부 메모리 사용량을 줄여볼것
  3. view를 만들때 중복되는 부분이 너무 많음, foreach등을 사용해서 코드의 길이를 줄여보자

🤓 더 하고 싶은 부분

공항별로 받아 올 수 있는 공공 API데이터가 많은것을 봤다, 더 많은 정보를 가져오고 싶다

그러기 위해선 일단 UI를 갈아 엎어야할것 같다, 지금방식은 정보파악을 위해 너무 많은 단계의 뷰접근을 필요로 한다.

공항혼잡도를 포함해서 공항 입출국 항공편 정보, 현재 공항기상상황, 연착지연 정보들을 보여주는 앱을 만들고 싶다.

profile
iOS Developer, 천 리 길도 한 걸음부터

0개의 댓글