src/
├── app/                    # Next.js 14 App Router
│   └── [locale]/
│       ├── (shop)/        # Route group - ortak layout
│       │   ├── page.tsx
│       │   ├── category/[slug]/
│       │   ├── product/[slug]/
│       │   └── cart/
│       └── (account)/     # Route group - kullanıcı sayfaları
│           ├── me/
│           ├── orders/
│           └── favorites/
│
├── features/              # Feature-based organization
│   ├── auth/
│   │   ├── components/
│   │   ├── hooks/
│   │   └── types.ts
│   ├── cart/
│   │   ├── components/
│   │   ├── hooks/
│   │   └── types.ts
│   ├── products/
│   │   ├── components/
│   │   ├── hooks/
│   │   └── types.ts
│   └── orders/
│       ├── components/
│       ├── hooks/
│       └── types.ts
│
├── shared/
│   ├── components/        # Paylaşılan UI bileşenleri
│   │   ├── ui/           # shadcn/ui
│   │   ├── layout/
│   │   └── skeletons/
│   ├── hooks/            # Generic hooks (use-mobile, use-toast)
│   ├── lib/
│   │   ├── api/
│   │   ├── config/
│   │   └── utils/
│   └── types/
│
└── i18n/                  # Lokalizasyon
    ├── messages/
    ├── config.ts
    └── middleware.ts




    # Tüm hooks'ları tek yere taşı
mv hooks/* lib/hooks/
rm -rf hooks/
```

### 3. Feature-Based Yapıya Geç

**Şu anki yapın:**
```
components/home/HomePage.tsx
lib/hooks/useProducts.ts
```

**Olması gereken:**
```
features/products/
  ├── components/
  │   ├── ProductCard.tsx
  │   ├── ProductGrid.tsx
  │   └── ProductDetails.tsx
  ├── hooks/
  │   └── useProducts.ts
  └── types.ts



  import { ProductCard, useProducts } from '@/features/products'
```

## Empty States'i Doğru Yerleştir

Şu an:
```
components/empty-states/EmptyCart.tsx
```

Olmalı:
```
features/cart/components/EmptyState.tsx
```

Her feature kendi empty state'ini yönetmeli.

## API Layer'ı Düzenle
```
shared/lib/api/
├── client.ts          # Axios/fetch instance
├── endpoints.ts       # API endpoint'leri
├── types.ts          # Genel API tipleri
└── interceptors.ts   # Auth, error handling