Structure
Ushbu bo‘lim barcha FIAS shablonlari uchun umumiy tuzilma prinsiplarini tushuntiradi. Agar siz maxsus Next.js yoki React.js uchun tuzilmani ko‘rmoqchi bo‘lsangiz, quyidagilarga murojaat qiling:

🧠 Feature-Sliced Design (FSD) nima?
Feature-Sliced Design — bu frontend arxitekturasi bo‘lib, loyihadagi kodlar texnik rollarga (masalan: components, services, utils) emas, balki biznes funksiyalari asosida tashkil etiladi.
FSD asosiy maqsadlari:
Loyihani kattalashtirish oson bo‘lishi
Feature'larni ajratish (Separation of Concerns)
Koddan qayta foydalanish va kodni soddalashtirish
🗂️ Asosiy qatlamlar (Layer’lar)
FIAS loyihasi quyidagi asosiy bo‘limlarga ajratiladi:
1. app/ (faqat Next.js uchun)
app/ (faqat Next.js uchun)App Router asosida marshrutlar va layout'lar shu yerda aniqlanadi.
2. pages/ (faqat React.js uchun)
pages/ (faqat React.js uchun)Asosiy sahifalar va routing sozlamalari shu yerda joylashadi.
3. shared/
shared/Loyihaning istalgan qismida qayta foydalaniladigan umumiy komponentlar, hook’lar, util funksiyalar, uslublar va typelar joylashadi.
4. entities/
entities/Domen darajasidagi unitlar (masalan: user, product, cart) joylashadi.
Har bir entity quyidagilardan iborat bo‘ladi:
O‘ziga xos ma’lumot modellari
UI komponentlar
Minimal biznes logika
5. features/
features/Bitta yoki bir nechta entities asosida qurilgan funksional birliklar.
Misol uchun: auth/login, search/filter, cart/addItem.
6. widgets/
widgets/Bir nechta features yoki entitiesni birlashtirgan murakkab UI bloklari.
Misollar: Header, Sidebar, ProductPreview.
7. processes/ (ixtiyoriy)
processes/ (ixtiyoriy)Murakkab UI jarayonlari (workflow)ni boshqaruvchi logikalar.
Masalan: checkout jarayoni, turli qismdagi widgets va featuresni birlashtiradi.
8. app/ yoki pages/
app/ yoki pages/Ilovaning boshlang‘ich nuqtalari — marshrutlar, layout’lar va umumiy konfiguratsiyalar joylashadi.
(Template turiga qarab farq qiladi: Next.js’da app/, React’da pages/ bo‘ladi)
🧱 Nomlash tartibi
Har bir funksional bo‘lim odatda quyidagi ichki tuzilmani egallaydi:
features/
└── login/
├── ui/ ← React komponentlar
├── model/ ← Holat (state), hook’lar, schema’lar
└── lib/ ← Ichki yordamchi funksiyalar va mantiqlarui/ – Interfeys komponentlari model/ – Holatlarni boshqarish, hook’lar, Zustand yoki schema’lar lib/ – Ichki biznes mantiqlari, yordamchi funksiyalar
📚 Qo'shimcha o'qish uchun
Last updated