How yikwing/ykmagic works
YkMagic is an Android development framework with reusable configuration, networking, permission, lifecycle, Compose, and extension modules. Its sample app provides the principal user workflow: launch the Compose application, navigate among authentication and utility/demo screens, and exercise network examples; the sampled repository shows chapter retrieval and Room caching. README-level module capabilities are included, but unsampled app wiring and module internals are not inferred.
Main entry points: NetRepository.kt Network repository · ComposeActivity.kt Compose activity · AppNavGraph.kt App navigation · HttpBinApi.kt HTTPBin API
Components 21
Sample app
- Compose activity
app/src/main/java/com/yikwing/ykquickdev/ui/ComposeActivity.kt - App navigation
app/src/main/java/com/yikwing/ykquickdev/app/AppNavGraph.kt - Screens and demos
app/src/main/java/com/yikwing/ykquickdev/ui/screen - Network viewmodels
app/src/main/java/com/yikwing/ykquickdev/viewmodel
Framework modules
- JSON config
module_config/src/main/java/com/yikwing/config/YkConfigManager.kt - Ktor networking
module_network/src/main/java/com/yikwing/network - Kotlin extensions
module_extension/src/main/java/com/yikwing/extension - Compose utilities
module_compose/src/main/java/com/yikwing/compose
Network and data
- Network repository
app/src/main/java/com/yikwing/ykquickdev/repository/NetRepository.kt - HTTPBin API
app/src/main/java/com/yikwing/ykquickdev/api/apiserver/HttpBinApi.kt - WanAndroid API
app/src/main/java/com/yikwing/ykquickdev/api/apiserver/WanAndroidApi.kt - Chapter DAO
app/src/main/java/com/yikwing/ykquickdev/db/ChapterDao.kt - Room database
app/src/main/java/com/yikwing/ykquickdev/db/UserDatabase.kt
Android platform
- Permission requests
module_permission/src/main/java/com/yikwing/permission/PermissionX.kt - Lifecycle startup
module_proxy/src/main/java/com/yikwing/proxy/startup/AppInitializer.kt - Activity hierarchy
module_proxy/src/main/java/com/yikwing/proxy/util/ActivityHierarchyManager.kt - Connectivity state
module_extension/src/main/java/com/yikwing/extension/network/NetConnectManager.kt
Other components
- Android developer
- App user
- HTTPBin service
- WanAndroid service
Connections 17
- App user → Compose activity: launches
- Compose activity → App navigation: shows
- App navigation → Screens and demos: routes to
- Network repository → HTTPBin API: calls
- Network repository → WanAndroid API: calls
- Network repository → Chapter DAO: reads and writes
- Room database → Chapter DAO: provides
- HTTPBin API → HTTPBin service: requests
- WanAndroid API → WanAndroid service: requests
- Android developer → JSON config: integrates
- Android developer → Ktor networking: integrates
- Android developer → Kotlin extensions: integrates
- Android developer → Compose utilities: integrates
- Android developer → Permission requests: integrates
- Android developer → Lifecycle startup: integrates
- Android developer → Activity hierarchy: uses
- Android developer → Connectivity state: uses