A modern, gesture-driven Todo application built with React Native and Expo. Users can manage tasks with intuitive swipe gestures, track completion status, and organize todos through a tab-based interface.
- As a user, I see a lock screen on app launch
- Use Passcode to unlock the app
- Use fallback password (
1234
) as last resort - Smooth transition to main app
- As a user, I can add a new todo task by:
- Clicking the "新規作成" button
- Entering task title in the dialog
- Confirming with "保存" button
- As a user, I can mark a todo as complete/incomplete by:
- Tapping the circle checkbox icon
- Seeing it change from empty circle to filled checkmark
- Watching the text become strikethrough and italic
- As a user, I can delete a todo by:
- Swiping left on any task
- Revealing the delete button with trashcan icon
- Confirming deletion in dialog
- As a user, I can edit a todo title by:
- Long pressing on any task
- Updating text in prompt dialog
- Saving changes with "保存" button
- As a user, I can view my todos:
- In a scrollable list
- Grouped by completion status
All Tasks | In Progress | Completed |
---|---|---|
![]() |
![]() |
![]() |
Add New Task | Edit Task | Delete Task |
![]() |
![]() |
![]() |
- All Tasks: Main view showing all todo items
- In Progress: Filtered view of uncompleted tasks
- Completed: Filtered view of completed tasks
- Add Task: Dialog for adding new tasks
- Edit Task: Dialog for editing existing tasks
- Delete Task: Swipe gesture and confirmation dialog
-
Install dependencies
npm install
-
Start the app
npx expo start
# Run all tests
npm test
# Run specific test file
npm test TabBottomMenu