概要
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を提案・適用し、コードをより簡潔で可読性の高いものにリファクタリング。ネットワーク層の分離も実現。