kei615ykhm / logic-loom-nextjs14

LogicLoom is a memo app for engineers created as personal developers. There are no release plans. We will proceed with development while learning practical usage of Next.js, TypeScript, TailwindCSS, Vercel, and Supabase.
0 stars 0 forks source link

PR: 最小限構成でのメモアプリ実装 #14

Closed kei615ykhm closed 1 month ago

kei615ykhm commented 2 months ago

概要

このプルリクエストでは、feature/minimal-configurationブランチからdevelopブランチへの統合を行います。主な目的は、簡易的な最小限構成でのメモアプリを作成し、今後のアップデートの土台を構築することです。

*こちらは、コードレビューのご依頼とマージ認証を目的としたPRになります。

作業内容

実装の変更点

issue #9 にて当初予定していたローカルストレージを使用した保存機能の実装は、以下の理由により保留としました:

  1. ローカルストレージの実装とuseEffectの使用に関して、再学習が必要だと判断したため
  2. 最終的な目標がSupabaseのデータベースを使用した保存機能であるため、学習効率を考慮し、ローカルストレージでの実装に時間をかけるべきではないと判断したため

詳細: Issue #10 (クローズ済み) 作業ブランチ: experimental/use-local-server

今後の予定

  1. ESLintの設定と必要に応じたコード修正(Issue #11)
  2. ダッシュボード機能の実装(Issue #12 )
    • Parallel Routesを使用したダッシュボードレイアウトの作成
    • メモリスト機能の実装(検索機能含む)
    • メモ作成機能の実装
  3. SWR/SSG対応の下地作り(Issue #13 )
    • モーダルコンポーネントの作成(将来の実装用)
    • SWRの下地作り
  4. Supabaseとの連携によるデータベース実装
  5. 保存機能の実装
  6. メモの編集機能の追加
  7. メモの詳細ページの作成

なお、具体的な実装詳細については別途Issueを立ち上げ、そちらで管理します。

レビュー時の注意点

テスト

ご確認よろしくお願いいたします。

kei615ykhm commented 2 months ago

@niaka3dayo ご返信が遅れて申し訳ございません。前回のコードレビューでいただいたフィードバックに基づいて修正を行いました。変更点を一つのコメントにまとめましたので、ご確認ください。

主な変更点:

  1. 命名の変更:

    • useMemosuseMemoManager (Reactの組み込みhookとの競合を避けるため)
    • useMemos.tsuseMemoManager.ts
    • addMemohandleAddMemo
    • deleteMemohandleDeleteMemo
  2. src/components/memos/MemoForm.tsx:

    • 暗黙的ブール変換を早期リターンに変更
    • 注意:提案されたtrimdtrimmedに修正 (ご提案いただいた命名を誤植と判断)
  3. 全体的なコードリファクタリング: 対象ファイル:MemoForm.tsx, MemoList.tsx, useMemoManager.ts

    • TSDoc形式のコメントを導入し、コンポーネントや関数の役割、パラメータ、返り値の説明を追加
    • 不要なコメントを削除し、コードの自己説明性を向上
  4. useMemoManager.ts:

    • カスタムフック全体と各関数にTSDocコメントを追加
    • memosステートに簡単な説明を追加

特に注目していただきたい点:

全体的にご提案いただいた内容以上の修正を行っていますが、とくにTSDoc形式でコメントを残すアプローチは関数やpropsのデータフローを見失いやすい私にとっては大きな問題解決につながると感じて全体的なリファクタリングを行いました。

ご確認よろしくお願いいたします!

niaka3dayo commented 2 months ago

@kei615ykhm 見ました

kei615ykhm commented 1 month ago

@niaka3dayo ご提案やご指摘をもとにコードを修正しました。次のステップとして、zodライブラリを使ったバリデーションチェックを実装予定です。

ただし、現在のブランチでは多くの実装を行ってしまったため、一度developにマージし、新しいブランチで #16 のタスクを進めようと思います。

現時点でのコードにはまだ課題が残っていますが、作業を次のフェーズに進めるために、私の判断でマージを行います。zodによるバリデーションチェックと型安全なコードへのリファクタリングが完了次第、再度コードレビューをお願いしたいと考えています。

これまで多くのサポートをいただき、ありがとうございました。 引き続き、よろしくお願い致します。