Demir doğrama, çelik konstrüksiyon, korkuluk, merdiven, sundurma, kapı ve ferforje işleri yapan demirci atölyeleri için parça hesaplama, metraj, kesim optimizasyonu, stok, maliyet ve teklif hazırlama yazılımı.
Ana mantık: Ölçü → Parça → Malzeme → Kesim Planı → Fire → Maliyet → Teklif
server/src/calc), node --test ile birim testliserver/
prisma/schema.prisma Veritabanı şeması
prisma/seed.ts Başlangıç verisi (ürün şablonları, malzeme kataloğu, ayarlar)
src/calc/ Hesaplama motoru (railing, stairs, canopy, door, cutting, costing, sheet...)
src/calc/__tests__/ Birim testler
src/routes/ REST API uç noktaları
src/lib/ Prisma client, hata yönetimi, fiyatlandırma yardımcıları
client/
src/pages/ Dashboard, Yeni İş, İşler, Ürünler, Malzemeler, Kesim Listeleri,
Teklifler, Stok, Müşteriler, Ayarlar
src/components/ Layout, ortak UI bileşenleri, kesim şeması görselleştirme
src/api/ API istemcisi ve tip tanımları
DATABASE_URL (havuzlu) hem DIRECT_URL (doğrudan,
migration’lar için) adreslerini alıp .env‘e ekleyin — server/.env.example içinde örneği var.server/client içine girmeden)npm install # kök + server + client bağımlılıklarının hepsini kurar
cp server/.env.example server/.env # DATABASE_URL'i kendi Postgres/Supabase bilgilerinize göre düzenleyin
npx prisma migrate dev --prefix server --name init # veritabanı şemasını oluşturur
npx tsx server/prisma/seed.ts # ürün şablonları + malzeme kataloğu + ayarları ekler
npm run dev # backend (4000) + frontend (5173) AYNI ANDA başlar
npm run dev tek komutla hem backend’i hem frontend’i başlatır (çıktılar [SERVER]/[CLIENT] etiketli
görünür) — iki ayrı terminal açmaya gerek yoktur. Sadece birini çalıştırmak isterseniz: npm run dev:server
veya npm run dev:client.
Testleri çalıştırmak için (kökten): npm test
Uygulama tek bir servis olarak yayınlanacak şekilde hazırlandı: backend (Express), build edilmiş
frontend’i (client/dist) kendi içinden sunuyor, yani tek bir URL yeterli.
Repo kökündeki render.yaml bir “Blueprint” tanımıdır. Render.com’da:
gavalkadir2-tech/demir) seçin. Render render.yaml‘ı
otomatik okuyup servis ayarlarını dolduracaktır.DATABASE_URL (havuzlu, port 6543)DIRECT_URL (doğrudan, port 5432)https://demirci-atolye.onrender.com) — uygulama
o adreste canlı olur.Not: Ücretsiz Render servisleri 15 dakika kullanılmazsa uykuya geçer; uyandıktan sonra ilk istek ~30 saniye sürebilir, sonrası normal hızda çalışır.
Uygulanan (uçtan uca çalışır durumda):
server/src/calc içine yeni bir hesaplama fonksiyonu eklemeyi gerektiriyor)server/src/calc/__tests__/railing.test.ts dosyası, spesifikasyondaki 12 metre / 1200mm yükseklik /
1500mm dikme aralığı test senaryosunu birebir doğrular (9 dikme, 8×1500mm üst/alt profil, doğru
metraj ve kesim planı).