ChatGPT に作ってもらいました.
LICENSE
:プロジェクトのライセンス情報が含まれるファイルです.README.md
:プロジェクトの概要やドキュメンテーションが含まれるファイルです.next.config.js
:Next.js の環境設定ファイルです.package-lock.json
およびpackage.json
:プロジェクトの依存関係とパッケージ情報が含まれるファイルです.prisma/
:Prisma ORM の関連ファイルが格納されるディレクトリです.schema.prisma
:Prisma のスキーマファイルです.migrations/
:Prisma のマイグレーションファイルが格納されるディレクトリです.
public/
:公開される静的ファイルが格納されるディレクトリです.manifest.json
:PWA(プログレッシブウェブアプリ)のマニフェストファイルです.- 残りはアイコン系です.
next build
時に生成される Service Worker 関連のファイルが置かれます(.gitignore
済み)
src/
:ソースコードが格納されるディレクトリです.components/
:コンポーネントが格納されるディレクトリです.- 複数画面で共通なコンポーネントだけ置いてあります.
- それ以外は各画面のファイルに置いてあります.
hooks/
:フロントエンド用カスタムフックが格納されるディレクトリです.Alert.tsx
:左下に表示されるアラートを管理するフックです.Context を利用しています.DBState.tsx
:IndexedDB の状態を管理するフックです.Context を利用しています.idb.ts
:IndexedDB のラッパー関数が格納されるファイルです.SWR で包んでいます.swr.ts
:REST API のラッパー関数が格納されるファイルです.SWR で包んでいます.UserState.tsx
:インターネットの接続状態とサインイン状態を管理するフックです.Context を利用しています.
lib/
:バックエンド用の共通コードが格納されるディレクトリです.auth.ts
:認証関係の複数の関数を定義しています.env.ts
:環境変数をスキーマにより検証し,型付きでエクスポートしています.handler.ts
:Route Handler に REST API の型をつける簡単なラッパーです.prisma.ts
:Prisma のインスタンスを置いています.
app/
:ページコンポーネントが格納されるディレクトリです.api/
:REST API および認証系のエンドポイントが格納されるディレクトリです.
styles/
:スタイル関連のファイルが格納されるディレクトリです.types/
:型定義ファイルが格納されるディレクトリです.REST API の型定義を含みます.
tsconfig.json
:TypeScript のビルド設定と関連するビルド情報が含まれるファイルです.