以下の仕様を満たすように実装する。
- ToDoとしてタイトル、タスクの概要、完了予定日を登録できる
- ToDoの内容を更新できる
- 誤って入力したToDoを削除できる
- ToDoを完了できる
- 完了したタスクは履歴として残される
- ToDoのデータはAPIを用いて管理できること
- node version 18.17以上
- chrome
ツール | 説明 |
---|---|
Typescript | https://www.typescriptlang.org/docs/handbook/intro.html |
React v18 | https://react.dev/reference/react |
NextJS v14 | https://nextjs.org/ |
Redux Toolkit | https://redux-toolkit.js.org/ |
MUI | https://mui.com/ |
React Hook Form | https://react-hook-form.com/ |
src/
├── app/ #UIコンポーネント
│ └── components/ #UIパーツ
│
├── hooks/ #hooks
│
├── store/ #状態管理
│ └── modules/ #redux modules
│
├── theme/ #MUI theme設定
│
└── types/ #type
git clone https://github.com/naganoyasuaki/todo-challenge.git
npm install
npm run dev
Open http://localhost:4001 with your browser to see the result.
npm run test
画面下中央に表示されている追加ボタンを押し、追加フォームを表示します。※Todoが1件も登録されていない場合は、デフォルトで追加フォームが表示されます。
フォームの内容を入力してAddボタンを押します。
Todoの右にある鉛筆アイコンをクリックして、編集モードにします。
フォームの内容を編集してUpdateボタンを押します。
Todoの左端のチェックボックスをクリックします。チェックがついたら完了になります。
Todoの右にあるゴミ箱アイコンをクリックします。
ヘッダーのラジオボタンを選択します。
- All: すべてのTodoを表示します
- Active: 未完了のTodoを表示します
- Completed: 完了済みのTodoを表示します