Files
smarthome/README.md
2025-11-07 22:42:41 +03:00

4.4 KiB
Raw Blame History

SmartHome Web Application

A modern smart home management system built with Svelte frontend and Node.js/Express backend with MongoDB integration.

📁 Proje Yapısı

smarthome/
├── src/                    # Svelte frontend kaynak kodları
├── api/                    # Node.js backend API
│   ├── models/            # MongoDB veri modelleri
│   ├── controllers/       # API kontrolörleri
│   ├── routes/           # API route'ları
│   ├── configs/          # Yapılandırma dosyaları
│   └── library/          # Yardımcı kütüphaneler
├── public/               # Statik dosyalar
├── scripts/             # Build script'leri
└── .env.*               # Environment dosyaları

🚀 Özellikler

  • Frontend: Svelte + Vite modern, hızlı arayüz
  • Backend: Express.js RESTful API
  • Veritabanı: MongoDB ile entegre
  • Gerçek Zamanlı: Socket.io ile real-time iletişim
  • Docker Destekli: Kolay deployment
  • Responsive: Mobil uyumlu tasarım

🛠️ Kurulum

Gereksinimler

  • Node.js (v16 veya üzeri)
  • MongoDB (yönelimli)
  • npm veya yarn

Adımlar

  1. Projeyi klonlayın:
git clone [repository-url]
cd smarthome
  1. Frontend bağımlılıkları:
npm install
  1. Backend bağımlılıkları:
cd api
npm install
cd ..
  1. Environment konfigürasyonu:
# Mevcut .env dosyalarını kopyalayın
cp .env.example .env.local
cp api/.env.example api/.env
  1. Uygulamayı çalıştırın:
# Frontend (terminal 1)
npm run dev

# Backend (terminal 2)
cd api
npm start

🔧 Environment Değişkenleri

Frontend Environment Dosyaları

Proje dizininde bulunan environment dosyaları:

.env.dev (Geliştirme Ortamı)

VITE_API_URL="http://localhost:3000"

.env.prod (Production Ortamı)

VITE_API_URL="https://smarthome.wisecolt-panda.net"

api/.env.mongo (MongoDB Konfigürasyonu)

# Bu dosya boş veya MongoDB connection string içerir
# Örnek:
# MONGODB_URI="mongodb://localhost:27017/smarthome"
# veya
# MONGODB_URI="mongodb+srv://username:password@cluster.mongodb.net/smarthome"

Yeni Proje Kurulumu için Environment Şablonu

Yeni bir proje kurarken şu dosyaları oluşturun:

.env.local (Frontend için)

# API URL konfigürasyonu
VITE_API_URL="http://localhost:3000"

# Opsiyonel: Diğer frontend ayarları
# VITE_APP_NAME="SmartHome"
# VITE_APP_VERSION="1.0.0"

api/.env (Backend için)

# Port ayarları
PORT=3000

# MongoDB bağlantısı
MONGODB_URI="mongodb://localhost:27017/smarthome"

# JWT Secret (production'da güçlü bir değer kullanın)
JWT_SECRET="your-secret-key-here"

# CORS ayarları
CORS_ORIGIN="http://localhost:5173"

# Socket.io ayarları
SOCKET_CORS_ORIGIN="http://localhost:5173"

📝 Environment Dosyalarının Listesi

Proje içinde mevcut olan tüm environment dosyaları:

  1. .env.dev - Geliştirme ortamı frontend konfigürasyonu
  2. .env.prod - Production ortamı frontend konfigürasyonu
  3. api/.env.mongo - MongoDB veritabanı bağlantı ayarları

🐳 Docker ile Deployment

# Backend API'yi build et
cd api
docker build -t smarthome-api .

# Docker Compose ile çalıştır
docker-compose up -d

🌐 API Endpoint'leri

  • GET /api/devices - Cihazları listele
  • POST /api/devices - Yeni cihaz ekle
  • PUT /api/devices/:id - Cihaz güncelle
  • GET /api/devices/:id/logs - Cihaz log'larını getir

📚 Kullanılan Teknolojiler

Frontend

Backend

🤝 Katkıda Bulunma

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

📄 Lisans

Bu proje ISC lisansı altında lisanslanmıştır.