Coupang Android Architecture Part 2
Article Summary
Seongchul Park from Coupang reveals how they tackled a monolithic Android codebase with hundreds of thousands of lines of code. The solution? Strategic modularization that transformed both build times and code reusability.
This is part 2 of Coupang's architecture transformation series, focusing on how they broke down their monolithic Android app into distinct modules. After implementing MVP pattern for separation of concerns, they still faced long build times and needed better code reuse as the company expanded into new business sectors.
Key Takeaways
- Split monolith into app module, feature modules, and 13 core modules
- Maintained 80% unit test coverage across all new modules
- Core modules designed as libraries with configuration injection for reusability
- Feature modules minimized cross domain dependencies for independent operation
- Enabled support for Google's instant apps and app bundles
Coupang successfully modularized their Android app into 13 core modules with 80% test coverage, enabling code reuse across new business ventures while improving build times and maintainability.
About This Article
Coupang's Android codebase was monolithic, which created dependency conflicts and gradle merge issues across hundreds of thousands of lines of code. This made it hard to isolate features efficiently.
Seongchul Park's team took a systematic approach. They separated core modules first by removing business dependencies, then split independent feature modules. They applied existing lint rules and checked ProGuard configurations throughout the process.
The modularization created 13 reusable core modules that let code be shared across new business ventures. Each module maintained 80% unit test coverage.