Skip to content

Latest commit

 

History

707 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚾️ 쳐랏! iOS

Swift Platform watchOS WidgetKit Architecture Release License

야구 팬이 선수별 응원가를 더 쉽고 빠르게 탐색하고 재생할 수 있도록 만든 SwiftUI 기반 iOS 앱입니다.

appstore

About

쳐랏은 야구 팬들이 구단과 선수 중심으로 응원가를 탐색하고 재생할 수 있도록 만든 앱입니다.
선수별 응원가 재생, 팀 테마 변경, 선수 검색, 경기 정보 확인, WidgetKit 기반 위젯, Apple Watch 확장까지 고려하여 팬들이 더 빠르고 직관적으로 응원가를 즐길 수 있는 경험을 제공하는 것을 목표로 합니다.


Features

  • 구단별 선수 및 경기 정보 조회
  • 팀 선수 응원가 검색 및 미니 플레이어를 통한 백그라운드 재생
  • 라인업 기반 응원가 연속 재생
  • 팀 선택 기반 앱 테마 적용
  • WidgetKit 기반 홈/잠금 화면 위젯 지원
  • Apple Watch를 통한 라인업 선수 응원가 가사 확인

Tech Stack

Frameworks

  • SwiftUI
  • WidgetKit
  • SwiftData
  • AVFoundation
  • MediaPlayer
  • WatchConnectivity

Architecture

  • MVVM + Clean Architecture
  • Coordinator Pattern
  • Repository
  • UseCase

Platforms

  • iOS
  • watchOS
  • Widget Extension

Tools

  • Swift 6
  • Xcode
  • Fastlane

Architecture

이 프로젝트는 SwiftUI 기반 MVVM 구조를 중심으로, 화면 상태 관리와 비즈니스 로직, 데이터 접근 책임을 분리하도록 구성되어 있습니다. Presentation, Domain, Data, Core 계층을 기준으로 기능을 나누고, ViewModel은 UseCase를 통해 도메인 로직을 실행하며 Repository는 데이터 소스 접근을 추상화합니다.

  • View

    • SwiftUI 기반으로 화면을 선언적으로 구성합니다.
    • 사용자 입력을 ViewModel 또는 Coordinator로 전달합니다.
  • ViewModel

    • 화면 상태와 사용자 액션을 관리합니다.
    • View에서 필요한 데이터를 가공하고 UseCase 호출 결과를 UI 상태로 변환합니다.
  • UseCase

    • 앱의 주요 기능 단위 로직을 담당합니다.
    • ViewModel이 직접 Repository 구현체에 의존하지 않도록 중간 계층 역할을 합니다.
  • Repository

    • 로컬 데이터와 원격 데이터 접근을 추상화합니다.
    • SwiftData, UserDefaults, 네트워크, WatchConnectivity 등 실제 데이터 소스와 도메인 계층 사이의 경계를 만듭니다.
  • Coordinator

    • 화면 이동과 모달 표시 흐름을 관리합니다.
    • View 내부의 네비게이션 책임을 줄이고 화면 전환 로직을 분리합니다.
  • ** DIContainer**

    • UseCase, Repository, ViewModel 생성 책임을 한곳에서 관리합니다.
    • iOS 앱, Widget, Apple Watch 확장 타깃에서 필요한 의존성을 각 실행 환경에 맞게 조립합니다.
  • Extensions

    • iOS 앱뿐 아니라 WidgetKit과 Apple Watch 확장 타깃까지 고려하여 기능을 확장합니다.
    • 공통 도메인 흐름은 유지하되, 각 타깃에 필요한 저장소와 표현 계층을 분리합니다.

Screenshots

라인업 재생 선수 목록 재생 화면 검색 화면
홈 라인업 재생 선수 목록 재생 화면 검색 화면

About

쳐랏 iOS 레포지토리입니다.

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages