Giter Club home page Giter Club logo

ios09-bbus's Introduction

🚌 캠퍼들의 출퇴근을 책임진다. 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

ios09-bbus's People

Contributors

minsangkang avatar tmfrlrkvlek avatar sujeong000 avatar modyhoon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.