Skip to content

ufukkay/D365

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart File Manager Banner

Smart File Manager (D365)

Version License

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.

🚀 Özellikler

  • 🔍 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ı.

⚙️ Sistem Gereksinimleri (Requirements)

Projeyi sorunsuz çalıştırmak için aşağıdaki gereksinimlerin karşılandığından emin olun.

💻 Geliştirme Ortamı (Development)

  • İş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.

🏭 Sunucu & Yayınlama (Production / IIS)

  • 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ı.

📱 İstemci (Kullanıcılar)

  • Tarayıcı: Modern web tarayıcıları (Chrome, Edge, Firefox, Safari).
  • Ekran: Responsive tasarım (Masaüstü, Tablet veya Mobil uyumlu).

🛠️ Kurulum ve Çalıştırma

1. Projeyi Klonlayın

git clone https://github.com/ufukkay/D365.git
cd D365

2. Sunucuyu (Server) Hazırlayın ve Başlatın

Arka 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.

3. İstemciyi (Client) Hazırlayın ve Başlatın

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şlat

Uygulama genellikle http://localhost:5173 adresinde açılacaktır.


🌐 IIS (Internet Information Services) Üzerinde Yayınlama

Bu uygulamayı Windows Server veya Windows 10/11 üzerinde IIS ile yayınlamak için aşağıdaki adımları izleyin.

Adım 1: IIS ve URL Rewrite Modülü Kurulumu

  1. IIS'i Etkinleştirin: Windows Özelliklerini Aç/Kapat > Internet Information Services.
  2. Application Request Routing (ARR) Kurun: IIS üzerinden Node.js process'ine proxy yapmak için gereklidir.
  3. URL Rewrite Modülünü İndirin ve Kurun: IIS URL Rewrite.
  4. Node.js'i Sunucuya Kurun: Sunucuda Node.js yüklü olmalıdır.

Adım 2: Frontend (React) Build Alınması

React uygulamasını statik dosyalara dönüştürün.

cd client
npm run build

Bu işlem client/dist klasöründe yayınlanmaya hazır dosyaları oluşturur.

Adım 3: Backend (Server) Yapılandırması

  1. Sunucuda (örn: C:\inetpub\wwwroot\smart-file-manager) bir klasör oluşturun.
  2. server klasöründeki dosyaları buraya kopyalayın.
  3. client/dist içindeki dosyaları, sunucu klasöründe public adında bir klasör açıp içine atın.
  4. server.js dosyası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'));
    });
  5. Prodüksiyon için pm2 gibi bir process manager kullanmanız önerilir:
    npm install -g pm2
    pm2 start server.js --name "smart-file-manager"

Adım 4: IIS Ters Proxy (Reverse Proxy) Ayarı

  1. IIS Yöneticisi'ni açın ve yeni bir "Add Website" oluşturun.
  2. Portu (örn: 80 veya 8080) belirleyin.
  3. Website ana dizininde bir web.config dosyası 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.


🗺️ Geliştirme Planı (Roadmap)

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.

🏗️ Proje Yapısı

  • /server: Express.js API, SQLite Veritabanı, Dosya Servisleri.
  • /client: React, TailwindCSS, Axios, Lucide React (İkonlar).
  • files.db: Uygulamanın kalbi (Veritabanı).

📝 Lisans

MIT License - Özgürce kullanabilir ve geliştirebilirsiniz.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages