Task: Create a Simple Todo List iOS App with Local Database using SwiftUI
Description: As an iOS Developer with expertise in Swift and iOS app development, 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 iOS devices. This task will help assess your proficiency in Swift programming and your ability to implement fundamental database operations in iOS app development using SwiftUI/UIkit.
Requirements:
- Design the user interface using SwiftUI that includes screens for displaying the list of tasks and adding/editing tasks.
- Implement a local database using Core Data 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 using Swift and SwiftUI/UIkit.
- Commit your code regularly and provide clear, concise commit messages.
- Once you have completed the task, Send email to [email protected] and cc [email protected] with subject
IOS 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 important, the primary focus is on functionality and database handling.
- We value clean and well-organized code, so maintain a modular structure and adhere to best coding practices.