A modern TODO app built with Jetpack Compose, showcasing various features and best practices in Android app development.
- Introduction
- Features
- Getting Started
- Architecture
- Jetpack Compose Concepts
- Libraries Used
- Contributing
- License
Jetpack Compose is a modern Android UI toolkit that simplifies UI development and makes it more declarative and efficient. This project is a TODO app that demonstrates the power of Jetpack Compose and various best practices in Android app development.
- New Declarative Way of Building UI
- Composable Lifecycle
- Initial Composition and Re-composition
- States in Jetpack Compose
- Side Effects
- Layouts in Jetpack Compose
- Build Custom UI Components
- ROOM Database Integration
- Compose Navigation
- ViewModel Usage
- Dependency Injection with Dagger-Hilt
- Preferences DataStore
- Support for Dark and Light Themes
- Animate UI Components
- Animated Splash Screen
- Swipe to Delete Animation
- SharedViewModel
- Clean Architecture
- MVVM Pattern
- Transition Animations
-
Clone the repository:
git clone https://github.com/yogesh-7/Jetpack-Compose-TODO-App.git
Open the project in Android Studio or your preferred IDE.
Build and run the app on your Android device or emulator.
Architecture The app follows the Clean Architecture pattern with the following modules:
app: The Android app module containing UI components, Jetpack Compose screens, and ViewModel classes. data: The data module, responsible for data access, Room database setup, and data sources. domain: The domain module contains business logic and use cases. presentation: The presentation module includes Composables and ViewModels for UI rendering. Jetpack Compose Concepts This project explores various Jetpack Compose concepts, including:
Declarative UI Composable functions State management Navigation using Compose Navigation Theming and dark/light mode support Animations and transitions Libraries Used Jetpack Compose Room Database Dagger-Hilt for Dependency Injection Kotlin Coroutines Android Navigation Component Preferences DataStore Material Design Components Glide for image loading Contributing Contributions are welcome! Please read our contributing guidelines before submitting pull requests.
License This project is open-source and available under the MIT License.
Feel free to customize this README according to your project's specifics. Don't forget to include important information such as installation instructions, usage guidelines, and any additional details that can help users understand and contribute to your project.