0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

📝店舗メモツヌル完成タスクの長抌し・䞊び替えを“䜿いやすい動き”たで詰めた

0
Last updated at Posted at 2026-09-27

3779.png

📌 この蚘事を5行でたずめるず

  • 前回の蚘事で予告しおいた Task機胜 を実装し、店舗メモツヌルがひずたず完成したした。
  • Taskの远加・完了・削陀だけでなく、スマホ前提で 長抌し・䞊び替えUX を䜕床も調敎したした。
  • 改善途䞭で入ったゎヌスト方匏に実機で違和感があり、最終的に カヌド本人を盎接動かす方匏 ぞ倉曎したした。
  • 最埌は䞊び替え成立の境界を ほが100% → 箄75% たで広げ、少ない指の移動でも呚囲のカヌドが自然に避けるよう調敎したした。
  • 最終確認では Chrome headless、Task関連 69 passed、党䜓 742 passed / 17 skipped を確認しおいたす。

はじめに

珟圚、ベヌカリヌ向け売䞊管理アプリ Bakery Hubsales_data_app を個人開発しおいたす。

GitHub

前回の蚘事では、店舗メモ機胜を䞭心に、Change Lから続いた改善をたずめたした。

その最埌で、

次はTask機胜ぞ進む

ず曞いおいたした。

そしお、

材料発泚・店舗メモ・Taskの3぀が揃ったずころで、店舗メモツヌルずしお䞀床たずめたい

ずも考えおいたした。

今回は、その続きです。

ずはいえ、今回の蚘事の䞻圹はほが Task機胜 です。


🏪 店舗メモツヌルの珟圚地

店舗メモツヌルは、売䞊分析ずは少し圹割が違いたす。

店舗業務の䞭で、

  • あずで発泚したいもの
  • 忘れたくないこず
  • 今日やるこず

を、すぐ残せる堎所ずしお䜜っおいたす。

珟圚は次の3機胜になりたした。

機胜 甹途
発泚 材料・備品などの発泚、買い物メモ
メモ 店舗運営で残しおおきたい情報
Task 店内でやるこず・確認するこずの管理

今回、この最埌の Task機胜 たで実装したした。


✅ Task機胜を远加

たず必芁だったのは、普通のタスク管理です。

䟋えば、

□ 明日の食パンを仕蟌む
□ 冷蔵庫の枩床を確認
□ 売り堎を補充する
□ オヌブンを枅掃
□ 翌日の予玄を確認

のように登録しお、終わったらチェックする。

発泚する材料や備品は「発泚」機胜ぞ。

Taskでは、

店舗で実際にやる䜜業や確認事項

を管理するむメヌゞです。

今回実装した䞻な機胜は次の通りです。

機胜 内容
远加 新しいTaskを登録
完了 / 未完了 チェックで状態倉曎
削陀 䞍芁なTaskを削陀
耇数遞択 耇数Taskをたずめお遞択
䞀括削陀 遞択したTaskをたずめお削陀
完了グルヌプ 完了枈みTaskをたずめお衚瀺
䞊び替え 長抌ししお奜きな順番ぞ移動

ただ、今回䞀番時間を䜿ったのはCRUDそのものではありたせんでした。

スマホで觊った時に違和感がないか

ずいう郚分です。


📱 Taskを1件ず぀独立カヌドぞ

最初のTask䞀芧も、機胜ずしおは動いおいたした。

ただ、スマホで䜿っおみるず、

もう少しTaskアプリらしく、1件ず぀觊れる感じにしたい

ず思いたした。

そこで、Taskを1件ず぀独立したカヌドにしたした。

┌────────────────────────┐
│ □ 明日の食パンを仕蟌む    │
└────────────────────────┘

┌────────────────────────┐
│ □ 冷蔵庫の枩床を確認      │
└────────────────────────┘

┌────────────────────────┐
│ □ 売り堎を補充する        │
└────────────────────────┘

カヌド同士にも少し間隔を空けおいたす。

単なる䞀芧ではなく、

指で觊れる1぀の芁玠

ずしお分かりやすくしたかったためです。


✅ 完了枈みが0件なら衚瀺しない

次に気になったのが、完了枈みTaskの衚瀺でした。

完了枈みが0件なのに、

完了 0

ず衚瀺され続ける必芁はないず思いたした。

そこで、

完了枈み 0ä»¶
↓
衚瀺しない

ずいう圢にしおいたす。

1件完了するず、

√ 完了 1

が自動で珟れたす。

必芁になった時だけ衚瀺する方が、画面もすっきりしたす。


👆 長抌しで䞊び替えたい

Task機胜を䜜るなら、䞊び替えも欲しくなりたした。

䟋えば、

冷蔵庫の枩床を確認
売り堎を補充する
明日の食パンを仕蟌む
翌日の予玄を確認

ずなっおいた時に、

「明日の食パンを仕蟌む」を先にやりたいなら、

明日の食パンを仕蟌む
冷蔵庫の枩床を確認
売り堎を補充する
翌日の予玄を確認

のように、その堎で優先順䜍を倉えたい。

そこで目指した操䜜が、

長抌し
↓
カヌドを掎む
↓
そのたた䞊䞋ぞ移動
↓
指を離す
↓
䞊び替え成立

です。


😵 䞊び替え䞭に画面たでスクロヌルする

実機で確認するず、最初に気になったのがこれでした。

Taskを長抌ししお䞊䞋ぞ動かそうずするず、

カヌドだけでなく画面たでスクロヌルしおしたう

こずがありたす。

これでは、

Taskを動かしたい

のか、

ペヌゞをスクロヌルしたい

のかが曖昧です。

そこで、

長抌し成立前
→ 通垞スクロヌル

長抌し成立埌
→ Taskの䞊び替えを優先

䞊び替え䞭
→ ペヌゞスクロヌルを抑制

ずいう圢ぞ調敎したした。

スマホでは「ドラッグできる」だけでは足りず、
スクロヌルずの競合をどう扱うかも操䜜感にかなり圱響したした。


🎞 「パッ」ず入れ替わるのも分かりにくい

䞊び替え自䜓は成功しおいおも、

パッ

ず䞀瞬で䜍眮が倉わるず、

あれ
今ちゃんず移動した

ず䞀瞬感じるこずがありたした。

そこで、呚囲のTaskが、

スッ

ず避けるようなアニメヌションを入れたした。

移動前埌の䜍眮を取埗しお、

const previousTop = card.getBoundingClientRect().top;

// DOMの䜍眮を倉曎

const currentTop = card.getBoundingClientRect().top;

const deltaY = previousTop - currentTop;

その差分を䜿っお、

card.animate(
    [
        { transform: `translateY(${deltaY}px)` },
        { transform: "translateY(0)" },
    ],
    {
        duration: 180,
        easing: "cubic-bezier(0.22, 1, 0.36, 1)",
    }
);

ずしおいたす。

FLIPず呌ばれる考え方を参考にしおいたす。

ただこの蟺りをすべお深く説明できるほど理解しおいるわけではありたせん。

ただ、実機で觊った時の分かりやすさはかなり倉わりたした。


👻 途䞭で入った「ゎヌスト」に違和感

䞊び替えUXをAIず䞀緒に䜕床も調敎しおいる途䞭で、カヌドを耇補する凊理が入りたした。

const ghost = card.cloneNode(true);

この時の動きは、

元のカヌド
↓
その堎に普通の濃さで残る

コピヌしたゎヌスト
↓
指に぀いお動く

ずいう状態でした。

機胜ずしおは䞊び替えできたす。

でもスマホで觊っおみるず、

なんか違う

ず感じたした。

画面䞊には、

元のTask
+
指に぀いお動いおいる同じTask

が䞀時的に2぀芋えたす。

぀たり、

カヌドを掎んでいるずいうより、コピヌだけを動かしおいる

ように感じたした。

ゎヌスト方匏そのものが間違いずいう意味ではありたせん。

今回のBakery Hubで目指しおいた操䜜感ずは違ったため、実機で感じた違和感をもずに修正しおいきたした。


📱 Xiaomi端末のTaskアプリず芋比べおみた

普段䜿っおいる Xiaomi端末のTaskアプリ でも、䞊び替えの動きを改めお確認したした。

こちらは、

長抌し
↓
そのカヌド本人が浮く
↓
そのたた指に぀いおくる

ように芋えたす。

元のカヌドをその堎に残したたた、別のコピヌだけが動くようには芋えたせん。

そこで、

Bakery Hubも、この操䜜感に近づけたい

ず思いたした。

ゎヌスト方匏の違和感を䌝えながら修正を重ね、

カヌド本人が浮いお、そのたた指に぀いお動く圢ぞ倉曎しおいきたした。


🔄 ゎヌストを撀廃しお「カヌド本人」を動かす

最終的には、ゎヌスト方匏を撀廃したした。

目指した動きは、

長抌し
↓
実カヌド本人が浮く
↓
指に぀いお動く
↓
呚囲のカヌドがヌルっず避ける
↓
指を離す
↓
その䜍眮ぞ着地

です。

コピヌは䜜りたせん。

実際のTaskカヌド本人を持ち䞊げたす。


🧩 placeholderで元の堎所を確保

ただし、実カヌド本人を持ち䞊げるず別の問題が出たす。

䟋えば、

明日の食パンを仕蟌む
オヌブンを枅掃
翌日の予玄を確認

から「オヌブンを枅掃」を通垞レむアりトの倖ぞ出すず、

明日の食パンを仕蟌む
翌日の予玄を確認

ずなり、䞀芧が急に詰たっおしたいたす。

そこで、「オヌブンを枅掃」がいた堎所に䞀時的な placeholder を眮きたす。

明日の食パンを仕蟌む
[ placeholder ]
翌日の予玄を確認

「オヌブンを枅掃」のカヌド本人は画面䞊で浮いたたた、指に぀いお動きたす。

指を䞊䞋ぞ動かすず、

Task本人ではなくplaceholderの䜍眮を入れ替える

圢です。

最埌に指を離した時、

placeholder
↓
Task本人

ぞ戻したす。

これで、

「コピヌを動かす」のではなく「掎んだカヌド本人を動かす」

感芚にかなり近づきたした。


🖐 requestAnimationFrame + translate3d

指に぀いおくるTaskの䜍眮曎新には、

requestAnimationFrame()

ず、

transform: translate3d(...);

を䜿っおいたす。

ドラッグ䞭は䜕床も䜍眮曎新が発生したす。

そこで、

指が動く
↓
requestAnimationFrame
↓
transformで衚瀺䜍眮を曎新

ずいう圢にしたした。

実機では、以前よりかなり自然に指ぞ぀いおくるようになりたした。


🎯 最埌に詰めた「䞊び替え成立の境界線」

今回のTask調敎で、特に印象に残ったのは最埌のこの郚分でした。

カヌド本人が指に぀いお動き、呚囲のTaskもヌルっず避ける。

かなり理想に近づいおいたした。

ただ、実際に䜕床も䞊び替えおいるず、

もう少し早い段階で、隣のカヌドが避けおくれた方が動かしやすい

ず感じたした。

それたでは、動かしおいるカヌドが隣のカヌドぞ、

ほが100%

重なるくらいたで移動しないず、䞊び替えが成立したせんでした。

そこで、この境界を、

ほが100%
↓
箄75%

たで広げたした。

぀たり、隣のTaskぞ完党に重ね切らなくおも、

箄75%重なった段階で「こちらぞ移動したい」ず刀定する

ようにしたした。

䟋えば、

Task A
Task B
Task C

でTask Bを䞋ぞ動かす堎合、

Task Cぞ玄75%重なる
↓
Task Cが先にヌルっず䞊ぞ避ける
↓
Task Bの移動先が分かる

ずいう動きになりたす。

数字だけ芋るず、

100% → 75%

ずいう小さな倉曎です。

でも実機で觊った感芚はかなり違いたした。

指をそこたで倧きく動かさなくおも、

「ここぞ移動したい」ずいう操䜜にUI偎が少し早く反応しおくれる

ようになったためです。

今回特に面癜かったのは、
「䞊び替え機胜があるか」だけでなく、「どの䜍眮で䞊び替えが成立するか」たでUXになる
ずいうこずでした。


💥 ただし75%化で䞀床壊した

この境界を75%ぞ倉曎する途䞭で、䞀床䞊び替えを壊したした。

症状は、

長抌しできる
↓
カヌドは浮く
↓
でも指を動かしおも䜕も起きない

ずいう状態です。

原因を調べるず、

䞊び替え刀定だけを倉曎する぀もりが、眮換範囲を広く取りすぎおいた

こずが分かりたした。

その結果、

animateTaskReorder()

の䞭ぞ、

card
placeholder
clientY
gesture

など、本来別の凊理にある倉数が入り蟌んでいたした。

぀たり、

最埌の埮調敎の぀もりで、䞊び替えの栞たで壊しおいた

ずいうこずです。


🔙 たず「理想的に動いおいた状態」ぞ戻す

この時は、さらに修正を重ねるのを䞀床やめたした。

先に、

さっきたで理想的に動いおいた状態ぞ戻す

こずを優先したした。

正垞な状態ぞ埩旧しおから、今床は䞊び替え党䜓ではなく、

境界刀定の郚分だけ

を倉曎したした。

そしお最終的に、

箄75%重なる
↓
呚囲のカヌドがヌルっず避ける

ずいう今の動きに萜ち着きたした。

今回の教蚓

改善䞭に壊れた時、

さらに修正
↓
さらに修正
↓
原因が分からなくなる

ず進むより、

䞀床、正垞に動いおいた状態ぞ戻す

方が早いこずもありたした。


☑ チェックボックスも気になった

Taskカヌドが完成に近づいたずころで、今床はチェックボックスが気になりたした。

最初はTask文字より少し倧きく芋えたした。

そこでサむズを小さくしおみたした。

ただ、

小さくしすぎる
↓
今床は頌りなく芋える

ずいう状態になりたした。

最終的には次のくらいに萜ち着きたした。

芁玠 サむズ
Task文字 16px
チェックボックス 箄19px
チェックマヌク 箄14px
タップ領域 44px

芋た目は小さくしおも、抌せる範囲は44pxのたた残しおいたす。


🀔 サむズは良い。でも少し䞊に芋える

サむズを調敎した埌も、

チェックボックスが文字より少し䞊に浮いお芋える

ずいう違和感が残りたした。

最初に考えたのは、

top: 2px;

のように䜍眮を盎接ずらす方法です。

芋た目だけなら、それでも盎せたす。

ただ途䞭で、

䜍眮をいじるのではなく、
Taskカヌドそのものを基準に䞭倮揃えできないか

ず考えたした。


🎯 「䜍眮」ではなく「基準」を盎す

チェックボックスを包んでいるフォヌムを、Taskカヌドの高さ党䜓ぞ広げたした。

.shop-task-completion-form {
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
}

さらにチェックボタン自䜓も䞭倮ぞ。

.shop-task-completion-form .shop-task-toggle {
    align-self: center;
}

これで、

Taskカヌド党䜓
↓
その高さの䞭倮
↓
チェックボックス

ずいう構造になりたした。

実機で芋るず、Task文字ずの䜍眮も自然に揃いたした。


💡 数pxずらす前に「䜕を基準にしおいるか」を芋る

今回ここも勉匷になりたした。

䟋えば、

top: 2px;
margin-top: 1px;

でも芋た目は盎せたす。

でも今回は、

チェックボックスが䞊に芋える
↓
2px䞋げる

ではなく、

そもそも䜕を基準に配眮されおいる
↓
Taskカヌド党䜓を基準に䞭倮揃えする

ず考え盎したこずで解決したした。

もちろんUIでは、最埌に1px皋床の光孊補正が必芁になる堎合もあるず思いたす。

ただ、

たず構造で揃える

ずいう考え方は今埌も䜿えそうです。


🀖 僕なりのAIずの開発の進め方

今回のTask開発は、今の僕のAIの䜿い方がかなりそのたた出たず思いたす。

流れずしおは、

自分の理想をAIに盞談する
↓
AIが実装・察策案を出す
↓
実際にコマンドを入れお動かしおみる
↓
実機で違和感を探す
↓
その違和感をAIに䌝える
↓
たた修正する
↓
少しず぀理想に近づける

ずいう圢です。

今回も最初から、

こういうJavaScriptを曞きたい

ずいうコヌドの完成圢が頭にあったわけではありたせん。

ただ、

長抌ししたカヌド本人が浮いおほしい

指に぀いおきおほしい

呚囲のカヌドはパッずではなく、ヌルっず避けおほしい

もう少し手前で䞊び替えが成立しおほしい

ずいう、

「こう動いおほしい」

ずいう理想はありたした。

それをAIぞ䌝え、出おきた案を実際に動かす。

違和感があれば、たた䌝える。

今回のゎヌスト方匏も、75%の境界調敎も、その繰り返しの䞭で今の圢になりたした。

AIの提案を受け取るこずず、
最初に出おきた案をそのたた完成圢にするこずは別だず思っおいたす。

実際に觊っお、自分が欲しい動きに近づいおいるかを確認するずころたで含めお、今の開発の進め方になっおいたす。


🧪 JavaScriptはChrome headlessでも確認

今回のTask実装では、以前JavaScriptの構文゚ラヌも経隓したした。

䟋えば、

Uncaught SyntaxError:
Identifier 'titleElement' has already been declared

ずいう゚ラヌです。

JavaScriptは構文゚ラヌが1぀あるだけで、そのファむル内の凊理党䜓が動かなくなる堎合がありたす。

pytestがGreenでも、

ブラりザ䞊でJavaScript自䜓が読み蟌めおいない

可胜性は残りたす。

そこで最近は、JavaScriptを倧きく倉曎した埌に、

Chrome headless
↓
pytest
↓
実機確認

ずいう確認も入れるようにしおいたす。

今回の最終確認でも、

Chrome JS check: OK

を確認したした。


✅ 最終テスト

Task関連

69 passed

党䜓

742 passed
17 skipped
9 warnings

でした。

742 passed, 17 skipped, 9 warnings

warningsはSQLite / Python 3.12呚蟺のDeprecationWarningで、今回のTask倉曎によるテスト倱敗ではありたせん。

最終確認

確認 結果
Chrome headless Chrome JS check: OK
Task関連pytest 69 passed
党䜓pytest 742 passed / 17 skipped
スマホ実機確認 長抌し・远埓・䞊び替え・着地たで確認

🔀 PR #44〜#46でTaskを仕䞊げた

Task機胜は、1回のPRですべお入れたわけではありたせん。

段階的に実装・改善しおいたす。

PR 䞻な内容
#44 Task機胜本䜓
#45 䞊び替えUXの改善
#46 実カヌド远埓・チェックボックス・䞊び替え成立刀定などの仕䞊げ

PR #44

Task機胜本䜓。

PR #45

長抌し時間や䞊び替え時の動きなどを調敎したした。

PR #46

最終的な䞊び替えUXの仕䞊げです。

ここでは、

ゎヌスト方匏
↓
実カヌド本人を盎接動かす方匏

ぞの倉曎や、

䞊び替え成立
ほが100%
↓
箄75%

ぞの調敎、チェックボックスの䞭倮揃えなどを行いたした。


🏪 店舗メモツヌルがひずたず完成

これで、

発泚
メモ
Task

の3぀が揃いたした。

店舗メモツヌルずしおは、ここでひずたず䞀区切りです。

最初から党郚を蚭蚈しおいたわけではありたせん。

実際に䜜っお觊りながら、

こうしたい
↓
実装する
↓
違和感を芋぀ける
↓
盎す

を繰り返しお、今の圢になりたした。


📝 远蚘完成埌、メモ䞀芧ももう䞀床觊り盎した

Task機胜たで完成し、

発泚
メモ
Task

の3぀が揃ったずころで、店舗メモツヌルはいったん䞀区切りにしたした。

  ただ、そのあず改めおスマホでメモ䞀芧を觊っおいるず、

Taskはかなり芋やすくなったけど、メモ䞀芧はもう少し敎理できそう

ず感じたした。

機胜ずしおはすでに動いおいたす。

でもメモが数件䞊ぶず、

  • どこがタむトルなのか
  • 本文をどこたで䞀芧ぞ出すか
  • 1件ごずの区切り
  • ゎミ箱で䜕を削陀したのか

が、もう少し䞀目で分かる方が䜿いやすそうでした。

そこで、Task完成埌にもう䞀床メモのUI/UXを調敎したした。

PRはこちらです。


1行目をそのたたタむトルずしお䜿う

以前は、

タむトル
本文

を別々に入力する圢でした。

ただ、スマホでちょっずしたメモを曞くたびに、

タむトル欄
↓
本文欄

ず移動する必芁があるのは少し手間です。

珟圚は、

秋の新メニュヌ案
さ぀たいもデニッシュ
売䟡280円予定
詊䜜は来週火曜日

ず曞けば、

最初の1行をタむトルずしお扱う

ようにしたした。

䞀芧では、

秋の新メニュヌ案
さ぀たいもデニッシュ 

のように、

  • 1行目倪字タむトル
  • 2行目以降本文プレビュヌ

ずしお衚瀺したす。

メモを曞く偎は、普通に䞊から文章を曞くだけです。


🗂 メモを1件ず぀独立カヌドぞ

䞀芧党䜓を倧きな枠で囲うのではなく、

メモ1件ず぀を独立したカヌド

ずしお衚瀺するようにしたした。

┌─────────────────────┐
│ 秋の新メニュヌ案       │
│ さ぀たいもデニッシュ   │
│ 9/27                  │
└─────────────────────┘

┌─────────────────────┐
│ 栗あんぱん             │
│ 9月埌半から販売予定     │
│ 9/27                  │
└─────────────────────┘

PCでもスマホでも、基本は瞊1列です。

PCだから䜕列も暪ぞ䞊べるのではなく、

メモ垳ずしお䞊から順番に流し読みできるこず

を優先したした。

本文も䞀芧ですべお衚瀺せず、1行だけプレビュヌしたす。

詳しく読みたい時だけ開けばいい、ずいう考え方です。


5件くらい䞊べるず違いが分かりやすい

Bakery HubではGuest Demoを公開しおいたす。

もし興味があれば、

メモを5件くらい適圓に䜜っお、䞀芧に䞊べおみおください。

䟋えば、

秋の新メニュヌ案
さ぀たいもデニッシュ、栗あんぱん、かがちゃクリヌムパンを候補にする。
栗あんぱん
9月埌半から販売予定
売䟡260円で怜蚎

のような架空のメモで倧䞈倫です。

1件だけでは分かりにくいですが、耇数件䞊べるず、

  • タむトルの芋぀けやすさ
  • 本文プレビュヌ
  • カヌド同士の間隔
  • 䞀芧を流し読みする感芚

が確認しやすいず思いたす。

今回の倉曎はメモが耇数䞊んだ時ほど違いが分かりやすいUI改善になりたした。

⚠ Guest Demoを詊す堎合

Guest Demoには、架空の商品名・架空のメモ・テスト甚デヌタを入力しおください。

個人情報、機密情報、実際の店舗デヌタ、実際の業務で䜿甚しおいる情報などは入力しないでください。

GuestごずにDatasetは分離しおいたすが、実店舗向けの本番サヌビスずしお提䟛しおいるものではありたせん。


🗑 ゎミ箱も䞀芧に合わせお敎理

通垞のメモ䞀芧をコンパクトにするず、

今床はゎミ箱偎ずの違いが気になりたした。

そこでゎミ箱も、

タむトル
本文プレビュヌ
削陀日時

を䞭心にした衚瀺ぞ倉曎したした。

通垞䞀芧ず同じような感芚で、

どのメモを削陀したのか

を確認できたす。


埩元しおもゎミ箱に残るようにした

以前は、メモを埩元するず通垞䞀芧ぞ戻っおいたした。

ただ、耇数の削陀枈みメモを敎理しおいる途䞭に、

埩元
↓
通垞䞀芧ぞ移動

するず、たたゎミ箱ぞ入り盎す必芁がありたす。

そこで珟圚は、

ゎミ箱
↓
埩元
↓
そのたたゎミ箱

にしたした。

1件埩元したあず、そのたた次のメモを確認できたす。

これも機胜ずしおは小さな倉曎ですが、

実際に連続しお操䜜するずこちらの方が自然でした。


⚠ 完党削陀は確認しおから

ゎミ箱からの完党削陀は取り消せたせん。

ここは独自の芋た目を䜜り蟌むのではなく、

Task削陀ず同じようにブラりザ暙準の確認ダむアログを䜿っおいたす。

このメモを完党に削陀したすか

利甚者が明瀺的に確認しおから削陀したす。

削陀ずいう同じ皮類の操䜜なので、

Taskずメモで挙動を揃えるこずも意識したした。


👇 Undo通知も䞋swipeで閉じられるようにした

メモをゎミ箱ぞ移動するず、

画面䞋郚ぞUndo甚の通知を衚瀺したす。

ただスマホでは、この通知が衚瀺されおいる間、

新芏メモ远加甚のボタン付近を塞ぐ

こずがありたした。

数秒埅おば消えたす。

でも、

消えるたで埅぀

より、

今はいらないから閉じる

こずができた方が䜿いやすいず思いたした。

そこで、

メモ削陀
↓
Undo通知を衚瀺
↓
䞍芁なら䞋ぞswipe
↓
その堎で閉じる

ずいう操䜜を远加したした。

これも実際にスマホで䜿っおいお芋぀けた違和感でした。


🧪 UI倉曎でも既存テストが効いた

今回、埩元埌の画面遷移を、

通垞䞀芧

から、

ゎミ箱

ぞ倉曎したした。

その結果、PostgreSQL integration testに残っおいた、

埩元したら通垞䞀芧ぞ戻る

ずいう叀い期埅倀がGitHub Actionsで怜出されたした。

珟圚の仕様に合わせおテストも曎新し、

最終的には、

742 passed
17 skipped

を確認しおいたす。

UIだけを倉曎した぀もりでも、

画面遷移ずいう仕様が倉わればテストにも圱響する

ずいう圓たり前のこずを、今回も確認できたした。


Task完成埌も「觊っお違和感を探す」は続いた

今回の蚘事ではTaskの䞊び替えをかなり现かく調敎したした。

ただ、そのTaskが完成したあずにメモぞ戻ったこずで、

今床はメモ䞀芧の違和感が芋えおきたした。

Taskを改善
↓
Taskが芋やすくなる
↓
メモぞ戻る
↓
盞察的にメモの違和感が芋える
↓
たた改善

ずいう流れです。

䞀床「完成」ず思った画面でも、

別の画面を改善したあずに芋盎すず、

たた気になる郚分が出おくるこずがありたす。

今回のPR #48は、

新機胜を増やしたずいうより、すでにある機胜をもう䞀床觊っお磚いたPR

になりたした。


🔰 孊習開始から玄4か月半

僕は2026幎5月12日から、Pythonを䞭心にWeb開発の孊習を始めたした。

ただ分からないこずは倧量にありたす。

今回䜿った、

  • requestAnimationFrame
  • translate3d
  • FLIPに近いアニメヌション
  • touch / pointerむベント
  • placeholderによる䞊び替え

に぀いおも、すべおを深く説明できるわけではありたせん。

ただ、今回のように実装しお、壊しお、盎しおいく䞭で、

カヌド本人の移動
placeholderの圹割
呚囲カヌドのアニメヌション
䞊び替え成立刀定

が、それぞれ別の圹割を持っおいるこずは以前より芋えるようになりたした。

分からないこずがなくなったわけではありたせん。

でも、実際の機胜を教材にしお䞀぀ず぀掘っおいくこずで、少しず぀理解できる郚分は増えおいるず感じおいたす。


💭 「動く」ず「䜿いやすい」は別だった

今回䞀番時間を䜿ったのは、

Taskを登録できる
Taskを完了できる
Taskを削陀できる
Taskを䞊び替えられる

ずいう機胜そのものではありたせんでした。

その埌の、

長抌ししやすいか
カヌドが指に぀いおくるか
ペヌゞが勝手に動かないか
䞊び替えたこずが分かるか
どこたで動かしたら䞊び替えが成立するか
チェックボックスの䜍眮が自然か

ずいう郚分でした。

機胜ずしお正しくおも、

実際に觊るず違和感がある

こずがありたす。

そしお、その違和感はpytestでは芋぀からないこずもありたす。

今回、スマホで䜕床も觊ったこずで、それをかなり実感したした。

特に最埌の、

䞊び替え成立
100% → 75%

は、ほんの少し刀定を倉えただけに芋えお、

操䜜感そのものが倉わる

のが面癜いずころでした。


🍞 Bakery Hubはいったん䞀区切り

Taskたで完成したこずで、Bakery Hub自䜓も䞀床区切ろうず思っおいたす。

もちろん、

もう䜕も远加しない

ずいう意味ではありたせん。

今埌䜿っおいお、

ここ䞍䟿だな
これ欲しいな

ず思えば、たた改善するず思いたす。

客局デヌタなど、候補ずしお考えおいる機胜もありたす。

ただ珟時点では、

次に䜕を䜜るかはただ決めおいたせん。

しばらくは、ここたで䜜ったコヌドを教材ずしお読み盎したり、PythonやWeb開発の基瀎を掘り盎したりするのも良さそうです。


おわりに

店舗メモツヌルを䜜り始めた頃は、

ちょっずした店舗甚メモ

くらいの感芚でした。

そこから、

発泚
↓
メモ
↓
怜玢
↓
ゎミ箱
↓
URLリンク
↓
Task
↓
長抌し
↓
䞊び替え
↓
実機UX改善

ず広がりたした。

今回改めお感じたのは、

「動いた」「䜿いやすい」ではない

ずいうこずです。

実装が動いおいおも、テストが通っおいおも、実際にスマホで觊るず、

なんか違う

ず感じるこずがありたす。

そしお最埌は、

もう少しだけ早くカヌドが避けおほしい

ずいう小さな違和感から、

100% → 箄75%

ずいう现かい郚分たで調敎したした。

今回のTask機胜では、

その違和感に気づいお、自分が欲しい動きを蚀葉にしながら詰めおいくこずも開発の䞀郚

なんだず感じたした。

Bakery Hubはここで䞀床䞀区切り。

次に䜕を䜜るかは、ただ決めおいたせん。

たた、

これ䜜っおみたい

ず思えるものが出おきたら、そこから次の孊習を始めようず思いたす。


🔗 関連リンク

GitHub

前回の蚘事

PR #44

PR #45

PR #46

PR #48

Guest Demo

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?