An iOS app that allows users to create, edit, and manage tasks with titles and optional descriptions. Tasks can be marked as completed, sorted, or deleted with ease.
- Swift
- SwiftUI
- SwiftData
- Combine
- Swift Testing
- TipKit
@Model
,@Query
, and@Bindable
for reactive model managementNavigationStack
for modern navigation flow@Environment(\.modelContext)
for data persistence using SwiftData- Combine-based
KeyboardObserver
to detect keyboard visibility - Swift Testing framework (@Test, @Suite, #expect) for clean, async-friendly unit tests
- TipKit to provide contextual in-app guidance with action buttons
- Add, edit, and delete tasks
- Toggle completion state with checkmark buttons
- Optional task description field
- Smart keyboard dismissal on tap
- Inline TipKit hints for UI guidance
- Tasks sorted to show completed ones at the top
- Floating action button to add new tasks