This is a simple Android Todo application that demonstrates how to use Jimmer with Android. The app allows users to create, read, update, and delete todo items. It uses Jimmer for data persistence and provides a clean architecture with MVVM pattern.
-
User Authentication
- User registration with username and password validation
- Secure login with MD5 password hashing
- Session management with persistent login state
- Logout functionality
-
Category Management
- Create, rename, and delete task categories
- Organize tasks by categories for better productivity
- Category selection to filter tasks
-
Task Management
- Create, edit, and delete tasks
- Mark tasks as completed or incomplete
- Mark tasks as important for priority management
- Task content editing with rename functionality
- Long-press context menu for task actions
-
User Interface
- Modern Material Design 3 UI with Jetpack Compose
- Dark/light theme support with dynamic color adaptation
- Responsive design with smooth animations
- Intuitive navigation between screens
- Loading indicators and error handling
- Toast notifications for user feedback
-
Data Persistence
- Local SQLite database using Jimmer ORM
- Automatic database schema creation
- Efficient data querying and caching
- Data integrity with foreign key relationships
-
Architecture
- MVVM (Model-View-ViewModel) architecture pattern
- Dependency injection with Koin
- Reactive UI updates with StateFlow
- Coroutines for asynchronous operations
- Clean separation of concerns
- Android SDK
- Kotlin
- Jimmer
- MVVM architecture
- Room for local database
- LiveData and ViewModel for reactive UI updates
- Android Studio installed
- Basic knowledge of Android development
- Clone the repository:
git clone https://github.com/Enaium/jimmer-example-android-todo.git
- Open the project in Android Studio.
- Sync the project with Gradle files.
- Run the app on an Android device or emulator.
- Open the app on your Android device or emulator.
- You can add a new todo item by clicking the "Add Todo" button.
- Enter the title and description of the todo item.
- Click "Save" to add the item to the list.
- You can edit or delete existing todo items by clicking on them in the list.
- The app will automatically update the UI to reflect any changes made to the todo items.
If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with a descriptive message.
- Push your changes to your forked repository.
- Create a pull request to the main repository.
This project is licensed under the MIT License - see the LICENSE file for details


