Task: Create a Simple Todo List App with Local Database
Description: As an Android Developer with expertise in Kotlin, Android Jetpack, and Jetpack Compose, your task is to create a simple Todo List app with basic CRUD (Create, Read, Update, Delete) operations using a local database. The app will allow users to add, view, edit, and delete tasks locally on their device. This task will help assess your proficiency in the specified technologies and your ability to implement fundamental database operations in Android app development.
Requirements:
- Design a user interface using Jetpack Compose that includes screens for displaying the list of tasks and adding/editing tasks.
- Implement a local database using Room, a part of Android Jetpack, to store the list of tasks persistently on the device.
- Create a feature that allows users to add new tasks to the database, including a title, description, and due date.
- Implement the ability to view the list of tasks in a scrollable list with essential task details.
- Enable users to update existing tasks by modifying their title, description, or due date.
- Provide functionality to delete tasks from the list, allowing users to remove completed or unwanted tasks.
- Implement error handling for potential issues such as database errors or data inconsistencies.
Submission Guidelines:
- Create a public repository on your GitHub account to host the Todo List app project.
- Complete the Todo List app as per the specified requirements.
- Commit your code regularly and make clear, concise commit messages.
- Once you have completed the task, Send email to [email protected] and cc [email protected] with subject
Android Developer
- In your reply email, briefly explain the approach you took to complete the app and any challenges faced during the implementation.
Note:
- Focus on the functionality and database operations for this task, and consider using placeholder data for testing purposes.
- While design aesthetics are not the primary focus, demonstrating a clean and visually appealing UI will be a plus.
- We value clean and well-organized code, so maintain a modular structure and adhere to best coding practices.
- Feel free to use any additional libraries or tools that you deem necessary to complete the task efficiently.