ibcylon / iOS09-BBus

실시간 버스 정보, 승하차 알람 기능을 제공하는 '카카오버스' 앱 클론 프로젝트 🚌 BoostBus 📲

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🚌 캠퍼들의 출퇴근을 책임진다. BBus, BoostBus!

실시간 버스 정보, 승하차 알람 기능을 제공하는 '카카오버스' 앱 클론 프로젝트입니다.


🫂 팀 소개

Team.mOS
making Open Source라는 의미로 외부 라이브러리를 사용하지 않겠다는 굳은 의지를 표현하였습니다.
저희는 페어 프로그래밍을 적극 활용하여, 구조 설계의 대부분을 모두 함께 진행하였습니다.

S002_강민상 S013_김태훈 S045_이지수 S057_최수정
버스 노선 화면 로직
GPS 기반 버스 하차 기능
프로젝트 리더
git workflow 관리
Combine 활용
Network 레이어 설계
Coordinator 구조
Timer

⚒️ 기능 소개

Video Label


BBus 는 서울특별시에서 제공하는 공공 API를 사용하여
실시간 버스 및 정거장 정보를 확인할 수 있습니다.
또한 GPS 위치 정보를 활용한 승하차 알림 서비스를 지원합니다.

버스 및 정거장 검색 실시간 버스 도착 정보 제공 실시간 버스 노선 정보 제공
특정 버스 또는 정거장을
검색할 수 있습니다.
특정 정거장의 실시간 버스 도착 정보를
확인할 수 있습니다.
특정 버스 노선의 실시간 정보를
확인할 수 있습니다.
자주 타는 버스 즐겨찾기 버스 승차 알람 버스 하차 알람
즐겨찾기된 버스들의 도착 정보를
홈 화면에서 확인할 수 있습니다.
푸시 알림을 통해 승차 알람을
받을 수 있습니다.
푸시 알림을 통해 하차 알람을
받을 수 있습니다.

⚙️ 기술 스택



🏗 아키텍쳐


🗂 폴더 구조

Global : 모든 화면에서 공통적으로 사용되는 변수, 이미지, 객체 등
Foreground : 각 화면별 View, ViewController, ViewModel, Model
Background : 화면과 상관 없이 동작되는 기능

BBus
├── Global
│   ├── Constant
│   ├── Coordinator
│   ├── DTO
│   ├── Extension
│   ├── Network
│   ├── Resource
│   └── View
├── Foreground 
│   ├── AlarmSetting
│   ├── BusRoute
│   ├── Home
│   ├── MovingStatus
│   ├── Search
│   └── Station
├── Background 
│   ├── GetOffAlarm
│   └── GetOnAlarm
├── AppDelegate
├── SceneDelegate
└── info.plist

🏃🏻 기술적 도전

Coordinator 를 사용한 MVVM-C 패턴 적용
공공 API 트래픽 제한 문제 해결
Combine을 통한 비동기 로직 처리
실시간 데이터를 위한 Timer
CoreLocation 을 통한 GPS 정보를 활용한 승하차 추적 서비스
스토리보드 없이 Programmatically View 사용
외부 라이브러리 NO
Github Action을 활용한 CI 배포


저희가 협업했던 과정을 보시려면?

Github Wiki

About

실시간 버스 정보, 승하차 알람 기능을 제공하는 '카카오버스' 앱 클론 프로젝트 🚌 BoostBus 📲


Languages

Language:Swift 100.0%