概要
Knumarketは大学生向けの共同購入プラットフォームです。
少量では買いにくい商品や送料が高い商品を、共同で購入しやすくするために作成しました。
期間
2021.11.03 - 2021.12.15
担当業務
- iOSアプリからStoryboardを削除
- 既存アプリは、開発者が単独でStoryboardを使って作っていました。 Gitで共同開発する際に競合が起きやすいと考え、SnapKitを使ったコードベースのUIへの移行を提案・実施しました。
- 新機能開発
- バージョン1.2では、要件ドキュメントとストーリーボードに沿ってユーザーのフィードバックを反映した機能を開発。GitHubでチームメンバーとコードレビューとリファクタリングを実施。
- コードレビューでチームメンバーと知見を共有し、コードの品質向上に取り組んだ。
- 既存iOSアプリのアーキテクチャ変更
- MVVMパターンは標準的な実装が定まっておらず、開発者によって書き方が異なるため、コードの一貫性を保つ目的で単方向データフローのライブラリReactorKitを提案し、小さな部分から段階的に導入。
- 依存性注入の実装
- 既存アプリは、Singletonパターンとdelegateパターンを使ったMVVM構成で、依存関係が密な状態でした。 単独開発から機能を分担する共同開発に移ると競合が増える懸念があったため、依存性注入を導入し、機能ごとに柔軟に分担できる構造にしました。
- 既存アプリコードのリファクタリング
- RxSwiftによるリアクティブプログラミングを導入し、コールバックが各所に散らばっていた非同期コードを整理。
- ネットワーク抽象化の導入
- 既存のAlamofireコードは再利用しにくかったため、Alamofireを使った処理を再利用しやすくするMoyaの導入を提案・実施。コードを簡潔で読みやすくし、ネットワーク層も分離。