| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 6 | 9 | 0% |
| Commands | 0 | 18 | 0 | 0% |
| Section tags | 2 | 3 | 4 | 22% |
What each file covers
Sections
0 shared · 6 only in A · 9 only in B- − AGENTS.md
- − テストガイドライン
- − 階層別の詳細指示(path-specificルール)
- − Docker統合テスト
- − Firebase Emulator
- − Codex 実行ポリシー
- + Project Structure
- + features/
- + tests/
- + app/
- + api/
- + types/, data/, public/
- + todoApp-submodule/
- + mocks/
- + docs/
Commands
0 shared · 18 only in A · 0 only in B- − npm run dev
- − npm run build
- − npm start
- − npm run lint
- − npm run prettier
- − npm run format
- − npm run test
- − npm run test:run
- − npm run test:coverage
- − npm run test:ui
- − npm run test:e2e
- − npm run test:e2e:ui
- − npm run docker:test
- − npm run docker:test:run
- − npm run docker:test:down
- − npm run emulator:start
- − npm run emulator:test
- − npm run msw:init
Section tags
2 shared · 3 only in A · 4 only in B- − build
- − lint-format
- − agent-behaviour
- + architecture
- + types
- + api
- + docs
- test
- testing-strategy
Line diff
sakatai11/todoApp-next · AGENTS.md
@@ −1 @@
1# AGENTS.md
2
3This file provides guidance to Codex (Codex.ai/code) when working with code in this repository.
4
5## 必ず日本語で回答してください
6
7## 横断的ルール(自動読み込み)
8
9以下の`.Codex/rules/`配下のルールが全て自動的に適用されます:
10
11- **コード品質**: @.Codex/rules/code-quality.md
12- **セキュリティ**: @.Codex/rules/security.md
13- **開発フロー**: @.Codex/rules/development.md
14
15## 階層別の詳細指示(path-specificルール)
16
17作業ディレクトリに応じて、以下のpath-specificルールが自動的に適用されます:
18
19| ルールファイル | 適用パス | 主な内容 |
20| ------------------------- | -------------------------------------------------- | ------------------------------------------------------------- |
21| @.Codex/rules/app.md | `app/**/*.{ts,tsx}` | App Router開発、API開発、認証ミドルウェア、エラーハンドリング |
22| @.Codex/rules/features.md | `features/**/*.{ts,tsx}` | Shared機能、Todo機能、状態管理、カスタムフック |
23| @.Codex/rules/testing.md | `tests/**/*.{ts,tsx}`, `**/*.{test,spec}.{ts,tsx}` | テスト戦略、環境設定、データ一貫性 |
24
25## プロジェクト概要
26
27これは、App Routerとフィーチャーベースアーキテクチャを使用したNext.js 16のtodoアプリケーションです。
28
29### 開発コマンド
30
31```bash
32# 開発
33npm run dev # Turbopackで開発サーバーを起動
34npm run build # クリーンビルド(.nextディレクトリ削除+ビルド)
35npm start # 本番サーバーを起動
36
37# コード品質
38npm run lint # ESLintを自動修正で実行
39npm run prettier # Prettierでコードをフォーマット
40npm run format # prettierとlintの両方を実行
41
42# テスト
43npm run test # テスト(watch mode)
44npm run test:run # テスト一回実行
45npm run test:coverage # カバレッジ付きテスト実行
46npm run test:ui # Vitest UIモードでテスト実行
47npm run test:e2e # Playwright E2Eテスト(MSW使用)
48npm run test:e2e:ui # Playwright UIモードでE2Eテスト
49
50# Docker統合テスト
51npm run docker:test # Firebase Emulator環境起動
52npm run docker:test:run # 統合テスト実行(Firebase Emulator + tsx)
53npm run docker:test:down # Docker環境停止
54
55# Firebase Emulator
56npm run emulator:start # 開発用Firebase Emulator起動
57npm run emulator:test # テスト用Firebase Emulator起動
58
59# モック
60npm run msw:init # Mock Service Workerを初期化
61```
62
63### 現在の技術スタック
64
65- **フレームワーク**: Next.js 16(App Router + Turbopack)
66- **認証**: NextAuth.js v5(beta)- カスタム認証プロバイダー
67- **バックエンド**: Firebase Admin SDK(Firestore + Auth)
68- **UI**: Material-UI(MUI)+ Tailwind CSS
69- **状態管理**: React Context + データ取得用SWR
70- **ドラッグ&ドロップ**: @dnd-kit/core(タスクの並び替え用)
71- **バリデーション**: Zodスキーマ
72- **テスト**: Vitest + React Testing Library + MSW
73- **モック**: MSW(Mock Service Worker)
74
75### アーキテクチャ概要
76
77- **ディレクトリ構造**: フィーチャーベース設計(`features/`内で機能自己完結)
78- **ルーティング**: Next.js App Router + ルートグループ`()`による整理
79- **API構造**: 管理者用`(admin)/`、一般用`(general)/`、認証用`auth/`に分離
80- **詳細構造**: [@todoApp-submodule/docs/PRODUCTS.md](../todoApp-submodule/docs/PRODUCTS.md#プロジェクト構造)参照
81
82### 重要なプロジェクト注意事項
83
84- **本番環境ではTypeScriptビルドエラーを無視(`ignoreBuildErrors: true`)**
85 - **理由**: 開発時にエディタのリアルタイム型チェックと`tsconfig.json`の厳密な設定で型安全性を確保済み。本番ビルド時の型チェックをスキップすることでビルド速度を向上させるため。
86- **開発時のAPIモック用MSWを使用**
87 - **理由**: ユニットテスト時にFirebase Emulatorを起動せずに高速なテスト実行を実現するため。
88- **キャッシュ制御ヘッダー付きのVercelデプロイ設定**
89 - **理由**: 静的アセットの効率的なキャッシュ配信と、動的コンテンツの適切な更新を両立するため。
90
91## 開発パターン
92
93- 新しい機能は`features/`内で自己完結させる(共通は`features/shared/`)
94- **Admin API**: `app/api/(admin)/`、**General API**: `app/api/(general)/`、**Auth API**: `app/api/auth/`
95- 新規APIでZodバリデーション推奨(既存APIは`trimAllSpaces` + 手動チェックの場合あり)
96- 詳細: [@.Codex/rules/app.md](rules/app.md) / [@.Codex/rules/features.md](rules/features.md)
97
98## テストガイドライン
99
100- **UTカバレッジ**: 100%達成済み(493テスト)
101- **統合テスト**: Docker + Firebase Emulator(ポート3002/4000/8080/9099)
102- **詳細ガイド**: [@.Codex/rules/testing.md](rules/testing.md)参照
103
104## Codex 実行ポリシー
105
106- `/codex:review` は常にバックグラウンドで実行する(`--background` フラグを自動付与)
107- `/codex:rescue` はタスクの複雑さに応じて自動判断する(フラグ省略で自動選択)
108
sakatai11/todoApp-next · .clinerules/project-structure.md
@@ +1 @@
1# Project Structure
2
3This section provides an overview of the folder structure used in this project, designed to be modular, scalable, and easy to maintain.
4
5We follow a feature-based and App Router-oriented architecture using Next.js 15. Each directory serves a clear purpose: separating concerns like UI, business logic, API routes, static content, and reusable types.
6
7## features/
8
9This directory organizes the app into logical features such as todo, sign, top, and admin. Each feature has subfolders for UI components, templates, and logic (e.g., hooks, contexts, DnD logic). This makes each feature self-contained and easy to scale.
10
11## tests/
12
13This directory contains a comprehensive testing environment using Vitest and modern testing frameworks. The test suite achieves 100% pass rate with high code coverage and follows feature-based organization that mirrors the main application structure. It includes unit tests with MSW (Mock Service Worker) for API mocking, integration tests using Docker and Firebase Emulator environment, and end-to-end tests with Playwright for complete user workflow validation.
14
15## app/
16
17This is where the actual routing and rendering logic resides, structured by Next.js App Router conventions. Grouped routes like (auth) or (admin) allow cleaner separation between different parts of the application without polluting the URL.
18
19## api/
20
21All server functions (APIs) live here, further divided into general, admin, and auth routes. This separation ensures better access control and clearer codebase navigation.
22
23## types/, data/, public/
24
25These directories store cross-cutting concerns such as reusable types, static data (e.g., form definitions or validation rules), and assets like images or CSS. They help in maintaining clarity across the project by centralizing shared resources.
26
27## todoApp-submodule/
28
29The todoApp-submodule is a support module designed to centralize mock API management and documentation, improving development efficiency and team collaboration. It is primarily composed of the following two directories:
30
31### mocks/
32
33This directory centralizes mock API definitions using MSW (Mock Service Worker). It includes environment-specific setup files like browser.ts and server.ts, mock data such as todos.ts and user.ts, and API handlers like auth.ts and lists.ts. This structure enables frontend development to proceed independently, even when the backend is not yet implemented.
34
35### docs/
36
37This directory organizes the project's specifications and technical documents in a structured manner. Documentation is categorized by API, mock, and feature scope, including files such as MOCK.md and api/auth.md. Closely integrated with todoApp-submodule, it serves as a centralized knowledge base that supports design consistency and effective team communication.
38
39```
40todoApp-next/
41├── app/ # App Router-based route definitions for Next.js
42│ ├── (admin)/ # Grouped routes related to admin
43│ │ └── admin/ # Admin page
44│ │ └── page.tsx
45│ ├── (auth)/ # Grouped routes related to authentication
46│ │ ├── _signIn/ # Logic for signing in
47│ │ │ └── signIn.ts
48│ │ ├── _signOut/ # Logic for signing out
49│ │ │ └── signOut.ts
50│ │ ├── _signUp/ # Logic for signing up
51│ │ │ └── signUp.ts
52│ │ ├── account/ # Account-related pages
53│ │ │ └── error/ # Account error page
54│ │ │ └── page.tsx
55│ │ ├── signin/ # Sign-in page
56│ │ │ └── page.tsx
57│ │ └── signup/ # Sign-up page
58│ │ └── page.tsx
59│ ├── (dashboards)/ # Grouped routes for dashboards
60│ │ ├── loading.tsx # Loading screen for dashboard
61│ │ └── todo/ # Task management page
62│ │ └── page.tsx
63│ ├── api/ # API routes
64│ │ ├── (admin)/ # Admin API
65│ │ │ └── users/ # Admin user API
66│ │ │ ├── [userId]/ # API for specific user
67│ │ │ │ ├── lists/ # List management API for a user
68│ │ │ │ │ └── route.ts
69│ │ │ │ └── todos/ # Todo management API for a user
70│ │ │ │ └── route.ts
71│ │ │ └── route.ts
72│ │ ├── (general)/ # General user API
73│ │ │ ├── dashboards/ # Content information API
74│ │ │ │ └── route.ts
75│ │ │ ├── lists/ # List management API
76│ │ │ │ └── route.ts
77│ │ │ ├── todos/ # Todo management API
78│ │ │ │ └── route.ts
79│ │ │ └── user/ # User info API
80│ │ │ └── route.ts
81│ │ ├── auth/ # Authentication-related APIs
82│ │ │ ├── [...nextauth]/ # NextAuth.js API handler
83│ │ │ ├── refresh/ # Token refresh API
84│ │ │ │ └── route.ts
85│ │ │ └── server-login/ # Server-side login API
86│ │ │ └── route.ts
87│ ├── libs/ # Shared libraries
88│ ├── providers/ # React providers
89│ │ ├── MSWProvider.tsx # Mock Service Worker provider
90│ │ └── SessionProvider.tsx # Session management provider
91│ ├── static/ # Static CSS files
92│ │ ├── input.css
93│ │ └── output.css
94│ └── utils/ # Utility functions
95├── features/ # Feature-specific components and logic
96│ ├── admin/ # Admin-related features
97│ │ ├── components/ # Admin UI components
98│ │ └── templates/ # Admin UI templates
99│ ├── libs/ # Shared libraries
100│ ├── shared/ # Shared features across the app
101│ │ ├── components/ # Common UI components
102│ │ │ └── elements/ # Generic UI elements
103│ │ └── templates/ # Shared templates
104│ ├── sign/ # Sign-in/Sign-up features
105│ │ ├── components/ # Auth-related UI components
106│ │ │ └── elements/ # Auth-specific UI elements
107│ │ └── templates/ # Auth templates
108│ ├── todo/ # Todo feature
109│ │ ├── components/ # UI components for todos
110│ │ │ └── elements/ # UI elements for todos
111│ │ ├── contexts/ # Context for todo state
112│ │ ├── dnd/ # Drag-and-drop logic
113│ │ ├── hooks/ # Custom hooks for todo
114│ │ └── templates/ # Todo page templates
115│ ├── top/ # Top page feature
116│ │ ├── components/ # Top page UI components
117│ │ └── templates/ # Top page templates
118│ └── utils/ # Shared utilities across features
119├── data/ # Static data and link definitions
120│ ├── form.ts # Form definitions
121│ ├── validatedData.ts # Validated data
122│ └── links/ # External link definitions
123├── public/ # Static assets such as images
124├── scripts/ # Project utility scripts
125│ ├── init-firebase-data.ts # Firebase Emulator data initialization (tsx execution)
126│ ├── cleanup-db.ts # Test database cleanup
127│ └── helpers/ # Helper functions for scripts
128│ └── testDbDataFetcher.ts # Test data fetching utilities
129├── tests/ # Comprehensive testing suite
130│ ├── setup.ts # Global unit test environment setup
131│ ├── setup-integration.ts # Integration test environment setup
132│ ├── test-utils.tsx # Custom render functions and test utilities
133│ ├── features/ # Feature-based test structure
134│ │ ├── utils/ # Utility function tests (4 files)
135│ │ ├── shared/ # Shared component tests
136│ │ │ └── components/ # Navigation and common component tests
137│ │ ├── todo/ # Todo feature comprehensive testing
138│ │ │ ├── api.integration.test.ts # Todo API integration tests
139│ │ │ ├── contexts/ # TodoContext tests
140│ │ │ ├── components/ # Todo component tests (13 files)
141│ │ │ │ ├── elements/ # UI element tests (Status, TodoList, Add, Modal, Error)
142│ │ │ │ ├── PushContainer/ # Container component tests
143│ │ │ │ └── MainContainer/ # Main container tests
144│ │ │ ├── hooks/ # Todo custom hooks tests (4 files)
145│ │ │ └── templates/ # TodoWrapper template tests
146│ │ └── libs/ # Common library tests
147│ ├── e2e/ # End-to-end testing with Playwright
148│ │ ├── global-setup.ts # E2E test global setup
149│ │ ├── global-teardown.ts # E2E test global cleanup
150│ │ └── todo-flow.spec.ts # Comprehensive todo workflow E2E tests
151│ └── fixtures/ # Test fixtures for Firebase Emulator
152│ ├── auth_export/ # Authentication data export
153│ └── firestore_export/ # Firestore data export
154├── todoApp-submodule/
155│ ├── mocks/ # Form definitions
156│ │ ├── browser.ts # MSW browser configuration
157│ │ ├── server.ts # MSW Node.js configuration
158│ │ ├── initMocks.ts # Mock initialization
159│ │ ├── data/ # Mock data definitions
160│ │ │ ├── index.ts # Data exports
161│ │ │ ├── lists.ts # List mock data
162│ │ │ ├── todos.ts # Todo mock data
163│ │ │ └── user.ts # User mock data
164│ │ └── handlers/ # API handler definitions
165│ │ ├── index.ts # Handler exports
166│ │ ├── auth.ts # Authentication API handlers
167│ │ ├── dashboard.ts # Dashboard API handlers
168│ │ ├── lists.ts # List API handlers
169│ │ └── todos.ts # Todo API handlers
170│ └── docs/ # It contains project-wide documentation such as API specifications, feature overviews, and mock API details.
171│
172└── types/ # TypeScript type definitions
173 ├── common.ts # Common types
174 ├── components.ts # Component-related types
175 ├── lists.ts # List-related types
176 ├── next-auth.d.ts # Types for NextAuth.js
177 ├── todos.ts # Todo-related types
178 ├── auth/ # Auth-specific types
179 ├── form/ # Form-specific types
180 └── markdown/ # Markdown-related types
181```
182
@@ −1 +1 @@
1−# AGENTS.md
1+# Project Structure
22
3−This file provides guidance to Codex (Codex.ai/code) when working with code in this repository.
3+This section provides an overview of the folder structure used in this project, designed to be modular, scalable, and easy to maintain.
44
5−## 必ず日本語で回答してください
5+We follow a feature-based and App Router-oriented architecture using Next.js 15. Each directory serves a clear purpose: separating concerns like UI, business logic, API routes, static content, and reusable types.
66
7−## 横断的ルール(自動読み込み)
7+## features/
88
9−以下の`.Codex/rules/`配下のルールが全て自動的に適用されます:
9+This directory organizes the app into logical features such as todo, sign, top, and admin. Each feature has subfolders for UI components, templates, and logic (e.g., hooks, contexts, DnD logic). This makes each feature self-contained and easy to scale.
1010
11−- **コード品質**: @.Codex/rules/code-quality.md
12−- **セキュリティ**: @.Codex/rules/security.md
13−- **開発フロー**: @.Codex/rules/development.md
11+## tests/
1412
15−## 階層別の詳細指示(path-specificルール)
13+This directory contains a comprehensive testing environment using Vitest and modern testing frameworks. The test suite achieves 100% pass rate with high code coverage and follows feature-based organization that mirrors the main application structure. It includes unit tests with MSW (Mock Service Worker) for API mocking, integration tests using Docker and Firebase Emulator environment, and end-to-end tests with Playwright for complete user workflow validation.
1614
17−作業ディレクトリに応じて、以下のpath-specificルールが自動的に適用されます:
15+## app/
1816
19−| ルールファイル | 適用パス | 主な内容 |
20−| ------------------------- | -------------------------------------------------- | ------------------------------------------------------------- |
21−| @.Codex/rules/app.md | `app/**/*.{ts,tsx}` | App Router開発、API開発、認証ミドルウェア、エラーハンドリング |
22−| @.Codex/rules/features.md | `features/**/*.{ts,tsx}` | Shared機能、Todo機能、状態管理、カスタムフック |
23−| @.Codex/rules/testing.md | `tests/**/*.{ts,tsx}`, `**/*.{test,spec}.{ts,tsx}` | テスト戦略、環境設定、データ一貫性 |
17+This is where the actual routing and rendering logic resides, structured by Next.js App Router conventions. Grouped routes like (auth) or (admin) allow cleaner separation between different parts of the application without polluting the URL.
2418
25−## プロジェクト概要
19+## api/
2620
27−これは、App Routerとフィーチャーベースアーキテクチャを使用したNext.js 16のtodoアプリケーションです。
21+All server functions (APIs) live here, further divided into general, admin, and auth routes. This separation ensures better access control and clearer codebase navigation.
2822
29−### 開発コマンド
23+## types/, data/, public/
3024
31−```bash
32−# 開発
33−npm run dev # Turbopackで開発サーバーを起動
34−npm run build # クリーンビルド(.nextディレクトリ削除+ビルド)
35−npm start # 本番サーバーを起動
25+These directories store cross-cutting concerns such as reusable types, static data (e.g., form definitions or validation rules), and assets like images or CSS. They help in maintaining clarity across the project by centralizing shared resources.
3626
37−# コード品質
38−npm run lint # ESLintを自動修正で実行
39−npm run prettier # Prettierでコードをフォーマット
40−npm run format # prettierとlintの両方を実行
27+## todoApp-submodule/
4128
42−# テスト
43−npm run test # テスト(watch mode)
44−npm run test:run # テスト一回実行
45−npm run test:coverage # カバレッジ付きテスト実行
46−npm run test:ui # Vitest UIモードでテスト実行
47−npm run test:e2e # Playwright E2Eテスト(MSW使用)
48−npm run test:e2e:ui # Playwright UIモードでE2Eテスト
29+The todoApp-submodule is a support module designed to centralize mock API management and documentation, improving development efficiency and team collaboration. It is primarily composed of the following two directories:
4930
50−# Docker統合テスト
51−npm run docker:test # Firebase Emulator環境起動
52−npm run docker:test:run # 統合テスト実行(Firebase Emulator + tsx)
53−npm run docker:test:down # Docker環境停止
31+### mocks/
5432
55−# Firebase Emulator
56−npm run emulator:start # 開発用Firebase Emulator起動
57−npm run emulator:test # テスト用Firebase Emulator起動
33+This directory centralizes mock API definitions using MSW (Mock Service Worker). It includes environment-specific setup files like browser.ts and server.ts, mock data such as todos.ts and user.ts, and API handlers like auth.ts and lists.ts. This structure enables frontend development to proceed independently, even when the backend is not yet implemented.
5834
59−# モック
60−npm run msw:init # Mock Service Workerを初期化
61−```
35+### docs/
6236
63−### 現在の技術スタック
37+This directory organizes the project's specifications and technical documents in a structured manner. Documentation is categorized by API, mock, and feature scope, including files such as MOCK.md and api/auth.md. Closely integrated with todoApp-submodule, it serves as a centralized knowledge base that supports design consistency and effective team communication.
6438
65−- **フレームワーク**: Next.js 16(App Router + Turbopack)
66−- **認証**: NextAuth.js v5(beta)- カスタム認証プロバイダー
67−- **バックエンド**: Firebase Admin SDK(Firestore + Auth)
68−- **UI**: Material-UI(MUI)+ Tailwind CSS
69−- **状態管理**: React Context + データ取得用SWR
70−- **ドラッグ&ドロップ**: @dnd-kit/core(タスクの並び替え用)
71−- **バリデーション**: Zodスキーマ
72−- **テスト**: Vitest + React Testing Library + MSW
73−- **モック**: MSW(Mock Service Worker)
74−
75−### アーキテクチャ概要
76−
77−- **ディレクトリ構造**: フィーチャーベース設計(`features/`内で機能自己完結)
78−- **ルーティング**: Next.js App Router + ルートグループ`()`による整理
79−- **API構造**: 管理者用`(admin)/`、一般用`(general)/`、認証用`auth/`に分離
80−- **詳細構造**: [@todoApp-submodule/docs/PRODUCTS.md](../todoApp-submodule/docs/PRODUCTS.md#プロジェクト構造)参照
81−
82−### 重要なプロジェクト注意事項
83−
84−- **本番環境ではTypeScriptビルドエラーを無視(`ignoreBuildErrors: true`)**
85− - **理由**: 開発時にエディタのリアルタイム型チェックと`tsconfig.json`の厳密な設定で型安全性を確保済み。本番ビルド時の型チェックをスキップすることでビルド速度を向上させるため。
86−- **開発時のAPIモック用MSWを使用**
87− - **理由**: ユニットテスト時にFirebase Emulatorを起動せずに高速なテスト実行を実現するため。
88−- **キャッシュ制御ヘッダー付きのVercelデプロイ設定**
89− - **理由**: 静的アセットの効率的なキャッシュ配信と、動的コンテンツの適切な更新を両立するため。
90−
91−## 開発パターン
92−
93−- 新しい機能は`features/`内で自己完結させる(共通は`features/shared/`)
94−- **Admin API**: `app/api/(admin)/`、**General API**: `app/api/(general)/`、**Auth API**: `app/api/auth/`
95−- 新規APIでZodバリデーション推奨(既存APIは`trimAllSpaces` + 手動チェックの場合あり)
96−- 詳細: [@.Codex/rules/app.md](rules/app.md) / [@.Codex/rules/features.md](rules/features.md)
97−
98−## テストガイドライン
99−
100−- **UTカバレッジ**: 100%達成済み(493テスト)
101−- **統合テスト**: Docker + Firebase Emulator(ポート3002/4000/8080/9099)
102−- **詳細ガイド**: [@.Codex/rules/testing.md](rules/testing.md)参照
103−
104−## Codex 実行ポリシー
105−
106−- `/codex:review` は常にバックグラウンドで実行する(`--background` フラグを自動付与)
107−- `/codex:rescue` はタスクの複雑さに応じて自動判断する(フラグ省略で自動選択)
39+```
40+todoApp-next/
41+├── app/ # App Router-based route definitions for Next.js
42+│ ├── (admin)/ # Grouped routes related to admin
43+│ │ └── admin/ # Admin page
44+│ │ └── page.tsx
45+│ ├── (auth)/ # Grouped routes related to authentication
46+│ │ ├── _signIn/ # Logic for signing in
47+│ │ │ └── signIn.ts
48+│ │ ├── _signOut/ # Logic for signing out
49+│ │ │ └── signOut.ts
50+│ │ ├── _signUp/ # Logic for signing up
51+│ │ │ └── signUp.ts
52+│ │ ├── account/ # Account-related pages
53+│ │ │ └── error/ # Account error page
54+│ │ │ └── page.tsx
55+│ │ ├── signin/ # Sign-in page
56+│ │ │ └── page.tsx
57+│ │ └── signup/ # Sign-up page
58+│ │ └── page.tsx
59+│ ├── (dashboards)/ # Grouped routes for dashboards
60+│ │ ├── loading.tsx # Loading screen for dashboard
61+│ │ └── todo/ # Task management page
62+│ │ └── page.tsx
63+│ ├── api/ # API routes
64+│ │ ├── (admin)/ # Admin API
65+│ │ │ └── users/ # Admin user API
66+│ │ │ ├── [userId]/ # API for specific user
67+│ │ │ │ ├── lists/ # List management API for a user
68+│ │ │ │ │ └── route.ts
69+│ │ │ │ └── todos/ # Todo management API for a user
70+│ │ │ │ └── route.ts
71+│ │ │ └── route.ts
72+│ │ ├── (general)/ # General user API
73+│ │ │ ├── dashboards/ # Content information API
74+│ │ │ │ └── route.ts
75+│ │ │ ├── lists/ # List management API
76+│ │ │ │ └── route.ts
77+│ │ │ ├── todos/ # Todo management API
78+│ │ │ │ └── route.ts
79+│ │ │ └── user/ # User info API
80+│ │ │ └── route.ts
81+│ │ ├── auth/ # Authentication-related APIs
82+│ │ │ ├── [...nextauth]/ # NextAuth.js API handler
83+│ │ │ ├── refresh/ # Token refresh API
84+│ │ │ │ └── route.ts
85+│ │ │ └── server-login/ # Server-side login API
86+│ │ │ └── route.ts
87+│ ├── libs/ # Shared libraries
88+│ ├── providers/ # React providers
89+│ │ ├── MSWProvider.tsx # Mock Service Worker provider
90+│ │ └── SessionProvider.tsx # Session management provider
91+│ ├── static/ # Static CSS files
92+│ │ ├── input.css
93+│ │ └── output.css
94+│ └── utils/ # Utility functions
95+├── features/ # Feature-specific components and logic
96+│ ├── admin/ # Admin-related features
97+│ │ ├── components/ # Admin UI components
98+│ │ └── templates/ # Admin UI templates
99+│ ├── libs/ # Shared libraries
100+│ ├── shared/ # Shared features across the app
101+│ │ ├── components/ # Common UI components
102+│ │ │ └── elements/ # Generic UI elements
103+│ │ └── templates/ # Shared templates
104+│ ├── sign/ # Sign-in/Sign-up features
105+│ │ ├── components/ # Auth-related UI components
106+│ │ │ └── elements/ # Auth-specific UI elements
107+│ │ └── templates/ # Auth templates
108+│ ├── todo/ # Todo feature
109+│ │ ├── components/ # UI components for todos
110+│ │ │ └── elements/ # UI elements for todos
111+│ │ ├── contexts/ # Context for todo state
112+│ │ ├── dnd/ # Drag-and-drop logic
113+│ │ ├── hooks/ # Custom hooks for todo
114+│ │ └── templates/ # Todo page templates
115+│ ├── top/ # Top page feature
116+│ │ ├── components/ # Top page UI components
117+│ │ └── templates/ # Top page templates
118+│ └── utils/ # Shared utilities across features
119+├── data/ # Static data and link definitions
120+│ ├── form.ts # Form definitions
121+│ ├── validatedData.ts # Validated data
122+│ └── links/ # External link definitions
123+├── public/ # Static assets such as images
124+├── scripts/ # Project utility scripts
125+│ ├── init-firebase-data.ts # Firebase Emulator data initialization (tsx execution)
126+│ ├── cleanup-db.ts # Test database cleanup
127+│ └── helpers/ # Helper functions for scripts
128+│ └── testDbDataFetcher.ts # Test data fetching utilities
129+├── tests/ # Comprehensive testing suite
130+│ ├── setup.ts # Global unit test environment setup
131+│ ├── setup-integration.ts # Integration test environment setup
132+│ ├── test-utils.tsx # Custom render functions and test utilities
133+│ ├── features/ # Feature-based test structure
134+│ │ ├── utils/ # Utility function tests (4 files)
135+│ │ ├── shared/ # Shared component tests
136+│ │ │ └── components/ # Navigation and common component tests
137+│ │ ├── todo/ # Todo feature comprehensive testing
138+│ │ │ ├── api.integration.test.ts # Todo API integration tests
139+│ │ │ ├── contexts/ # TodoContext tests
140+│ │ │ ├── components/ # Todo component tests (13 files)
141+│ │ │ │ ├── elements/ # UI element tests (Status, TodoList, Add, Modal, Error)
142+│ │ │ │ ├── PushContainer/ # Container component tests
143+│ │ │ │ └── MainContainer/ # Main container tests
144+│ │ │ ├── hooks/ # Todo custom hooks tests (4 files)
145+│ │ │ └── templates/ # TodoWrapper template tests
146+│ │ └── libs/ # Common library tests
147+│ ├── e2e/ # End-to-end testing with Playwright
148+│ │ ├── global-setup.ts # E2E test global setup
149+│ │ ├── global-teardown.ts # E2E test global cleanup
150+│ │ └── todo-flow.spec.ts # Comprehensive todo workflow E2E tests
151+│ └── fixtures/ # Test fixtures for Firebase Emulator
152+│ ├── auth_export/ # Authentication data export
153+│ └── firestore_export/ # Firestore data export
154+├── todoApp-submodule/
155+│ ├── mocks/ # Form definitions
156+│ │ ├── browser.ts # MSW browser configuration
157+│ │ ├── server.ts # MSW Node.js configuration
158+│ │ ├── initMocks.ts # Mock initialization
159+│ │ ├── data/ # Mock data definitions
160+│ │ │ ├── index.ts # Data exports
161+│ │ │ ├── lists.ts # List mock data
162+│ │ │ ├── todos.ts # Todo mock data
163+│ │ │ └── user.ts # User mock data
164+│ │ └── handlers/ # API handler definitions
165+│ │ ├── index.ts # Handler exports
166+│ │ ├── auth.ts # Authentication API handlers
167+│ │ ├── dashboard.ts # Dashboard API handlers
168+│ │ ├── lists.ts # List API handlers
169+│ │ └── todos.ts # Todo API handlers
170+│ └── docs/ # It contains project-wide documentation such as API specifications, feature overviews, and mock API details.
171+│
172+└── types/ # TypeScript type definitions
173+ ├── common.ts # Common types
174+ ├── components.ts # Component-related types
175+ ├── lists.ts # List-related types
176+ ├── next-auth.d.ts # Types for NextAuth.js
177+ ├── todos.ts # Todo-related types
178+ ├── auth/ # Auth-specific types
179+ ├── form/ # Form-specific types
180+ └── markdown/ # Markdown-related types
181+```
108182
