A simple To-do list app build for iPhone, iPad and Apple Watch in Swift 5 (iOS 11+, watchOS 6+)
- iOS devices only (iPadOS devices do not supports yet)
- Tests verified on target: Simulator iPhone 13 Pro iOS 15.5
- Added big list of AccessibilityIdentifiers for App elements, but not for all(this takes too much time, so temporary for some elements used they labels)
- Created Page Object Model (UITests/Sources/Screens/)
- Added support files and extensions (UITests/Sources)
This lists only part of possible UI Tests. It is possible to create many more tests with Create, Delete and Edit functionality. For example add to tests Priority, Comments, Reminder features validation or create tests with put the app in background, etc.
CreateEmptyTask
- Validate error alert while saving empty task
- Validate alert closing
- Validate add content to the task and it save after alert closing
CancelCreateTask
- Validate cancel create task
- Validate ability to create task after cancel action
CreateTasksWithSameContent
- Create two tasks with the same name
- Validate that two new tasks have been created
- Validate that the new task has identical names
CreateTasksWithHugeString
- Validate ability to create task with 1000 symbols
CreateTaskForToday
- Validate ability to create task for Today
- Validate that task appears in the correct sections
CreateTaskForTomorrow
- Validate ability to create task for Tomorrow
- Validate that task appears in the correct sections
CreateTaskNextSevenDays
- Validate ability to create task with due date in seven days
- Validate that task appears in the correct sections
CreateTaskNextEightDays
- Validate ability to create task with due date in eight days
- Validate that task appears in the correct sections
EditTask
- Create task
- Open task and delete all text content
- Add new text content to the task and save it
- Validate that task is saved with correct content
- Delete task
DeleteTasks
- Create one task with English letters and special characters
- Create one task with Cyrillic letters and special characters
- Validate that both tasks have been created and have the correct content.
- Delete both tasks and validate it deletion
- Persistent task lists using Realm
- iCloud Kit support for syncing
- Push notifications for reminders (Synced between devices)
- Add/delete/edit/complete tasks
- Set task Date & Time + custom reminders and comments (images too)
- Sort/Filter/Prioritise tasks
- iPad app
- Watch app
- Widget for Today tasks
- Theme support with custom App Icons
- Multi-Language support
- 3D Touch shortcuts
- Dark mode
- Onboarding/tutorial
- iOS 11.0+
- Xcode 11.0+
- Swift 5.0+
- Clone the repo
- Turn on iCloud option in
Signing & Capabilities
and checkCloudKit
. Turn onBackground Modes
and checkBackground fetch
+Remote notification
. - Make sure to update your app group config (
Signing & Capabilities
,App Groups
) and id string inRealmManager.swift
.
ToDoList - Task Manager by RanduSoft - AppStore
- Lockdown with FaceID/TouchID or passcode (using BiometricAuthentication)
- Smart dates (transform "'task name' today at 10:00" into a task with a date/time of today @ 10:00)
- Rearrange tasks manually
- Catalyst support for macOS
- iOS 14 Widget
- watchOS complications + sync improvements
- Reload notifications after user gave push permissions if initially declined
- If you found a bug, open an issue.
- If you have a feature request, open an issue.
- If you want to contribute, submit a pull request.
An extensive list of acknowledgements for each external framework used for RSToDoList is also available in app by accessing the settings screen.
RSToDoList is currently using:
- LKAlertController
- ActionSheetPicker-3.0
- IceCream
- UnderKeyboard
- ActiveLabel
- Realm & RealmSwift
- RSTextViewMaster
- Loaf
- Robin
- BulletinBoard
All icons used in RSToDoList are designed by Icons8.com and available here. Colors for themes and app icon are picked from FlatUIColors.com.
RSToDoList is available under the GNU license. See the LICENSE file for more info.