@adlas/create-app 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +476 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +39 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/figma.d.ts +16 -0
- package/dist/commands/figma.d.ts.map +1 -0
- package/dist/commands/figma.js +172 -0
- package/dist/commands/figma.js.map +1 -0
- package/dist/commands/index.d.ts +5 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +5 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/init.d.ts +8 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +1471 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/swagger.d.ts +16 -0
- package/dist/commands/swagger.d.ts.map +1 -0
- package/dist/commands/swagger.js +404 -0
- package/dist/commands/swagger.js.map +1 -0
- package/dist/commands/update.d.ts +15 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +93 -0
- package/dist/commands/update.js.map +1 -0
- package/package.json +63 -0
- package/templates/.vscode/extensions.json +9 -0
- package/templates/.vscode/launch.json +26 -0
- package/templates/.vscode/settings.json +67 -0
- package/templates/.vscode/tasks.json +21 -0
- package/templates/boilerplate/config/fonts.ts +10 -0
- package/templates/boilerplate/config/navigationUrls.ts +47 -0
- package/templates/boilerplate/config/site.ts +96 -0
- package/templates/boilerplate/libs/I18n.ts +15 -0
- package/templates/boilerplate/libs/I18nNavigation.ts +5 -0
- package/templates/boilerplate/libs/I18nRouting.ts +9 -0
- package/templates/boilerplate/libs/env.ts +21 -0
- package/templates/boilerplate/libs/react-query/ReactQueryProvider.tsx +21 -0
- package/templates/boilerplate/libs/react-query/index.ts +2 -0
- package/templates/boilerplate/libs/react-query/queryClient.ts +62 -0
- package/templates/boilerplate/libs/react-query/queryKeys.ts +5 -0
- package/templates/boilerplate/public/images/index.ts +1 -0
- package/templates/boilerplate/reset.d.ts +2 -0
- package/templates/boilerplate/styles/globals.css +308 -0
- package/templates/boilerplate/types/i18n.ts +10 -0
- package/templates/boilerplate/types/locale.ts +8 -0
- package/templates/boilerplate/utils/file/fileConfig.ts +123 -0
- package/templates/boilerplate/utils/file/fileValidation.ts +78 -0
- package/templates/boilerplate/utils/file/imageCompression.ts +182 -0
- package/templates/boilerplate/utils/file/index.ts +3 -0
- package/templates/boilerplate/utils/helpers.ts +55 -0
- package/templates/boilerplate/validations/auth.validation.ts +92 -0
- package/templates/boilerplate/validations/commonValidations.ts +258 -0
- package/templates/boilerplate/validations/zodErrorMap.ts +101 -0
- package/templates/configs/.env.example +8 -0
- package/templates/configs/.prettierignore +23 -0
- package/templates/configs/.prettierrc.cjs +26 -0
- package/templates/configs/.prettierrc.icons.cjs +11 -0
- package/templates/configs/Dockerfile +6 -0
- package/templates/configs/commitlint.config.ts +8 -0
- package/templates/configs/eslint.config.mjs +119 -0
- package/templates/configs/knip.config.ts +32 -0
- package/templates/configs/lefthook.yml +42 -0
- package/templates/configs/lint-staged.config.js +8 -0
- package/templates/configs/next.config.template.ts +77 -0
- package/templates/configs/next.config.ts +43 -0
- package/templates/configs/package.json +75 -0
- package/templates/configs/postcss.config.mjs +15 -0
- package/templates/configs/svgr.config.mjs +129 -0
- package/templates/configs/tsconfig.json +75 -0
- package/templates/docs/AI_QUICK_REFERENCE.md +379 -0
- package/templates/docs/ARCHITECTURE_PATTERNS.md +927 -0
- package/templates/docs/DOCUMENTATION_INDEX.md +411 -0
- package/templates/docs/FIGMA_TO_CODE_GUIDE.md +768 -0
- package/templates/docs/IMPLEMENTATION_GUIDE.md +892 -0
- package/templates/docs/PROJECT_OVERVIEW.md +302 -0
- package/templates/docs/REFACTOR_PROGRESS.md +1113 -0
- package/templates/docs/SHADCN_TO_HEROUI_MIGRATION.md +1375 -0
- package/templates/docs/UI_COMPONENTS_GUIDE.md +893 -0
|
@@ -0,0 +1,1113 @@
|
|
|
1
|
+
# Refactoring Progress Tracker
|
|
2
|
+
|
|
3
|
+
**Project:** Legacy E-commerce Platform
|
|
4
|
+
**Start Date:** _[Fill when starting]_
|
|
5
|
+
**Strategy:** Refactor to Berndorf architecture patterns + shadcn → HeroUI migration
|
|
6
|
+
**Documentation:** See all files in `docs/` folder
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 📊 Overall Progress
|
|
11
|
+
|
|
12
|
+
- **Total Pages/Features:** 14
|
|
13
|
+
- **Completed:** 0/14 (0%)
|
|
14
|
+
- **In Progress:** 0
|
|
15
|
+
- **Remaining:** 14
|
|
16
|
+
- **Estimated Total Time:** 75-106 hours (including UI migration)
|
|
17
|
+
- **Actual Time Spent:** 0 hours
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## ⚠️ IMPORTANT: Migration Context
|
|
22
|
+
|
|
23
|
+
This refactoring involves **TWO major changes**:
|
|
24
|
+
|
|
25
|
+
1. **Architecture Refactor:** From spaghetti code to clean service module pattern
|
|
26
|
+
2. **UI Library Migration:** From shadcn/ui to HeroUI
|
|
27
|
+
|
|
28
|
+
Each page requires:
|
|
29
|
+
- Restructuring to follow `ARCHITECTURE_PATTERNS.md`
|
|
30
|
+
- Converting all shadcn components to HeroUI (see `SHADCN_TO_HEROUI_MIGRATION.md`)
|
|
31
|
+
- Fixing existing bugs
|
|
32
|
+
- Adding proper TypeScript types
|
|
33
|
+
- Implementing proper state management
|
|
34
|
+
|
|
35
|
+
**Read these docs first:**
|
|
36
|
+
- `ARCHITECTURE_PATTERNS.md` - Core patterns and structure
|
|
37
|
+
- `SHADCN_TO_HEROUI_MIGRATION.md` - Component conversion guide
|
|
38
|
+
- `UI_COMPONENTS_GUIDE.md` - HeroUI components reference
|
|
39
|
+
- `AI_QUICK_REFERENCE.md` - Critical DO/DON'T rules
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 🔴 Week 1-2: Core Features (Priority: CRITICAL)
|
|
44
|
+
|
|
45
|
+
**Focus:** Get the most important user-facing features working properly
|
|
46
|
+
|
|
47
|
+
### ✅ Completed Pages
|
|
48
|
+
<!-- Move completed items here -->
|
|
49
|
+
|
|
50
|
+
### 🚧 Currently In Progress
|
|
51
|
+
<!-- Only ONE item should be here at a time -->
|
|
52
|
+
|
|
53
|
+
### 📋 Pending
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
#### 1. Authentication Pages
|
|
58
|
+
- **Priority:** 🔴 CRITICAL
|
|
59
|
+
- **Complexity:** 🔴 High
|
|
60
|
+
- **Estimated Time:** 8-12 hours
|
|
61
|
+
- **Strategy:** Extract & Rebuild
|
|
62
|
+
- **Status:** ⏳ Not Started
|
|
63
|
+
|
|
64
|
+
**Pages Included:**
|
|
65
|
+
- Login page
|
|
66
|
+
- Register page
|
|
67
|
+
- Forgot password page
|
|
68
|
+
- Reset password page (if separate)
|
|
69
|
+
|
|
70
|
+
**Original Files to Refactor:**
|
|
71
|
+
```
|
|
72
|
+
[List your current auth files, e.g.]
|
|
73
|
+
- src/pages/login.js
|
|
74
|
+
- src/pages/register.js
|
|
75
|
+
- src/pages/forgot-password.js
|
|
76
|
+
- src/components/AuthForm.js (if exists)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Target Structure:**
|
|
80
|
+
```
|
|
81
|
+
src/
|
|
82
|
+
├── services/auth/
|
|
83
|
+
│ ├── auth.types.ts # User, LoginCredentials, RegisterData types
|
|
84
|
+
│ ├── auth.queries.ts # Login, register, logout mutations
|
|
85
|
+
│ ├── auth.store.ts # Zustand store for user state
|
|
86
|
+
│ └── auth.schemas.ts # Zod validation schemas
|
|
87
|
+
├── app/[locale]/(auth)/
|
|
88
|
+
│ ├── login/page.tsx
|
|
89
|
+
│ ├── register/page.tsx
|
|
90
|
+
│ └── forgot-password/page.tsx
|
|
91
|
+
└── components/features/auth/
|
|
92
|
+
├── LoginForm.tsx
|
|
93
|
+
├── RegisterForm.tsx
|
|
94
|
+
└── ForgotPasswordForm.tsx
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Key Requirements:**
|
|
98
|
+
- [ ] Convert all shadcn Form components to HeroUI Input, Button, etc.
|
|
99
|
+
- [ ] Implement Zod schemas for validation (email, password strength)
|
|
100
|
+
- [ ] Use React Query for auth mutations
|
|
101
|
+
- [ ] Create Zustand store for user state
|
|
102
|
+
- [ ] Add proper error handling and loading states
|
|
103
|
+
- [ ] Implement token management (localStorage/cookies)
|
|
104
|
+
- [ ] Add password show/hide toggle
|
|
105
|
+
- [ ] Email validation feedback
|
|
106
|
+
|
|
107
|
+
**shadcn → HeroUI Components to Convert:**
|
|
108
|
+
- `Input` → HeroUI `Input` with `variant="bordered"`
|
|
109
|
+
- `Button` → HeroUI `Button` with `color="primary"`
|
|
110
|
+
- `Form` → Custom form with HeroUI components
|
|
111
|
+
- `Label` → HeroUI `Input` with `label` prop
|
|
112
|
+
- `Alert` → HeroUI custom alert or toast
|
|
113
|
+
|
|
114
|
+
**Bugs to Fix:**
|
|
115
|
+
- [ ] _[List known bugs]_
|
|
116
|
+
- [ ] _[Add more as you discover]_
|
|
117
|
+
|
|
118
|
+
**Session Start Prompt:**
|
|
119
|
+
```markdown
|
|
120
|
+
I'm refactoring the authentication pages from a legacy project.
|
|
121
|
+
|
|
122
|
+
Context:
|
|
123
|
+
- Read docs/ARCHITECTURE_PATTERNS.md for structure patterns
|
|
124
|
+
- Read docs/SHADCN_TO_HEROUI_MIGRATION.md for component conversion
|
|
125
|
+
- Original files: [paste file paths]
|
|
126
|
+
|
|
127
|
+
Current issues:
|
|
128
|
+
- Spaghetti code with no clear structure
|
|
129
|
+
- Using shadcn/ui components (need to convert to HeroUI)
|
|
130
|
+
- Poor validation
|
|
131
|
+
- [list other bugs]
|
|
132
|
+
|
|
133
|
+
Please:
|
|
134
|
+
1. Read the documentation files mentioned above
|
|
135
|
+
2. Analyze my current auth implementation
|
|
136
|
+
3. Create proper service module structure
|
|
137
|
+
4. Convert all shadcn components to HeroUI
|
|
138
|
+
5. Implement with Zod validation and React Query
|
|
139
|
+
6. Follow the patterns exactly as shown in ARCHITECTURE_PATTERNS.md
|
|
140
|
+
|
|
141
|
+
Start with creating the service module structure.
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Completion Checklist:**
|
|
145
|
+
- [ ] Service module created with all files
|
|
146
|
+
- [ ] Zod schemas validate all inputs
|
|
147
|
+
- [ ] React Query mutations implemented
|
|
148
|
+
- [ ] Zustand store manages user state
|
|
149
|
+
- [ ] All shadcn components converted to HeroUI
|
|
150
|
+
- [ ] Loading states on all buttons
|
|
151
|
+
- [ ] Error messages display properly
|
|
152
|
+
- [ ] Form validation works correctly
|
|
153
|
+
- [ ] Successfully tested login flow
|
|
154
|
+
- [ ] Successfully tested register flow
|
|
155
|
+
- [ ] Successfully tested forgot password flow
|
|
156
|
+
- [ ] TypeScript types are correct
|
|
157
|
+
- [ ] Code follows ARCHITECTURE_PATTERNS.md
|
|
158
|
+
|
|
159
|
+
**Actual Time Spent:** _[Fill after completion]_
|
|
160
|
+
**Date Completed:** _[Fill after completion]_
|
|
161
|
+
**Notes:** _[Any lessons learned or issues encountered]_
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
#### 2. Products List Page
|
|
166
|
+
- **Priority:** 🔴 CRITICAL
|
|
167
|
+
- **Complexity:** 🟡 Medium-High
|
|
168
|
+
- **Estimated Time:** 6-9 hours
|
|
169
|
+
- **Strategy:** Extract & Rebuild
|
|
170
|
+
- **Status:** ⏳ Not Started
|
|
171
|
+
|
|
172
|
+
**Pages Included:**
|
|
173
|
+
- Product listing page
|
|
174
|
+
- Filters sidebar/dropdown
|
|
175
|
+
- Search functionality
|
|
176
|
+
- Pagination or infinite scroll
|
|
177
|
+
|
|
178
|
+
**Original Files to Refactor:**
|
|
179
|
+
```
|
|
180
|
+
[List your current files, e.g.]
|
|
181
|
+
- src/pages/products.js
|
|
182
|
+
- src/components/ProductCard.js
|
|
183
|
+
- src/components/ProductFilters.js
|
|
184
|
+
- src/components/ProductSearch.js
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**Target Structure:**
|
|
188
|
+
```
|
|
189
|
+
src/
|
|
190
|
+
├── services/product/
|
|
191
|
+
│ ├── product.types.ts # Product, ProductFilters types
|
|
192
|
+
│ ├── product.queries.ts # useProducts, useProductFilters
|
|
193
|
+
│ └── product.store.ts # Optional: for filter state
|
|
194
|
+
├── app/[locale]/(website)/products/
|
|
195
|
+
│ └── page.tsx # Main products page
|
|
196
|
+
└── components/features/product/
|
|
197
|
+
├── ProductCard.tsx
|
|
198
|
+
├── ProductFilters.tsx
|
|
199
|
+
├── ProductGrid.tsx
|
|
200
|
+
└── ProductSearch.tsx
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Key Requirements:**
|
|
204
|
+
- [ ] Convert all shadcn components to HeroUI
|
|
205
|
+
- [ ] Implement product listing with React Query
|
|
206
|
+
- [ ] Add filters (category, price range, etc.)
|
|
207
|
+
- [ ] Add search functionality
|
|
208
|
+
- [ ] Implement pagination or infinite scroll
|
|
209
|
+
- [ ] Add loading skeletons
|
|
210
|
+
- [ ] Handle empty states
|
|
211
|
+
- [ ] Optimize images with Next.js Image
|
|
212
|
+
|
|
213
|
+
**shadcn → HeroUI Components to Convert:**
|
|
214
|
+
- `Card` → HeroUI `Card`
|
|
215
|
+
- `Input` (search) → HeroUI `Input` with search icon
|
|
216
|
+
- `Select` (filters) → HeroUI `Select`
|
|
217
|
+
- `Checkbox` → HeroUI `Checkbox`
|
|
218
|
+
- `Slider` (price range) → HeroUI `Slider`
|
|
219
|
+
- `Button` → HeroUI `Button`
|
|
220
|
+
- `Badge` → HeroUI `Chip`
|
|
221
|
+
|
|
222
|
+
**Bugs to Fix:**
|
|
223
|
+
- [ ] _[List known bugs]_
|
|
224
|
+
|
|
225
|
+
**Session Start Prompt:**
|
|
226
|
+
```markdown
|
|
227
|
+
I'm refactoring the products listing page.
|
|
228
|
+
|
|
229
|
+
Context:
|
|
230
|
+
- Read docs/ARCHITECTURE_PATTERNS.md
|
|
231
|
+
- Read docs/SHADCN_TO_HEROUI_MIGRATION.md
|
|
232
|
+
- Original files: [paste file paths]
|
|
233
|
+
|
|
234
|
+
Current issues:
|
|
235
|
+
- Using shadcn/ui (convert to HeroUI)
|
|
236
|
+
- Poor performance with large product lists
|
|
237
|
+
- Filters don't work properly
|
|
238
|
+
- [list other issues]
|
|
239
|
+
|
|
240
|
+
Please:
|
|
241
|
+
1. Create product service module
|
|
242
|
+
2. Implement product listing with React Query
|
|
243
|
+
3. Build ProductCard with HeroUI Card component
|
|
244
|
+
4. Add filters and search
|
|
245
|
+
5. Implement proper loading states
|
|
246
|
+
6. Follow ARCHITECTURE_PATTERNS.md patterns
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**Completion Checklist:**
|
|
250
|
+
- [ ] Service module created
|
|
251
|
+
- [ ] Product listing fetches correctly
|
|
252
|
+
- [ ] ProductCard component built with HeroUI
|
|
253
|
+
- [ ] Filters work correctly
|
|
254
|
+
- [ ] Search functionality works
|
|
255
|
+
- [ ] Pagination/infinite scroll works
|
|
256
|
+
- [ ] Loading skeletons display
|
|
257
|
+
- [ ] Empty state shows when no products
|
|
258
|
+
- [ ] Images optimized
|
|
259
|
+
- [ ] All shadcn converted to HeroUI
|
|
260
|
+
- [ ] Mobile responsive
|
|
261
|
+
- [ ] TypeScript types correct
|
|
262
|
+
|
|
263
|
+
**Actual Time Spent:** _[Fill after completion]_
|
|
264
|
+
**Date Completed:** _[Fill after completion]_
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
#### 3. Product Detail Page
|
|
269
|
+
- **Priority:** 🔴 CRITICAL
|
|
270
|
+
- **Complexity:** 🟡 Medium
|
|
271
|
+
- **Estimated Time:** 4-7 hours
|
|
272
|
+
- **Strategy:** Extract & Rebuild
|
|
273
|
+
- **Status:** ⏳ Not Started
|
|
274
|
+
|
|
275
|
+
**Original Files to Refactor:**
|
|
276
|
+
```
|
|
277
|
+
[List your current files, e.g.]
|
|
278
|
+
- src/pages/product/[id].js
|
|
279
|
+
- src/components/ProductGallery.js
|
|
280
|
+
- src/components/AddToCart.js
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
**Target Structure:**
|
|
284
|
+
```
|
|
285
|
+
src/
|
|
286
|
+
├── services/product/
|
|
287
|
+
│ ├── product.queries.ts # Add useProduct(id) query
|
|
288
|
+
│ └── product.types.ts # ProductDetail type
|
|
289
|
+
├── app/[locale]/(website)/products/[slug]/
|
|
290
|
+
│ └── page.tsx
|
|
291
|
+
└── components/features/product/
|
|
292
|
+
├── ProductGallery.tsx
|
|
293
|
+
├── ProductInfo.tsx
|
|
294
|
+
├── AddToCartButton.tsx
|
|
295
|
+
└── ProductTabs.tsx (description, specs, etc.)
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
**Key Requirements:**
|
|
299
|
+
- [ ] Convert shadcn to HeroUI
|
|
300
|
+
- [ ] Fetch single product with React Query
|
|
301
|
+
- [ ] Image gallery with zoom/lightbox
|
|
302
|
+
- [ ] Add to cart functionality
|
|
303
|
+
- [ ] Add to wishlist button
|
|
304
|
+
- [ ] Product variants (size, color, etc.)
|
|
305
|
+
- [ ] Quantity selector
|
|
306
|
+
- [ ] Related products section
|
|
307
|
+
- [ ] Breadcrumbs navigation
|
|
308
|
+
|
|
309
|
+
**shadcn → HeroUI Components:**
|
|
310
|
+
- `Tabs` → HeroUI `Tabs`
|
|
311
|
+
- `Button` → HeroUI `Button`
|
|
312
|
+
- `Select` (variants) → HeroUI `Select`
|
|
313
|
+
- `RadioGroup` → HeroUI `RadioGroup`
|
|
314
|
+
- Image carousel → Custom with HeroUI styling
|
|
315
|
+
|
|
316
|
+
**Bugs to Fix:**
|
|
317
|
+
- [ ] _[List known bugs]_
|
|
318
|
+
|
|
319
|
+
**Session Start Prompt:**
|
|
320
|
+
```markdown
|
|
321
|
+
I'm refactoring the product detail page.
|
|
322
|
+
|
|
323
|
+
Context:
|
|
324
|
+
- Service module already created in previous step (products list)
|
|
325
|
+
- Read docs/SHADCN_TO_HEROUI_MIGRATION.md
|
|
326
|
+
- Original files: [paste file paths]
|
|
327
|
+
|
|
328
|
+
Please:
|
|
329
|
+
1. Add useProduct(id) query to existing service module
|
|
330
|
+
2. Build product detail page
|
|
331
|
+
3. Convert all shadcn to HeroUI
|
|
332
|
+
4. Add image gallery, variants, add to cart
|
|
333
|
+
5. Follow ARCHITECTURE_PATTERNS.md
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
**Completion Checklist:**
|
|
337
|
+
- [ ] Product detail fetches correctly
|
|
338
|
+
- [ ] Image gallery works
|
|
339
|
+
- [ ] Add to cart functionality
|
|
340
|
+
- [ ] Variants selection works
|
|
341
|
+
- [ ] Quantity selector works
|
|
342
|
+
- [ ] All shadcn converted to HeroUI
|
|
343
|
+
- [ ] Breadcrumbs navigation
|
|
344
|
+
- [ ] Related products section
|
|
345
|
+
- [ ] Mobile responsive
|
|
346
|
+
- [ ] SEO metadata added
|
|
347
|
+
|
|
348
|
+
**Actual Time Spent:** _[Fill after completion]_
|
|
349
|
+
**Date Completed:** _[Fill after completion]_
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
#### 4. Categories Page
|
|
354
|
+
- **Priority:** 🟡 HIGH
|
|
355
|
+
- **Complexity:** 🟢 Low-Medium
|
|
356
|
+
- **Estimated Time:** 3-5 hours
|
|
357
|
+
- **Strategy:** Incremental Refactor
|
|
358
|
+
- **Status:** ⏳ Not Started
|
|
359
|
+
|
|
360
|
+
**Original Files to Refactor:**
|
|
361
|
+
```
|
|
362
|
+
[List your current files, e.g.]
|
|
363
|
+
- src/pages/categories.js
|
|
364
|
+
- src/components/CategoryCard.js
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
**Target Structure:**
|
|
368
|
+
```
|
|
369
|
+
src/
|
|
370
|
+
├── services/category/
|
|
371
|
+
│ ├── category.types.ts
|
|
372
|
+
│ └── category.queries.ts
|
|
373
|
+
├── app/[locale]/(website)/categories/
|
|
374
|
+
│ └── page.tsx
|
|
375
|
+
└── components/features/category/
|
|
376
|
+
└── CategoryCard.tsx
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
**Key Requirements:**
|
|
380
|
+
- [ ] Convert shadcn to HeroUI
|
|
381
|
+
- [ ] Fetch categories with React Query
|
|
382
|
+
- [ ] Display category grid
|
|
383
|
+
- [ ] Link to products by category
|
|
384
|
+
- [ ] Category images optimized
|
|
385
|
+
|
|
386
|
+
**Bugs to Fix:**
|
|
387
|
+
- [ ] _[List known bugs]_
|
|
388
|
+
|
|
389
|
+
**Completion Checklist:**
|
|
390
|
+
- [ ] Service module created
|
|
391
|
+
- [ ] Categories fetch correctly
|
|
392
|
+
- [ ] All shadcn converted to HeroUI
|
|
393
|
+
- [ ] Links work properly
|
|
394
|
+
- [ ] Images optimized
|
|
395
|
+
- [ ] Mobile responsive
|
|
396
|
+
|
|
397
|
+
**Actual Time Spent:** _[Fill after completion]_
|
|
398
|
+
**Date Completed:** _[Fill after completion]_
|
|
399
|
+
|
|
400
|
+
---
|
|
401
|
+
|
|
402
|
+
## 🟡 Week 3-4: User Features (Priority: HIGH)
|
|
403
|
+
|
|
404
|
+
**Focus:** User-specific functionality and account management
|
|
405
|
+
|
|
406
|
+
### ✅ Completed Pages
|
|
407
|
+
|
|
408
|
+
### 🚧 Currently In Progress
|
|
409
|
+
|
|
410
|
+
### 📋 Pending
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
#### 5. Submit Request Flow (Multi-step Form)
|
|
415
|
+
- **Priority:** 🔴 CRITICAL
|
|
416
|
+
- **Complexity:** 🔴 High
|
|
417
|
+
- **Estimated Time:** 8-12 hours
|
|
418
|
+
- **Strategy:** Extract & Rebuild
|
|
419
|
+
- **Status:** ⏳ Not Started
|
|
420
|
+
|
|
421
|
+
**Description:** Multi-step form for users to submit custom requests
|
|
422
|
+
|
|
423
|
+
**Original Files to Refactor:**
|
|
424
|
+
```
|
|
425
|
+
[List your current files, e.g.]
|
|
426
|
+
- src/pages/submit-request.js
|
|
427
|
+
- src/components/RequestForm.js
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
**Target Structure:**
|
|
431
|
+
```
|
|
432
|
+
src/
|
|
433
|
+
├── services/request/
|
|
434
|
+
│ ├── request.types.ts
|
|
435
|
+
│ ├── request.queries.ts
|
|
436
|
+
│ ├── request.schemas.ts # Zod schemas for each step
|
|
437
|
+
│ └── request.store.ts # Multi-step form state
|
|
438
|
+
├── app/[locale]/(website)/submit-request/
|
|
439
|
+
│ └── page.tsx
|
|
440
|
+
└── components/features/request/
|
|
441
|
+
├── RequestStepIndicator.tsx
|
|
442
|
+
├── RequestStep1.tsx
|
|
443
|
+
├── RequestStep2.tsx
|
|
444
|
+
├── RequestStep3.tsx
|
|
445
|
+
└── RequestSummary.tsx
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
**Key Requirements:**
|
|
449
|
+
- [ ] Multi-step form with progress indicator
|
|
450
|
+
- [ ] Zustand store for form state persistence
|
|
451
|
+
- [ ] Zod validation for each step
|
|
452
|
+
- [ ] File upload functionality
|
|
453
|
+
- [ ] Form summary before submission
|
|
454
|
+
- [ ] Save draft functionality
|
|
455
|
+
- [ ] Convert all shadcn to HeroUI
|
|
456
|
+
|
|
457
|
+
**shadcn → HeroUI Components:**
|
|
458
|
+
- `Form` → Custom with HeroUI components
|
|
459
|
+
- `Input`, `Textarea` → HeroUI equivalents
|
|
460
|
+
- `Select` → HeroUI `Select`
|
|
461
|
+
- `FileUpload` → Custom or HeroUI upload
|
|
462
|
+
- Stepper → HeroUI custom stepper
|
|
463
|
+
- `Progress` → HeroUI `Progress`
|
|
464
|
+
|
|
465
|
+
**Bugs to Fix:**
|
|
466
|
+
- [ ] _[List known bugs]_
|
|
467
|
+
|
|
468
|
+
**Session Start Prompt:**
|
|
469
|
+
```markdown
|
|
470
|
+
I'm refactoring a multi-step request submission form.
|
|
471
|
+
|
|
472
|
+
Context:
|
|
473
|
+
- Read docs/ARCHITECTURE_PATTERNS.md (Multi-step form patterns)
|
|
474
|
+
- Read docs/SHADCN_TO_HEROUI_MIGRATION.md
|
|
475
|
+
- Original files: [paste file paths]
|
|
476
|
+
|
|
477
|
+
This is a complex multi-step form with:
|
|
478
|
+
- 3-4 steps
|
|
479
|
+
- File uploads
|
|
480
|
+
- Form state persistence
|
|
481
|
+
- Validation per step
|
|
482
|
+
|
|
483
|
+
Please:
|
|
484
|
+
1. Create request service module
|
|
485
|
+
2. Set up Zustand store for multi-step state
|
|
486
|
+
3. Create Zod schemas for validation
|
|
487
|
+
4. Build each step component
|
|
488
|
+
5. Convert all shadcn to HeroUI
|
|
489
|
+
6. Follow ARCHITECTURE_PATTERNS.md patterns
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
**Completion Checklist:**
|
|
493
|
+
- [ ] Service module with store created
|
|
494
|
+
- [ ] Zod validation per step
|
|
495
|
+
- [ ] All steps work correctly
|
|
496
|
+
- [ ] Progress indicator shows current step
|
|
497
|
+
- [ ] File upload works
|
|
498
|
+
- [ ] Form summary displays correctly
|
|
499
|
+
- [ ] Submission works
|
|
500
|
+
- [ ] Draft save/load works
|
|
501
|
+
- [ ] All shadcn converted to HeroUI
|
|
502
|
+
- [ ] Error handling per step
|
|
503
|
+
- [ ] Can navigate back/forward
|
|
504
|
+
- [ ] Mobile responsive
|
|
505
|
+
|
|
506
|
+
**Actual Time Spent:** _[Fill after completion]_
|
|
507
|
+
**Date Completed:** _[Fill after completion]_
|
|
508
|
+
|
|
509
|
+
---
|
|
510
|
+
|
|
511
|
+
#### 6. Profile - User Info
|
|
512
|
+
- **Priority:** 🟡 HIGH
|
|
513
|
+
- **Complexity:** 🟢 Low-Medium
|
|
514
|
+
- **Estimated Time:** 3-5 hours
|
|
515
|
+
- **Strategy:** Extract & Rebuild
|
|
516
|
+
- **Status:** ⏳ Not Started
|
|
517
|
+
|
|
518
|
+
**Original Files to Refactor:**
|
|
519
|
+
```
|
|
520
|
+
- src/pages/profile.js (or similar)
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
**Target Structure:**
|
|
524
|
+
```
|
|
525
|
+
src/
|
|
526
|
+
├── services/user/
|
|
527
|
+
│ ├── user.types.ts
|
|
528
|
+
│ ├── user.queries.ts
|
|
529
|
+
│ └── user.schemas.ts
|
|
530
|
+
├── app/[locale]/(dashboard)/profile/
|
|
531
|
+
│ └── page.tsx
|
|
532
|
+
└── components/features/user/
|
|
533
|
+
├── ProfileForm.tsx
|
|
534
|
+
└── AvatarUpload.tsx
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
**Key Requirements:**
|
|
538
|
+
- [ ] View/edit user information
|
|
539
|
+
- [ ] Avatar upload
|
|
540
|
+
- [ ] Form validation with Zod
|
|
541
|
+
- [ ] Optimistic updates
|
|
542
|
+
- [ ] Convert shadcn to HeroUI
|
|
543
|
+
|
|
544
|
+
**Bugs to Fix:**
|
|
545
|
+
- [ ] _[List known bugs]_
|
|
546
|
+
|
|
547
|
+
**Completion Checklist:**
|
|
548
|
+
- [ ] Service module created
|
|
549
|
+
- [ ] Profile fetches correctly
|
|
550
|
+
- [ ] Edit mode works
|
|
551
|
+
- [ ] Avatar upload works
|
|
552
|
+
- [ ] Validation works
|
|
553
|
+
- [ ] All shadcn converted to HeroUI
|
|
554
|
+
- [ ] Optimistic updates
|
|
555
|
+
- [ ] Mobile responsive
|
|
556
|
+
|
|
557
|
+
**Actual Time Spent:** _[Fill after completion]_
|
|
558
|
+
**Date Completed:** _[Fill after completion]_
|
|
559
|
+
|
|
560
|
+
---
|
|
561
|
+
|
|
562
|
+
#### 7. Profile - Wishlist
|
|
563
|
+
- **Priority:** 🟡 HIGH
|
|
564
|
+
- **Complexity:** 🟡 Medium
|
|
565
|
+
- **Estimated Time:** 4-6 hours
|
|
566
|
+
- **Strategy:** Extract & Rebuild
|
|
567
|
+
- **Status:** ⏳ Not Started
|
|
568
|
+
|
|
569
|
+
**Original Files to Refactor:**
|
|
570
|
+
```
|
|
571
|
+
[List your files]
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
**Target Structure:**
|
|
575
|
+
```
|
|
576
|
+
src/
|
|
577
|
+
├── services/wishlist/
|
|
578
|
+
│ ├── wishlist.types.ts
|
|
579
|
+
│ ├── wishlist.queries.ts
|
|
580
|
+
│ └── wishlist.store.ts
|
|
581
|
+
├── app/[locale]/(dashboard)/wishlist/
|
|
582
|
+
│ └── page.tsx
|
|
583
|
+
└── components/features/wishlist/
|
|
584
|
+
└── WishlistItem.tsx
|
|
585
|
+
```
|
|
586
|
+
|
|
587
|
+
**Key Requirements:**
|
|
588
|
+
- [ ] Display wishlist items
|
|
589
|
+
- [ ] Remove from wishlist
|
|
590
|
+
- [ ] Add to cart from wishlist
|
|
591
|
+
- [ ] Empty state
|
|
592
|
+
- [ ] Convert shadcn to HeroUI
|
|
593
|
+
|
|
594
|
+
**Bugs to Fix:**
|
|
595
|
+
- [ ] _[List known bugs]_
|
|
596
|
+
|
|
597
|
+
**Completion Checklist:**
|
|
598
|
+
- [ ] Service module created
|
|
599
|
+
- [ ] Wishlist displays correctly
|
|
600
|
+
- [ ] Remove functionality works
|
|
601
|
+
- [ ] Add to cart works
|
|
602
|
+
- [ ] Empty state shows
|
|
603
|
+
- [ ] All shadcn converted to HeroUI
|
|
604
|
+
- [ ] Mobile responsive
|
|
605
|
+
|
|
606
|
+
**Actual Time Spent:** _[Fill after completion]_
|
|
607
|
+
**Date Completed:** _[Fill after completion]_
|
|
608
|
+
|
|
609
|
+
---
|
|
610
|
+
|
|
611
|
+
#### 8. Profile - My Requests
|
|
612
|
+
- **Priority:** 🟡 HIGH
|
|
613
|
+
- **Complexity:** 🟡 Medium
|
|
614
|
+
- **Estimated Time:** 4-6 hours
|
|
615
|
+
- **Strategy:** Extract & Rebuild
|
|
616
|
+
- **Status:** ⏳ Not Started
|
|
617
|
+
|
|
618
|
+
**Original Files to Refactor:**
|
|
619
|
+
```
|
|
620
|
+
[List your files]
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
**Target Structure:**
|
|
624
|
+
```
|
|
625
|
+
src/
|
|
626
|
+
├── services/request/
|
|
627
|
+
│ └── request.queries.ts # Add useMyRequests query
|
|
628
|
+
├── app/[locale]/(dashboard)/my-requests/
|
|
629
|
+
│ └── page.tsx
|
|
630
|
+
└── components/features/request/
|
|
631
|
+
├── RequestList.tsx
|
|
632
|
+
└── RequestCard.tsx
|
|
633
|
+
```
|
|
634
|
+
|
|
635
|
+
**Key Requirements:**
|
|
636
|
+
- [ ] Display user's submitted requests
|
|
637
|
+
- [ ] Filter by status
|
|
638
|
+
- [ ] View request details
|
|
639
|
+
- [ ] Cancel request (if applicable)
|
|
640
|
+
- [ ] Convert shadcn to HeroUI
|
|
641
|
+
|
|
642
|
+
**Bugs to Fix:**
|
|
643
|
+
- [ ] _[List known bugs]_
|
|
644
|
+
|
|
645
|
+
**Completion Checklist:**
|
|
646
|
+
- [ ] Query added to service module
|
|
647
|
+
- [ ] Requests display correctly
|
|
648
|
+
- [ ] Filters work
|
|
649
|
+
- [ ] Status badges show
|
|
650
|
+
- [ ] All shadcn converted to HeroUI
|
|
651
|
+
- [ ] Mobile responsive
|
|
652
|
+
|
|
653
|
+
**Actual Time Spent:** _[Fill after completion]_
|
|
654
|
+
**Date Completed:** _[Fill after completion]_
|
|
655
|
+
|
|
656
|
+
---
|
|
657
|
+
|
|
658
|
+
#### 9. Profile - Gift/Gift List
|
|
659
|
+
- **Priority:** 🟡 HIGH
|
|
660
|
+
- **Complexity:** 🟡 Medium
|
|
661
|
+
- **Estimated Time:** 5-7 hours
|
|
662
|
+
- **Strategy:** Extract & Rebuild
|
|
663
|
+
- **Status:** ⏳ Not Started
|
|
664
|
+
|
|
665
|
+
**Note:** Called "Gift List" in the other project
|
|
666
|
+
|
|
667
|
+
**Original Files to Refactor:**
|
|
668
|
+
```
|
|
669
|
+
[List your files]
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
**Target Structure:**
|
|
673
|
+
```
|
|
674
|
+
src/
|
|
675
|
+
├── services/gift/
|
|
676
|
+
│ ├── gift.types.ts
|
|
677
|
+
│ ├── gift.queries.ts
|
|
678
|
+
│ └── gift.store.ts
|
|
679
|
+
├── app/[locale]/(dashboard)/gift-list/
|
|
680
|
+
│ └── page.tsx
|
|
681
|
+
└── components/features/gift/
|
|
682
|
+
├── GiftListItem.tsx
|
|
683
|
+
└── ShareGiftList.tsx
|
|
684
|
+
```
|
|
685
|
+
|
|
686
|
+
**Key Requirements:**
|
|
687
|
+
- [ ] Create/manage gift list
|
|
688
|
+
- [ ] Add/remove items
|
|
689
|
+
- [ ] Share gift list (link)
|
|
690
|
+
- [ ] Mark items as purchased
|
|
691
|
+
- [ ] Convert shadcn to HeroUI
|
|
692
|
+
|
|
693
|
+
**Bugs to Fix:**
|
|
694
|
+
- [ ] _[List known bugs]_
|
|
695
|
+
|
|
696
|
+
**Completion Checklist:**
|
|
697
|
+
- [ ] Service module created
|
|
698
|
+
- [ ] Gift list CRUD works
|
|
699
|
+
- [ ] Share functionality works
|
|
700
|
+
- [ ] Mark as purchased works
|
|
701
|
+
- [ ] All shadcn converted to HeroUI
|
|
702
|
+
- [ ] Mobile responsive
|
|
703
|
+
|
|
704
|
+
**Actual Time Spent:** _[Fill after completion]_
|
|
705
|
+
**Date Completed:** _[Fill after completion]_
|
|
706
|
+
|
|
707
|
+
---
|
|
708
|
+
|
|
709
|
+
## 🟢 Week 5-6: Content & Static Pages (Priority: MEDIUM)
|
|
710
|
+
|
|
711
|
+
**Focus:** Content pages and static information pages
|
|
712
|
+
|
|
713
|
+
### ✅ Completed Pages
|
|
714
|
+
|
|
715
|
+
### 🚧 Currently In Progress
|
|
716
|
+
|
|
717
|
+
### 📋 Pending
|
|
718
|
+
|
|
719
|
+
---
|
|
720
|
+
|
|
721
|
+
#### 10. Home Page
|
|
722
|
+
- **Priority:** 🟡 HIGH (it's the home page!)
|
|
723
|
+
- **Complexity:** 🟡 Medium-High
|
|
724
|
+
- **Estimated Time:** 6-9 hours
|
|
725
|
+
- **Strategy:** Extract & Rebuild
|
|
726
|
+
- **Status:** ⏳ Not Started
|
|
727
|
+
|
|
728
|
+
**Note:** Home pages typically have multiple sections
|
|
729
|
+
|
|
730
|
+
**Original Files to Refactor:**
|
|
731
|
+
```
|
|
732
|
+
[List your files]
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
**Target Structure:**
|
|
736
|
+
```
|
|
737
|
+
src/
|
|
738
|
+
├── app/[locale]/(website)/
|
|
739
|
+
│ └── page.tsx # Home page
|
|
740
|
+
└── components/features/home/
|
|
741
|
+
├── HeroSection.tsx
|
|
742
|
+
├── FeaturedProducts.tsx
|
|
743
|
+
├── CategoriesSection.tsx
|
|
744
|
+
├── NewsSection.tsx
|
|
745
|
+
└── TestimonialsSection.tsx
|
|
746
|
+
```
|
|
747
|
+
|
|
748
|
+
**Key Requirements:**
|
|
749
|
+
- [ ] Hero section with CTA
|
|
750
|
+
- [ ] Featured products carousel
|
|
751
|
+
- [ ] Categories showcase
|
|
752
|
+
- [ ] Latest news section
|
|
753
|
+
- [ ] Testimonials/reviews
|
|
754
|
+
- [ ] Convert all shadcn to HeroUI
|
|
755
|
+
- [ ] Optimize all images
|
|
756
|
+
- [ ] SEO optimization
|
|
757
|
+
|
|
758
|
+
**shadcn → HeroUI Components:**
|
|
759
|
+
- Carousel → Custom or third-party with HeroUI styling
|
|
760
|
+
- `Card` → HeroUI `Card`
|
|
761
|
+
- `Button` → HeroUI `Button`
|
|
762
|
+
|
|
763
|
+
**Bugs to Fix:**
|
|
764
|
+
- [ ] _[List known bugs]_
|
|
765
|
+
|
|
766
|
+
**Completion Checklist:**
|
|
767
|
+
- [ ] All sections implemented
|
|
768
|
+
- [ ] Carousel works smoothly
|
|
769
|
+
- [ ] All shadcn converted to HeroUI
|
|
770
|
+
- [ ] Images optimized
|
|
771
|
+
- [ ] CTAs work correctly
|
|
772
|
+
- [ ] Mobile responsive
|
|
773
|
+
- [ ] SEO metadata added
|
|
774
|
+
- [ ] Performance optimized
|
|
775
|
+
|
|
776
|
+
**Actual Time Spent:** _[Fill after completion]_
|
|
777
|
+
**Date Completed:** _[Fill after completion]_
|
|
778
|
+
|
|
779
|
+
---
|
|
780
|
+
|
|
781
|
+
#### 11. News List Page
|
|
782
|
+
- **Priority:** 🟢 MEDIUM
|
|
783
|
+
- **Complexity:** 🟢 Low
|
|
784
|
+
- **Estimated Time:** 3-4 hours
|
|
785
|
+
- **Strategy:** Incremental Refactor
|
|
786
|
+
- **Status:** ⏳ Not Started
|
|
787
|
+
|
|
788
|
+
**Original Files to Refactor:**
|
|
789
|
+
```
|
|
790
|
+
[List your files]
|
|
791
|
+
```
|
|
792
|
+
|
|
793
|
+
**Target Structure:**
|
|
794
|
+
```
|
|
795
|
+
src/
|
|
796
|
+
├── services/news/
|
|
797
|
+
│ ├── news.types.ts
|
|
798
|
+
│ └── news.queries.ts
|
|
799
|
+
├── app/[locale]/(website)/news/
|
|
800
|
+
│ └── page.tsx
|
|
801
|
+
└── components/features/news/
|
|
802
|
+
└── NewsCard.tsx
|
|
803
|
+
```
|
|
804
|
+
|
|
805
|
+
**Key Requirements:**
|
|
806
|
+
- [ ] Display news articles
|
|
807
|
+
- [ ] Pagination
|
|
808
|
+
- [ ] Category filter (optional)
|
|
809
|
+
- [ ] Convert shadcn to HeroUI
|
|
810
|
+
|
|
811
|
+
**Bugs to Fix:**
|
|
812
|
+
- [ ] _[List known bugs]_
|
|
813
|
+
|
|
814
|
+
**Completion Checklist:**
|
|
815
|
+
- [ ] Service module created
|
|
816
|
+
- [ ] News articles display
|
|
817
|
+
- [ ] Pagination works
|
|
818
|
+
- [ ] All shadcn converted to HeroUI
|
|
819
|
+
- [ ] Mobile responsive
|
|
820
|
+
|
|
821
|
+
**Actual Time Spent:** _[Fill after completion]_
|
|
822
|
+
**Date Completed:** _[Fill after completion]_
|
|
823
|
+
|
|
824
|
+
---
|
|
825
|
+
|
|
826
|
+
#### 12. News Detail Page
|
|
827
|
+
- **Priority:** 🟢 MEDIUM
|
|
828
|
+
- **Complexity:** 🟢 Low
|
|
829
|
+
- **Estimated Time:** 2-4 hours
|
|
830
|
+
- **Strategy:** Incremental Refactor
|
|
831
|
+
- **Status:** ⏳ Not Started
|
|
832
|
+
|
|
833
|
+
**Original Files to Refactor:**
|
|
834
|
+
```
|
|
835
|
+
[List your files]
|
|
836
|
+
```
|
|
837
|
+
|
|
838
|
+
**Target Structure:**
|
|
839
|
+
```
|
|
840
|
+
src/
|
|
841
|
+
├── services/news/
|
|
842
|
+
│ └── news.queries.ts # Add useNewsArticle(id)
|
|
843
|
+
└── app/[locale]/(website)/news/[slug]/
|
|
844
|
+
└── page.tsx
|
|
845
|
+
```
|
|
846
|
+
|
|
847
|
+
**Key Requirements:**
|
|
848
|
+
- [ ] Display single article
|
|
849
|
+
- [ ] Related articles section
|
|
850
|
+
- [ ] Share buttons (optional)
|
|
851
|
+
- [ ] Convert shadcn to HeroUI
|
|
852
|
+
|
|
853
|
+
**Bugs to Fix:**
|
|
854
|
+
- [ ] _[List known bugs]_
|
|
855
|
+
|
|
856
|
+
**Completion Checklist:**
|
|
857
|
+
- [ ] Article displays correctly
|
|
858
|
+
- [ ] Images render properly
|
|
859
|
+
- [ ] Related articles show
|
|
860
|
+
- [ ] All shadcn converted to HeroUI
|
|
861
|
+
- [ ] SEO metadata added
|
|
862
|
+
- [ ] Mobile responsive
|
|
863
|
+
|
|
864
|
+
**Actual Time Spent:** _[Fill after completion]_
|
|
865
|
+
**Date Completed:** _[Fill after completion]_
|
|
866
|
+
|
|
867
|
+
---
|
|
868
|
+
|
|
869
|
+
#### 13. Services Page
|
|
870
|
+
- **Priority:** 🟢 MEDIUM
|
|
871
|
+
- **Complexity:** 🟢 Low
|
|
872
|
+
- **Estimated Time:** 3-5 hours
|
|
873
|
+
- **Strategy:** Incremental Refactor
|
|
874
|
+
- **Status:** ⏳ Not Started
|
|
875
|
+
|
|
876
|
+
**Original Files to Refactor:**
|
|
877
|
+
```
|
|
878
|
+
[List your files]
|
|
879
|
+
```
|
|
880
|
+
|
|
881
|
+
**Target Structure:**
|
|
882
|
+
```
|
|
883
|
+
src/
|
|
884
|
+
├── app/[locale]/(website)/services/
|
|
885
|
+
│ └── page.tsx
|
|
886
|
+
└── components/features/services/
|
|
887
|
+
└── ServiceCard.tsx
|
|
888
|
+
```
|
|
889
|
+
|
|
890
|
+
**Key Requirements:**
|
|
891
|
+
- [ ] Display services offered
|
|
892
|
+
- [ ] Service cards with icons
|
|
893
|
+
- [ ] CTA buttons
|
|
894
|
+
- [ ] Convert shadcn to HeroUI
|
|
895
|
+
|
|
896
|
+
**Bugs to Fix:**
|
|
897
|
+
- [ ] _[List known bugs]_
|
|
898
|
+
|
|
899
|
+
**Completion Checklist:**
|
|
900
|
+
- [ ] Services display correctly
|
|
901
|
+
- [ ] All shadcn converted to HeroUI
|
|
902
|
+
- [ ] Icons render properly
|
|
903
|
+
- [ ] CTAs work
|
|
904
|
+
- [ ] Mobile responsive
|
|
905
|
+
|
|
906
|
+
**Actual Time Spent:** _[Fill after completion]_
|
|
907
|
+
**Date Completed:** _[Fill after completion]_
|
|
908
|
+
|
|
909
|
+
---
|
|
910
|
+
|
|
911
|
+
#### 14. Static Pages (Batch)
|
|
912
|
+
- **Priority:** 🟢 LOW
|
|
913
|
+
- **Complexity:** 🟢 Low
|
|
914
|
+
- **Estimated Time:** 5-8 hours total
|
|
915
|
+
- **Strategy:** Incremental Refactor (can do in batch)
|
|
916
|
+
- **Status:** ⏳ Not Started
|
|
917
|
+
|
|
918
|
+
**Pages Included:**
|
|
919
|
+
1. About Us
|
|
920
|
+
2. Contact
|
|
921
|
+
3. Imprint (Impressum)
|
|
922
|
+
4. Data Protection (Privacy Policy)
|
|
923
|
+
5. Terms & Conditions
|
|
924
|
+
|
|
925
|
+
**Original Files to Refactor:**
|
|
926
|
+
```
|
|
927
|
+
[List your files]
|
|
928
|
+
```
|
|
929
|
+
|
|
930
|
+
**Target Structure:**
|
|
931
|
+
```
|
|
932
|
+
src/app/[locale]/(website)/
|
|
933
|
+
├── about/page.tsx
|
|
934
|
+
├── contact/page.tsx
|
|
935
|
+
├── imprint/page.tsx
|
|
936
|
+
├── data-protection/page.tsx
|
|
937
|
+
└── terms/page.tsx
|
|
938
|
+
```
|
|
939
|
+
|
|
940
|
+
**Key Requirements:**
|
|
941
|
+
- [ ] Simple content pages
|
|
942
|
+
- [ ] Proper typography
|
|
943
|
+
- [ ] i18n content from translation files
|
|
944
|
+
- [ ] Contact form (for contact page)
|
|
945
|
+
- [ ] Convert any shadcn to HeroUI
|
|
946
|
+
|
|
947
|
+
**Bugs to Fix:**
|
|
948
|
+
- [ ] _[List known bugs]_
|
|
949
|
+
|
|
950
|
+
**Completion Checklist:**
|
|
951
|
+
- [ ] All 5 pages created
|
|
952
|
+
- [ ] Content displays correctly
|
|
953
|
+
- [ ] Contact form works (if applicable)
|
|
954
|
+
- [ ] All shadcn converted to HeroUI
|
|
955
|
+
- [ ] SEO metadata added
|
|
956
|
+
- [ ] Mobile responsive
|
|
957
|
+
- [ ] Links in footer work
|
|
958
|
+
|
|
959
|
+
**Actual Time Spent:** _[Fill after completion]_
|
|
960
|
+
**Date Completed:** _[Fill after completion]_
|
|
961
|
+
|
|
962
|
+
---
|
|
963
|
+
|
|
964
|
+
## 📈 Progress Tracking
|
|
965
|
+
|
|
966
|
+
### Weekly Summary
|
|
967
|
+
|
|
968
|
+
| Week | Pages Completed | Hours Spent | Notes |
|
|
969
|
+
|------|-----------------|-------------|-------|
|
|
970
|
+
| 1 | - | - | - |
|
|
971
|
+
| 2 | - | - | - |
|
|
972
|
+
| 3 | - | - | - |
|
|
973
|
+
| 4 | - | - | - |
|
|
974
|
+
|
|
975
|
+
### Time Analysis
|
|
976
|
+
|
|
977
|
+
- **Estimated Total:** 75-106 hours
|
|
978
|
+
- **Actual Total:** _[Fill as you go]_
|
|
979
|
+
- **Variance:** _[Calculate at end]_
|
|
980
|
+
- **Average per Page:** _[Calculate at end]_
|
|
981
|
+
|
|
982
|
+
---
|
|
983
|
+
|
|
984
|
+
## 🐛 Global Issues Found
|
|
985
|
+
|
|
986
|
+
Track bugs/issues that appear across multiple pages:
|
|
987
|
+
|
|
988
|
+
- [ ] Issue 1: Description
|
|
989
|
+
- [ ] Issue 2: Description
|
|
990
|
+
- [ ] Issue 3: Description
|
|
991
|
+
|
|
992
|
+
---
|
|
993
|
+
|
|
994
|
+
## 📝 Lessons Learned
|
|
995
|
+
|
|
996
|
+
### What Worked Well
|
|
997
|
+
-
|
|
998
|
+
|
|
999
|
+
### What Didn't Work Well
|
|
1000
|
+
-
|
|
1001
|
+
|
|
1002
|
+
### Time Savers Discovered
|
|
1003
|
+
-
|
|
1004
|
+
|
|
1005
|
+
### Patterns to Reuse
|
|
1006
|
+
-
|
|
1007
|
+
|
|
1008
|
+
---
|
|
1009
|
+
|
|
1010
|
+
## 🎯 Current Status
|
|
1011
|
+
|
|
1012
|
+
**Next Page to Work On:** 1. Authentication Pages
|
|
1013
|
+
|
|
1014
|
+
**Blockers:** None
|
|
1015
|
+
|
|
1016
|
+
**Questions:** None
|
|
1017
|
+
|
|
1018
|
+
---
|
|
1019
|
+
|
|
1020
|
+
## 📚 Quick Reference Commands
|
|
1021
|
+
|
|
1022
|
+
### Start a new page refactor
|
|
1023
|
+
```markdown
|
|
1024
|
+
I'm refactoring [page name] from the legacy project.
|
|
1025
|
+
|
|
1026
|
+
Read these docs:
|
|
1027
|
+
- docs/ARCHITECTURE_PATTERNS.md
|
|
1028
|
+
- docs/SHADCN_TO_HEROUI_MIGRATION.md
|
|
1029
|
+
- docs/REFACTOR_PROGRESS.md (item #[number])
|
|
1030
|
+
|
|
1031
|
+
Original files: [paste file paths or file contents]
|
|
1032
|
+
|
|
1033
|
+
Follow the plan in REFACTOR_PROGRESS.md for this page.
|
|
1034
|
+
Start by creating the service module structure.
|
|
1035
|
+
```
|
|
1036
|
+
|
|
1037
|
+
### Check progress
|
|
1038
|
+
```markdown
|
|
1039
|
+
Show me the current status from docs/REFACTOR_PROGRESS.md
|
|
1040
|
+
What's the next page to refactor?
|
|
1041
|
+
```
|
|
1042
|
+
|
|
1043
|
+
### Mark page complete
|
|
1044
|
+
```markdown
|
|
1045
|
+
Update docs/REFACTOR_PROGRESS.md:
|
|
1046
|
+
- Mark page #[number] as complete
|
|
1047
|
+
- Move it to "Completed Pages" section
|
|
1048
|
+
- Fill in actual time spent: [X] hours
|
|
1049
|
+
- Fill in completion date: [date]
|
|
1050
|
+
- Add notes: [any lessons learned]
|
|
1051
|
+
- Update overall progress percentage
|
|
1052
|
+
```
|
|
1053
|
+
|
|
1054
|
+
---
|
|
1055
|
+
|
|
1056
|
+
## ✅ Final Checklist (After All Pages Complete)
|
|
1057
|
+
|
|
1058
|
+
- [ ] All 14 pages/features refactored
|
|
1059
|
+
- [ ] All shadcn components converted to HeroUI
|
|
1060
|
+
- [ ] All service modules follow ARCHITECTURE_PATTERNS.md
|
|
1061
|
+
- [ ] All forms use Zod validation
|
|
1062
|
+
- [ ] All data fetching uses React Query
|
|
1063
|
+
- [ ] All state management uses Zustand
|
|
1064
|
+
- [ ] All TypeScript types are correct
|
|
1065
|
+
- [ ] All pages are mobile responsive
|
|
1066
|
+
- [ ] All SEO metadata added
|
|
1067
|
+
- [ ] All images optimized
|
|
1068
|
+
- [ ] All translations in place
|
|
1069
|
+
- [ ] Full E2E testing done
|
|
1070
|
+
- [ ] Performance optimization done
|
|
1071
|
+
- [ ] Old code removed
|
|
1072
|
+
- [ ] Documentation updated
|
|
1073
|
+
- [ ] Team review completed (if applicable)
|
|
1074
|
+
|
|
1075
|
+
---
|
|
1076
|
+
|
|
1077
|
+
## 🚀 Post-Refactor Tasks
|
|
1078
|
+
|
|
1079
|
+
After completing all pages:
|
|
1080
|
+
|
|
1081
|
+
1. **Code Cleanup**
|
|
1082
|
+
- Remove all old/unused files
|
|
1083
|
+
- Remove old dependencies (shadcn)
|
|
1084
|
+
- Clean up package.json
|
|
1085
|
+
|
|
1086
|
+
2. **Testing**
|
|
1087
|
+
- Full regression testing
|
|
1088
|
+
- Cross-browser testing
|
|
1089
|
+
- Performance testing
|
|
1090
|
+
- Accessibility testing
|
|
1091
|
+
|
|
1092
|
+
3. **Documentation**
|
|
1093
|
+
- Update README
|
|
1094
|
+
- Document new patterns used
|
|
1095
|
+
- Create deployment guide
|
|
1096
|
+
|
|
1097
|
+
4. **Deployment**
|
|
1098
|
+
- Staging deployment
|
|
1099
|
+
- QA review
|
|
1100
|
+
- Production deployment
|
|
1101
|
+
- Monitor for issues
|
|
1102
|
+
|
|
1103
|
+
---
|
|
1104
|
+
|
|
1105
|
+
**Remember:**
|
|
1106
|
+
- Work on ONE page at a time
|
|
1107
|
+
- Follow the priority order
|
|
1108
|
+
- Use the docs/ folder extensively
|
|
1109
|
+
- Test thoroughly before moving to next page
|
|
1110
|
+
- Update this file as you progress
|
|
1111
|
+
- Take breaks between pages to avoid burnout!
|
|
1112
|
+
|
|
1113
|
+
Good luck! 💪
|