escambalkon's picture
verilere dışardan erişmek için veri tabanı kursun
426ea2d verified
# Pencere Ölçü Hesaplama Sistemi

Pencere ve kapı ölçülerini hesaplayan, profilleri yöneten ve PDF raporlar oluşturan modern bir web uygulaması.

## 🚀 Özellikler

-**Modern Arayüz**: Tailwind CSS ile tasarlanmış responsive arayüz
- 🗄️ **Bulut Veritabanı**: MongoDB Atlas ile güvenli veri depolama
- 👥 **Çok Kullanıcılı**: Admin ve kullanıcı rolleri
- 📊 **Detaylı Raporlama**: PDF ve görsel raporlar
- 🔧 **Sistem Yönetimi**: Pencere sistemleri ve profilleri
- 💾 **Yedekleme**: Otomatik ve manuel veri yedekleme
- 🌐 **Her Yerden Erişim**: Bulut tabanlı çalışma

## 📋 Kurulum

### 1. Gereksinimler

- Node.js 16+ 
- MongoDB Atlas hesabı (ücretsiz)
- Git

### 2. Projeyi Klonlayın

```bash
git clone https://github.com/username/pencere-hesaplama.git
cd pencere-hesaplama

3. MongoDB Atlas Kurulumu

  1. MongoDB Atlas'a kaydolun
  2. Ücretsiz M0 Sandbox cluster oluşturun
  3. Database User oluşturun
  4. Network Access'te IP adresinizi ekleyin (0.0.0.0/0)
  5. Connection String'i kopyalayın

4. Sunucu Kurulumu

# Dependencies'i kurun
npm install

# .env dosyası oluşturun
cp .env.example .env

# .env dosyasını düzenleyin
nano .env

.env dosyasına MongoDB Atlas bilgilerinizi ekleyin:

MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/pencere-hesaplama?retryWrites=true&w=majority
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
PORT=3001

5. Veritabanını Kurun

# Atlas veritabanını kurun
npm run setup:atlas

# Örnek verileri ekleyin
npm run seed:data

6. Sunucuyu Başlatın

# Geliştirme modu
npm run dev

# Prodüksiyon modu
npm start

7. Frontend

index.html dosyasını web sunucusunda veya локал olarak açın:

# Python ile (eğer kuruluysa)
python -m http.server 3000

# Node.js ile
npx http-server -p 3000

# Veya doğrudan tarayıcıda açın
open index.html

🔗 Erişim

👤 Varsayılan Giriş

  • Kullanıcı Adı: admin
  • Şifre: admin123

📊 Kullanım

1. Sistem Yönetimi

  • Ayarlar → Sistem Yönetimi
  • Yeni pencere sistemleri ekleyin
  • Profilleri ve formülleri yapılandırın

2. Cari Yönetimi

  • Cariler sekmesine gidin
  • Yeni müşteriler ekleyin
  • Müşteri pozlarını yönetin

3. Hesaplama

  • Ana sayfada sistem seçin
  • Ölçüleri girin (genişlik, yükseklik, adet)
  • Proje ve müşteri bilgilerini ekleyin
  • "Hesapla ve Poz Ekle" butonuna tıklayın

4. PDF Raporları

  • Hesaplanan pozlar için PDF oluşturun
  • Firma bilgilerini özelleştirin
  • Toplu raporlar indirin

🛠️ API Endpoint'leri

Authentication

  • POST /api/auth/login - Giriş
  • POST /api/auth/register - Kayıt

Systems

  • GET /api/systems - Sistemleri listele
  • POST /api/systems - Yeni sistem
  • PUT /api/systems/:id - Sistem güncelle
  • DELETE /api/systems/:id - Sistem sil

Customers

  • GET /api/customers - Müşterileri listele
  • POST /api/customers - Yeni müşteri
  • PUT /api/customers/:id - Müşteri güncelle
  • DELETE /api/customers/:id - Müşteri sil

Positions

  • GET /api/positions - Pozları listele
  • POST /api/positions - Yeni poz
  • PUT /api/positions/:id - Poz güncelle
  • DELETE /api/positions/:id - Poz sil

🔄 Yedekleme

Otomatik Yedekleme

# Yedek oluştur
curl http://localhost:3001/api/backup -o backup-$(date +%Y-%m-%d).json

# Yedeği geri yükle
curl -X POST http://localhost:3001/api/restore \
  -H "Content-Type: application/json" \
  -d @backup-file.json

Manuel Yedekleme

Uygulama üzerinden: Yedekleme → Veri Yedeği Oluştur

🐛 Hata Ayıklama

MongoDB Atlas Bağlantı Sorunları

  1. Authentication Failed

    • Username/password kontrol edin
    • Database user permissions kontrol edin
  2. IP Access List

    • Atlas dashboard'da IP adresinizi ekleyin
    • 0.0.0.0/0 (tüm IP'ler) için izin verin
  3. Connection String Hatası

    • Connection string'i kopyalayıp yapıştırın
    • Username/password doğru escaped mi kontrol edin

Loglama

# Sunucu loglarını izle
npm run dev

# MongoDB loglarını kontrol et
# Atlas Dashboard → Clusters → Your Cluster → Metrics

📱 Responsive Tasarım

  • Mobil uyumlu arayüz
  • Tablet ve masaüstü optimizasyonu
  • Touch-friendly kontroller

🔒 Güvenlik

  • JWT tabanlı kimlik doğrulama
  • Password hashing (bcrypt)
  • CORS protection
  • Input validation
  • SQL injection protection

🚀 Deployment

Heroku

# Heroku CLI kurulumu
npm install -g heroku

# Uygulama oluşturma
heroku create your-app-name

# Environment variables
heroku config:set MONGODB_URI=mongodb+srv://...
heroku config:set JWT_SECRET=your-secret

- Deploy etme
git push heroku main

Vercel

Frontend için Vercel kullanabilirsiniz:

# Vercel CLI
npm i -g vercel

# Deploy
vercel --prod

📄 Lisans

MIT License - LICENSE dosyasını inceleyin

🤝 Katkıda Bulunma

  1. Fork yapın
  2. Feature branch oluşturun (git checkout -b feature/AmazingFeature)
  3. Commit yapın (git commit -m 'Add some AmazingFeature')
  4. Push yapın (git push origin feature/AmazingFeature)
  5. Pull Request açın

📞 Destek

🎯 Roadmap

  • Mobil uygulama (React Native)
  • Real-time collaboration
  • Advanced reporting dashboard
  • Integration with ERP systems
  • Multi-language support
  • Offline mode

Bu güncellemelerle birlikte:

1. **MongoDB Atlas Entegrasyonu**: Bulut tabanlı veritabanı kurulumu
2. **Basitleştirilmiş Kurulum**: Tek tıkla veritabanı kurulumu
3. **Demo Verileri**: Başlangıç için örnek sistemler ve müşteriler
4. **Responsive Atlas Modal**: Kolay Atlas yapılandırması
5. **Kapsamlı Dokümantasyon**: Kurulum ve kullanım rehberi
6. **Script Tabanlı Kurulum**: Otomatik veritabanı kurulum script'leri

Kullanıcılar artık:
- MongoDB Atlas'ta ücretsiz hesap açabilir
- Tek tıkla veritabanını kurabilir
- Demo verilerle başlayabilir
- Her yerden erişebilir
- Güvenli bir şekilde verilerini saklayabilir
___METADATA_START___
{"repoId":"escambalkon/window-calculator-pro","isNew":false,"userName":"escambalkon"}
___METADATA_END___