A modern Expo React Native ToDo application with task management, and a stylish mobile UI. Users can add tasks, mark tasks as complete, and delete or edit them.
![]() Home Screen |
![]() Settings Screen |
- Add, edit, and delete tasks
- Set due time for tasks and get overdue highlighting
- Mark tasks as completed
- Progress stats and empty state UI
- Modern mobile UI with Expo
- Frontend: React Native (Expo)
- Backend: Convex (serverless database)
ToDoList/
├── app.json
├── package.json
├── app/
│ ├── _layout.tsx
│ ├── tabs/
│ │ ├── _layout.tsx
│ │ ├── index.tsx
│ │ └── settings.tsx
├── assets/
│ ├── fonts/
│ └── images/
├── components/
│ ├── TodoInput.tsx
│ ├── Header.tsx
│ ├── ProgressStats.tsx
│ └── ...
├── convex/
│ ├── todos.ts
│ ├── schema.ts
│ └── ...
├── hooks/
│ └── useTheme.tsx
└── ...
- Install dependencies:
npm install
- Start the Expo development server:
npx expo start
- Use the Expo Go app or an emulator to run the app on your device.
mutation addTodo— Add a new todomutation updateTodo— Edit a todomutation deleteTodo— Delete a todomutation toggleTodo— Mark as completedquery getTodos— List all todos
{
text: String, // required
isCompleted: Boolean, // required
createdAt: String, // ISO date string
dueTime: String, // ISO date string (optional)
}This project is for educational purposes.

