‘분철’이란?
팬덤 문화로 굿즈를 공동구매해 나누는 행위를 의미합니다.
분철을 효율적으로 할 수 없을까?
현재 분철은 원하는 멤버의 굿즈를 얻기 위해 여러 플랫폼을 돌며 검색과 채팅을 반복해야 하는 비효율적인 구조입니다.
분철 정보가 흩어져 있어 찾기 어렵고, 진행 상황을 수동으로 체크해야 하며 입금, 배송 상태가 개인 기억에 의존하며 신뢰 판단 기준이 없어 모집자와 참여자 모두 피로도가 높습니다.
포티는 이렇게 해결해요.
- 검색의 비효율을, 옵션 기반 검색 아이돌 굿즈 추천 시스템으로 해결합니다.
- 진행 관리의 불편함을, 상태바와 참여자 관리 페이지로 해결합니다.
- 신뢰와 안전에 대한 불안을, EMA 별점 시스템 도입과 거래 이력 기반 신뢰도 시스템으로 해결합니다.
Contributors
| 손예림 | 이지현(👑) | 전도연 | 천민재 |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Conventions
Tech Stacks
| 카테고리 | 기술/라이브러리 |
|---|---|
| Language | Kotlin |
| UI | Jetpack Compose (Material3) |
| Architecture | Clean Architecture |
| Module | Single Module |
| Pattern | MVI |
| DI | Hilt |
| Async | Coroutines & Flow |
| Network | Retrofit2 + OkHttp |
| Serialization | Kotlinx Serialization |
| Image | Coil |
| Local DB | DataStore (Preferences) |
| Navigation | Compose Navigation |
클린 아키텍쳐 선정 이유
클린 아키텍쳐는 도메인 레이어를 두어 데이터와 UI를 분리합니다. 도메인 레이어는 코틀린 언어로 작성되었기 때문에 데이터 또는 UI 레이어에 사용되는 외부 도구에 문제가 생기더라도 순수하게 보존됩니다. 구글 권장 아키텍쳐에 비해 코드 작성량이 많다는 단점이 있으나, 엄격한 의존성 분리와 정형화된 프로젝트 구조를 유도합니다.
MVI 패턴 선정 이유
MVVM과 달리 UI 액션을 Intent라는 객체로 관리합니다. 보일러 플레이트 코드가 많고 매번 객체가 생성된다는 단점이 있으나, 데이터가 단방향으로 처리되어 추적이 용이합니다. 뷰모델이 처리하는 요청이 하나의 데이터 흐름으로서 관리되기 때문에 순서 보장이나 디바운스 처리와 같은 동시성 문제가 비교적 쉽게 해소됩니다.



