76046e07f0a154b565d042cff2022c686a12cd5a
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
- Projeyi klonlayın:
git clone [repository-url]
cd smarthome
- Frontend bağımlılıkları:
npm install
- Backend bağımlılıkları:
cd api
npm install
cd ..
- Environment konfigürasyonu:
# Mevcut .env dosyalarını kopyalayın
cp .env.example .env.local
cp api/.env.example api/.env
- 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ı:
.env.dev- Geliştirme ortamı frontend konfigürasyonu.env.prod- Production ortamı frontend konfigürasyonuapi/.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ı listelePOST /api/devices- Yeni cihaz eklePUT /api/devices/:id- Cihaz güncelleGET /api/devices/:id/logs- Cihaz log'larını getir
📚 Kullanılan Teknolojiler
Frontend
- Svelte - Modern UI kütüphanesi
- Vite - Hızlı build tool
- Svelte Routing - Client-side routing
Backend
- Express.js - Web framework
- MongoDB - NoSQL veritabanı
- Mongoose - MongoDB ODM
- Socket.io - Real-time iletişim
- Helmet - Security middleware
- Morgan - HTTP request logger
🤝 Katkıda Bulunma
- Fork yapın
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Commit yapın (
git commit -m 'Add some amazing feature') - Push yapın (
git push origin feature/amazing-feature) - Pull Request açın
📄 Lisans
Bu proje ISC lisansı altında lisanslanmıştır.
Description
Languages
JavaScript
52.5%
Svelte
41.6%
HTML
3.4%
CSS
1.5%
Dockerfile
1%