Smart File Manager, yerel dosya sisteminizi tarayan, web tabanlı modern bir arayüz üzerinden dosyalarınızı hızlıca bulmanızı, etiketlemenizi ve yönetmenizi sağlayan profesyonel bir araçtır.
- 🔍 Hızlı Dosya Tarama: Belirlenen dizinleri derinlemesine tarayarak veritabanına indeksler (SQLite).
- 📂 Gelişmiş Arama & Filtreleme: Dosyaları isme, türe, uzantıya veya etikete göre anında bulun.
- 🏷️ Metadata & Etiketleme: Dosyalarınıza özel etiketler (tags) ve önem derecesi (importance: High, Medium, Low) atayın.
- 🖥️ Sistem Entegrasyonu: Dosyaları doğrudan tarayıcı üzerinden, işletim sistemindeki varsayılan uygulamasıyla tek tıkla açın.
- 🎨 Modern Arayüz: React, Vite ve TailwindCSS ile geliştirilmiş, gece moduna uyumlu, "Glassmorphism" esintili şık tasarım.
- ⚡ Performanslı Veritabanı: 100.000+ dosyayı saniyeler içinde sorgulayabilen optimize edilmiş SQLite yapısı.
Projeyi sorunsuz çalıştırmak için aşağıdaki gereksinimlerin karşılandığından emin olun.
- İşletim Sistemi: Windows 10/11, MacOS veya Linux.
- Node.js: v18.0.0 (LTS) veya üzeri.
- Paket Yöneticisi: NPM (Node.js ile gelir) veya Yarn.
- Git: Versiyon kontrolü için son sürüm.
- OS: Windows Server 2016+ veya Windows 10/11 Pro.
- IIS: Sürüm 10 veya üzeri.
- Gerekli IIS Modülleri:
- Donanım (Önerilen):
- RAM: Minimum 4GB (Büyük veritabanı işlemleri için).
- Disk: Veritabanı boyutuna bağlı olarak yeterli SSD alanı.
- Tarayıcı: Modern web tarayıcıları (Chrome, Edge, Firefox, Safari).
- Ekran: Responsive tasarım (Masaüstü, Tablet veya Mobil uyumlu).
git clone https://github.com/ufukkay/D365.git
cd D365Arka uç (Backend), API servislerini ve veritabanı bağlantısını yönetir.
cd server
npm install # Bağımlılıkları yükle
node server.js # Sunucuy başlata (Port: 3001)Sunucu çalıştığında: http://localhost:3001 adresinde aktif olacaktır.
💡 İpucu: Geliştirme modunda otomatik yeniden başlatma için npm run dev (nodemon varsa) kullanabilirsiniz.
Yeni bir terminal açın ve ön yüz (Frontend) uygulamasını başlatın.
cd client
npm install # Bağımlılıkları yükle
npm run dev # Geliştirme sunucusunu başlatUygulama genellikle http://localhost:5173 adresinde açılacaktır.
Bu uygulamayı Windows Server veya Windows 10/11 üzerinde IIS ile yayınlamak için aşağıdaki adımları izleyin.
- IIS'i Etkinleştirin: Windows Özelliklerini Aç/Kapat > Internet Information Services.
- Application Request Routing (ARR) Kurun: IIS üzerinden Node.js process'ine proxy yapmak için gereklidir.
- URL Rewrite Modülünü İndirin ve Kurun: IIS URL Rewrite.
- Node.js'i Sunucuya Kurun: Sunucuda Node.js yüklü olmalıdır.
React uygulamasını statik dosyalara dönüştürün.
cd client
npm run buildBu işlem client/dist klasöründe yayınlanmaya hazır dosyaları oluşturur.
- Sunucuda (örn:
C:\inetpub\wwwroot\smart-file-manager) bir klasör oluşturun. serverklasöründeki dosyaları buraya kopyalayın.client/distiçindeki dosyaları, sunucu klasöründepublicadında bir klasör açıp içine atın.server.jsdosyasında şu satırı ekleyerek statik dosyaların sunulmasını sağlayın:const path = require('path'); app.use(express.static(path.join(__dirname, 'public'))); app.get('*', (req, res) => { res.sendFile(path.join(__dirname, 'public', 'index.html')); });
- Prodüksiyon için
pm2gibi bir process manager kullanmanız önerilir:npm install -g pm2 pm2 start server.js --name "smart-file-manager"
- IIS Yöneticisi'ni açın ve yeni bir "Add Website" oluşturun.
- Portu (örn: 80 veya 8080) belirleyin.
- Website ana dizininde bir
web.configdosyası oluşturun ve şu kuralları ekleyin (Node.js'e yönlendirme için):
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="NodeJS Proxy" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="http://localhost:3001/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>Not: Bu basit bir Reverse Proxy ayarıdır. Node.js sunucusu 3001 portunda arkada çalışmaya devam etmelidir.
Gelecek sürümler için planlanan özellikler:
- v1.1 - Önizleme Modu: PDF ve Resim dosyalarının uygulama içinde önizlenmesi.
- v1.2 - Toplu İşlemler: Birden fazla dosyayı aynı anda silme/taşıma.
- v1.3 - Cloud Sync: Etiketlerin ve veritabanının buluta yedeklenmesi.
- v2.0 - Kullanıcı Yetkilendirme: Login ekranı ve çoklu kullanıcı desteği.
/server: Express.js API, SQLite Veritabanı, Dosya Servisleri./client: React, TailwindCSS, Axios, Lucide React (İkonlar).files.db: Uygulamanın kalbi (Veritabanı).
MIT License - Özgürce kullanabilir ve geliştirebilirsiniz.
