このプロジェクトについて

Kickstarter for iOSは、KickstarterネイティブiOSアプリの公式オープンソース版であり、同社がネイティブチームのアプリ構築・保守方法に関する教育用リソースとして公開しているものです。Android版も別途オープンソース化されています。 始めるにはXcode(READMEにはXcode 14.3 / Swift 5.8対応と記載)とリポジトリのクローンが必要です。`KsApi.Secrets.isOSS`を`true`に設定すると、ハードコードされたデータを即座に提供するモック版が動作し、ライブバックエンドの認証情報なしでアプリを探索できます。 READMEに記載されている注目すべきエンジニアリングプラクティス: - スナップショットテスト:`Kickstarter-Framework-iOS`内の各機能フォルダにはスナップショットディレクトリがあり、合計で約600枚のスクリーンショットが多数の言語、デバイス、エッジケース状態をカバーし、UI動作を安定させています。 - ビューモデル:機能的なコア周辺の副作用を分離する軽量な方法として使用され、入力信号から出力信号への純粋なマッピングとして記述され、ローカライゼーション、アクセシビリティ、イベント追跡を含む徹底的なテストが行われています。 テストはコマンドラインで`make test-all`、またはXcodeでCMD+Uを使いスキームごとに実行できます。追加ドキュメントは別の`native-docs`リポジトリにあります。 依存関係には、自社ライブラリのPrelude(Swift標準ライブラリに欠けている型や関数)とReactiveExtensions(ReactiveSwift上に構築されたReactiveCocoaに追加するオペレータ)が含まれ、さらにAlamofireImage、SnapshotTesting、Apollo、Stripe、Kingfisher、SwiftSoup、Facebook SDK、Firebase、Appboy、PerimeterXなどのサードパーティプロジェクトがあります。サードパーティの通知は`NOTICE.md`にあります。 貢献は主にフィードバックやバグ報告のためのGitHub Issueとして歓迎されており、オペレーティングシステム、デバイス、バージョン番号、再現手順を含めるよう指示があります。行動規範はすべての参加者に適用されます。このプロジェクトはApache License 2.0の下でライセンスされており、Copyright 2021 Kickstarter, PBCです。