Skip to content

Instantly share code, notes, and snippets.

@RofieSagara
Last active July 31, 2023 02:40
Show Gist options
  • Save RofieSagara/75c3ad08a3b00a9cd1852b84e0790fbc to your computer and use it in GitHub Desktop.
Save RofieSagara/75c3ad08a3b00a9cd1852b84e0790fbc to your computer and use it in GitHub Desktop.
Ubersnap IOS Task

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:

  1. Design the user interface using SwiftUI that includes screens for displaying the list of tasks and adding/editing tasks.
  2. Implement a local database using Core Data to store the list of tasks persistently on the device.
  3. Create a feature that allows users to add new tasks to the database, including a title, description, and due date.
  4. Implement the ability to view the list of tasks in a scrollable list with essential task details.
  5. Enable users to update existing tasks by modifying their title, description, or due date.
  6. Provide functionality to delete tasks from the list, allowing users to remove completed or unwanted tasks.
  7. Implement error handling for potential issues such as database errors or data inconsistencies.

Submission Guidelines:

  1. Create a public repository on your GitHub account to host the Todo List app project.
  2. Complete the Todo List app as per the specified requirements using Swift and SwiftUI/UIkit.
  3. Commit your code regularly and provide clear, concise commit messages.
  4. Once you have completed the task, Send email to boonchin@ubersnap.com and cc rofie@ubersnap.com with subject IOS Developer
  5. 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment