Library

Project

Knumarket

Campus group-buy app

2021UIKitiOS
Theme
Language

Project

Knumarket

2021UIKitiOS

About

Knumarket is a group buying platform for college students.

It was created to conveniently facilitate group purchases of items that are burdensome to buy in small quantities or with high shipping costs.

Period.

2021.11.03 - 2021.12.15

What I've done.

  • Removed Storyboards from iOS app
    • The existing app was developed by a single developer using storyboards. There was a high chance of issues when collaborating using Git, and to reduce conflicts, I proposed and proceeded with replacing the UI to code-based using SnapKit.
  • New feature development
  • Among the new features for version 1.2, I developed user feedback improvements according to requirements documents and storyboards, and conducted code reviews and refactoring with team members through GitHub.
  • Through code reviews, I shared information with team members and worked to write better quality code.
  • Changed existing iOS app architecture
  • Since MVVM patterns are not standardized and implementation styles differ by developer, I proposed adopting ReactorKit, a unidirectional flow library, considering code consistency, and applied it gradually starting from small parts.
  • Implemented dependency injection
  • The existing app adopted an MVVM structure using Singleton pattern and delegate pattern. It formed too many strong couplings, which unlike the previous single-developer system, was a disadvantage in the collaborative system divided by features due to concerns about many conflicts. Therefore, I introduced dependency injection to allow flexible division by features.
  • Refactored existing app code
  • Applied Reactive programming using RxSwift to clean up inconsistent asynchronous code with scattered callbacks.
  • Introduced network abstraction
    • The existing Alamofire code had many disadvantages in terms of reusability. Therefore, I proposed and applied Moya, a library that makes Alamofire easier to reuse, to refactor code to be more concise and readable. I was also able to separate the network layer.
KnumarketKnumarket
Campus group-buy appCampus group-buy app