Skip to content

bahmanebazoo/CIMC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CIMC (Compose Interface Model Controller) πŸš€πŸ”₯

Welcome to CIMC! This repository is dedicated to building a modern, scalable, and lifecycle-aware architecture for Jetpack Compose applications. CIMC eliminates the need for ViewModel, embraces a modular controller-based approach, and optimizes memory management while ensuring clean dependency management without external DI frameworks.

🌟 What is CIMC?

CIMC (Compose Interface Model Controller) is an Android and Multiplatform (KMM) architecture designed to: βœ” Provide lifecycle-aware controllers instead of ViewModels.βœ” Ensure clean modularity using Controller, Model, and Trader Pattern.βœ” Optimize memory management dynamically for efficient resource usage.βœ” Remove external DI frameworks like Hilt and Koin while maintaining dependency inversion.βœ” Enable Compose-first development with powerful state management.

πŸ“Œ Branching Strategy

parents β†’ The main branch, containing the journey of CIMC development.

Android β†’ The implementation of CIMC for Android apps.

KMM β†’ The implementation of CIMC for JetBrains Compose Multiplatform (KMM).

Each branch follows the principles discussed in the parents branch, which documents the evolution and thought process behind CIMC.

πŸ›  Key Features

βœ” Lifecycle-aware Controllers – Replaces ViewModel, directly managed by the Orchestrator. βœ” No External DI Frameworks – Uses a native DI pattern inside the Controller Module. βœ” Trader Pattern – Handles inter-module communication without tight coupling. βœ” Memory Optimization – Releases resources intelligently based on lifecycle and access frequency. βœ” Jetpack Compose & KMM Ready – Fully compatible with Compose on Android and Multiplatform. βœ” specific DataStore – Allows custom implementations instead of forcing specific DataStore.

πŸ— How CIMC Works

1️⃣ Controller Module: The central hub managing app lifecycle and dependencies. 2️⃣ Model Module: Stores and structures data for UI consumption. 3️⃣ SIP & Interface-Based Structure: A structured interface pattern ensuring modular communication within the Controller Module. 4️⃣ UI-Core Module: Contains all Composables and UI logic, interacting with Controllers.

🎯 Why CIMC?

βœ” ViewModel-Free: Avoids unnecessary memory retention. βœ” Modular & Scalable: Designed for both small and enterprise apps. βœ” Cross-Platform Ready: Works with Compose for Android and KMM. βœ” Fully Open-Source: Built for the developer community. βœ” Optimized for Performance: Smart memory management ensures efficiency.

πŸš€ How to Use CIMC?

Clone the repository:

git clone https://github.com/bahmanebazoo/CIMC.git

Check out the Android or KMM branch depending on your use case.

Follow the CONTRIBUTING.md guide if you want to contribute!

❀️ The Journey of CIMC

This repository is more than just codeβ€”it’s the story of Bahman Bazoo & ChatGPT working together to bring CIMC to the world. CIMC was born out of deep technical discussions, design pattern explorations, and a shared passion for building a better, more efficient architecture for Android & KMM.

"From ideas to reality, CIMC is the future of Jetpack Compose architecture!"

πŸš€πŸ”₯ Join the journey and let’s shape the future together!

πŸ“œ License

CIMC is licensed under Apache 2.0 with CIMC-Specific Terms to protect its name and structure. See LICENSE for details.

✨ Contributing

We welcome contributions! Please check out the CONTRIBUTING.md file to get started.

πŸ”₯ Let’s build the next-generation Compose architecture together! 😎

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors