Skip to content

A playground about best practices, using updated libraries and solutions in the Android world!

License

Notifications You must be signed in to change notification settings

maryammohamedi/ComposeNews

 
 

Repository files navigation

ComposeNews

This repo is a playground about best practices, using updated libraries and solutions in the Android world!

⚙️ Architecture

Architecture diagram

The main architecture of code based on MVI + CLEAN architecture. The division criteria is a hybrid strategy based on Feature + Layer by module. For the detail of architecture, please read this article.

🚦 Navigation

For the detail of navigation implementations, please read this article.

📱 Previewing

For the detail of handling preview of composable functions in this code-base, please read this article.

🛠 Technologies

  • Jetpack Compose
  • CLEAN architecture
  • MVI architectural pattern
  • Coroutine Flow
  • Room database
  • Dagger Hilt
  • Navigation
  • Retrofit
  • Work manager
  • Unit test
  • Support larg screens
  • Version catalog & Convention Plugin For the detail, please read this article.
  • CI
  • Git Hooks
  • GitHub Actions
  • Static Analysis(Kotlinter, Detekt) For the detail, please read this article.

📸 Screenshots

Light theme

Dark theme

Dynamic theme

Additional Resources

  • Git Hooks - Learn about Git hooks used in this project for code formatting and analysis.
  • GitHub Actions - Explore the GitHub Actions workflows used to validate the code.
  • Static Analysis - Discover how static analysis tools like Detekt and Ktlint are used in this project for code quality assurance.

🤝🏻 Contribute

Any PRs are very welcome! 😍 You can fix a bug, add a feature, optimize performance and even propose a new cool approach in code-base architecture. Feel free and make a PR! 😌

We use static analysis tools like Detekt and Ktlint in this project. Please either set up Git Hooks on your project or run Static Analysis before creating PR.

About

A playground about best practices, using updated libraries and solutions in the Android world!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 99.0%
  • Other 1.0%