diff --git a/views/index.ejs b/views/index.ejs new file mode 100644 index 0000000..ae5e80a --- /dev/null +++ b/views/index.ejs @@ -0,0 +1,104 @@ +
+

Panel

+

Genel envanter özeti ve son stok hareketleri

+
+ +
+
+
📦
+
+
<%= totalProducts %>
+
Toplam Ürün
+
+
+
+
💵
+
+
<%= totalStockValue.toLocaleString('tr-TR') %> ₺
+
Stok Değeri
+
+
+
+
🔢
+
+
<%= totalStockCount %>
+
Toplam Stok Miktarı
+
+
+
+
⚠️
+
+
<%= lowStockCount %>
+
Düşük Stok
+
+
+
+ +
+
+

Düşük Stoklu Ürünler

+ <% if (lowStockProducts.length === 0) { %> +

Tüm ürünlerin stoku güvenli seviyede. ✅

+ <% } else { %> + + + + + + <% lowStockProducts.forEach(p => { %> + + + + + + <% }) %> + +
ÜrünStokEşik
<%= p.name %><%= p.stock %><%= p.minimumStock %>
+ <% } %> +
+ +
+

Son Hareketler

+ <% if (recentMovements.length === 0) { %> +

Henüz stok hareketi yok.

+ <% } else { %> + + + + + + <% recentMovements.forEach(m => { %> + + + + + + + <% }) %> + +
ÜrünTipMiktarTarih
<%= m.productName %> + <%= m.type === 'in' ? 'Giriş' : 'Çıkış' %><%= m.quantity %><%= new Date(m.date).toLocaleString('tr-TR') %>
+ <% } %> +
+
+ +
+

Kategori Bazlı Özet

+ + + + + + <% categorySummary.forEach(c => { %> + + + + + + + <% }) %> + +
KategoriÜrün SayısıStok DeğeriDüşük Stok
<%= c.name %><%= c.totalProducts %><%= c.totalStockValue.toLocaleString('tr-TR') %> ₺ + <%= c.lowStockCount > 0 ? '⚠️ ' + c.lowStockCount : '—' %> +
+