@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.
Files changed (79) hide show
  1. package/README.md +476 -0
  2. package/dist/cli.d.ts +3 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +39 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/figma.d.ts +16 -0
  7. package/dist/commands/figma.d.ts.map +1 -0
  8. package/dist/commands/figma.js +172 -0
  9. package/dist/commands/figma.js.map +1 -0
  10. package/dist/commands/index.d.ts +5 -0
  11. package/dist/commands/index.d.ts.map +1 -0
  12. package/dist/commands/index.js +5 -0
  13. package/dist/commands/index.js.map +1 -0
  14. package/dist/commands/init.d.ts +8 -0
  15. package/dist/commands/init.d.ts.map +1 -0
  16. package/dist/commands/init.js +1471 -0
  17. package/dist/commands/init.js.map +1 -0
  18. package/dist/commands/swagger.d.ts +16 -0
  19. package/dist/commands/swagger.d.ts.map +1 -0
  20. package/dist/commands/swagger.js +404 -0
  21. package/dist/commands/swagger.js.map +1 -0
  22. package/dist/commands/update.d.ts +15 -0
  23. package/dist/commands/update.d.ts.map +1 -0
  24. package/dist/commands/update.js +93 -0
  25. package/dist/commands/update.js.map +1 -0
  26. package/package.json +63 -0
  27. package/templates/.vscode/extensions.json +9 -0
  28. package/templates/.vscode/launch.json +26 -0
  29. package/templates/.vscode/settings.json +67 -0
  30. package/templates/.vscode/tasks.json +21 -0
  31. package/templates/boilerplate/config/fonts.ts +10 -0
  32. package/templates/boilerplate/config/navigationUrls.ts +47 -0
  33. package/templates/boilerplate/config/site.ts +96 -0
  34. package/templates/boilerplate/libs/I18n.ts +15 -0
  35. package/templates/boilerplate/libs/I18nNavigation.ts +5 -0
  36. package/templates/boilerplate/libs/I18nRouting.ts +9 -0
  37. package/templates/boilerplate/libs/env.ts +21 -0
  38. package/templates/boilerplate/libs/react-query/ReactQueryProvider.tsx +21 -0
  39. package/templates/boilerplate/libs/react-query/index.ts +2 -0
  40. package/templates/boilerplate/libs/react-query/queryClient.ts +62 -0
  41. package/templates/boilerplate/libs/react-query/queryKeys.ts +5 -0
  42. package/templates/boilerplate/public/images/index.ts +1 -0
  43. package/templates/boilerplate/reset.d.ts +2 -0
  44. package/templates/boilerplate/styles/globals.css +308 -0
  45. package/templates/boilerplate/types/i18n.ts +10 -0
  46. package/templates/boilerplate/types/locale.ts +8 -0
  47. package/templates/boilerplate/utils/file/fileConfig.ts +123 -0
  48. package/templates/boilerplate/utils/file/fileValidation.ts +78 -0
  49. package/templates/boilerplate/utils/file/imageCompression.ts +182 -0
  50. package/templates/boilerplate/utils/file/index.ts +3 -0
  51. package/templates/boilerplate/utils/helpers.ts +55 -0
  52. package/templates/boilerplate/validations/auth.validation.ts +92 -0
  53. package/templates/boilerplate/validations/commonValidations.ts +258 -0
  54. package/templates/boilerplate/validations/zodErrorMap.ts +101 -0
  55. package/templates/configs/.env.example +8 -0
  56. package/templates/configs/.prettierignore +23 -0
  57. package/templates/configs/.prettierrc.cjs +26 -0
  58. package/templates/configs/.prettierrc.icons.cjs +11 -0
  59. package/templates/configs/Dockerfile +6 -0
  60. package/templates/configs/commitlint.config.ts +8 -0
  61. package/templates/configs/eslint.config.mjs +119 -0
  62. package/templates/configs/knip.config.ts +32 -0
  63. package/templates/configs/lefthook.yml +42 -0
  64. package/templates/configs/lint-staged.config.js +8 -0
  65. package/templates/configs/next.config.template.ts +77 -0
  66. package/templates/configs/next.config.ts +43 -0
  67. package/templates/configs/package.json +75 -0
  68. package/templates/configs/postcss.config.mjs +15 -0
  69. package/templates/configs/svgr.config.mjs +129 -0
  70. package/templates/configs/tsconfig.json +75 -0
  71. package/templates/docs/AI_QUICK_REFERENCE.md +379 -0
  72. package/templates/docs/ARCHITECTURE_PATTERNS.md +927 -0
  73. package/templates/docs/DOCUMENTATION_INDEX.md +411 -0
  74. package/templates/docs/FIGMA_TO_CODE_GUIDE.md +768 -0
  75. package/templates/docs/IMPLEMENTATION_GUIDE.md +892 -0
  76. package/templates/docs/PROJECT_OVERVIEW.md +302 -0
  77. package/templates/docs/REFACTOR_PROGRESS.md +1113 -0
  78. package/templates/docs/SHADCN_TO_HEROUI_MIGRATION.md +1375 -0
  79. 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! 💪