이제 클릭 한 번으로 막차 확인하고, 택시비를 아끼는 스마트한 대중교통 동반자
앗차는 막차 시간을 놓칠까 걱정하는 모든 이들을 위한 iOS 애플리케이션입니다.
우리 위치를 기반으로 빠르게 막차 정보를 찾고, 막차를 타면 절약되는 택시비를 시각적으로 보여줍니다.
출발 전 미리 알림을 설정하면, 더 이상 막차를 놓치는 일은 없을 거예요!
- 원클릭 검색: 현재 위치 기반 근처 막차 정보 즉시 확인
- 실시간 정보: 버스, 지하철 등 대중교통 막차 시간표
- 최적 경로: 도보·시간 등 원하는 경로 선택 가능
- 즉시 계산: 막차 이용 시 절약되는 택시비를 실시간으로 표시
- 비교 분석: 택시 vs 대중교통 비용 비교
- 절약 통계: 누적 절약 금액 확인
- 출발 알림: 막차 시간 전 알림으로 여유있게 출발
- 맞춤 설정: 원하는 시간에 맞춤 알림 설정
- 푸시 알림: FCM 기반 안정적인 알림 시스템
- 경로 안내: TMapSDK 기반 정확한 길찾기
- 도보 시간: 실시간 도보 소요 시간 표시
- 지도 시각화: 출발지부터 정류장까지 한눈에 확인
- 언어: Swift 5
- UI 프레임워크: UIKit
- 레이아웃: SnapKit
- 반응형 프로그래밍: Combine
- 패턴: MVVM (Model-View-ViewModel)
- 설계: Clean Architecture
- 의존성 주입: Custom DI Container
- HTTP 클라이언트: Alamofire
- 백엔드 서버: Spring Boot 3.4.x (Kotlin 2.x)
- 데이터베이스: MySQL 8.0
- 캐시: Redis
- 푸시 알림: Firebase Cloud Messaging (FCM)
- API 연동: 공공데이터포털 대중교통 API
- 지도 SDK: TMapSDK
- 위치 서비스: CoreLocation
- 내비게이션: 실시간 경로 안내
- 사용자 분석: Amplitude
Atcha-iOS/
├── App/
│ ├── DIContainer/
│ ├── AppDelegate.swift
│ ├── SceneDelegate.swift
│ └── AppFlowCoordinator.swift
│
├── Presentation/
│ ├── BusDetail/
│ ├── Popup/
│ ├── WebView/
│ ├── Setting/
│ ├── Course/
│ ├── Location/
│ ├── Lock/
│ ├── Onboarding/
│ ├── Login/
│ ├── Main/
│ ├── User/
│ ├── Common/
│ └── Splash/
│
├── Domain/
│ ├── Entity/
│ ├── UseCase/
│ ├── Repository/
│ └── Model/
│
├── Data/
│ ├── Repository/
│ └── Model/
│
├── Core/
│ ├── Notification/
│ ├── Manager/
│ ├── Share/
│ ├── ViewWrapper/
│ ├── Wrapper/
│ ├── Network/
│ ├── Storages/
│ └── Util/
│
└── DesignSource/
├── AtchaBallon/
├── AtchaLottie/
├── AtchaTextField/
├── AtchaTextBox/
├── AtchaNavigationBar/
├── AtchaList/
├── AtchaToast/
├── AtchaButton/
├── AtchaColor/
├── AtchaFont/
├── AtchaImage/
└── Assets/
┌─────────────────────────────────────────┐
│ Presentation Layer │
│ (Views, ViewModels, Coordinators) │
└──────────────┬──────────────────────────┘
│
┌──────────────▼──────────────────────────┐
│ Domain Layer │
│ (Entities, UseCases, Protocols) │
└──────────────┬──────────────────────────┘
│
┌──────────────▼──────────────────────────┐
│ Data Layer │
│ (Repositories, Data Sources, DTOs) │
└─────────────────────────────────────────┘
- MVVM: View와 비즈니스 로직 분리
- Repository Pattern: 데이터 소스 추상화
- Coordinator Pattern: 화면 전환 관리
- Dependency Injection: 의존성 주입