diff --git a/implementation_plan.md b/implementation_plan.md index 8fca192..0dfa574 100644 --- a/implementation_plan.md +++ b/implementation_plan.md @@ -11,6 +11,7 @@ Bu plan, Windows platformunda Laragon veya XAMPP benzeri, ancak Electron ile mod - [ ] **Gelişmiş Ayarlar (Settings)**: Alias yapılandırması, VHost yönetimi ve özel dizin eşlemeleri. - [ ] **Dinamik İndirme (Download Manager)**: Kurulumda boş gelen uygulamanın kullanıcı isteğiyle PHP, MySQL, Nginx gibi servisleri indirebilmesi. - [ ] **Proje Bazlı Sürüm Yönetimi**: Hangi projenin/dizinin hangi PHP ve MySQL sürümüyle çalışacağının tekil olarak belirlenmesi. +- [ ] **Otomatik Sürüm Algılama (Auto-Detect)**: Proje dizinindeki `composer.json` dosyasını analiz ederek gerekli PHP ve Laravel sürümünü otomatik tespit etme. - [ ] **Otomatik Konfigürasyon**: VHost, PHP.ini ve MySQL ayarlarının kullanıcı müdahalesi olmadan hazırlanması. ## Teknik Detaylar @@ -19,6 +20,7 @@ Bu plan, Windows platformunda Laragon veya XAMPP benzeri, ancak Electron ile mod Uygulama, servisleri Windows servisleri olarak kurmak yerine, taşınabilir (portable) binary'leri doğrudan `child_process.spawn` ile yönetecektir. - **Download Manager**: `axios` veya `got` gibi kütüphanelerle resmi sunuculardan (windows.php.net, dev.mysql.com vb.) ZIP dosyalarını indirir ve `bin/` altına çıkartır. +- **Sürüm Algılama**: `composer.json` dosyasını parse ederek `require.php` ve `laravel/framework` sürümlerini belirler. - **Versiyon İzolasyonu**: Her proje için `config/projects.json` içinde sürüm eşleşmeleri tutulur. - **Nginx**: `bin/nginx/nginx.exe` üzerinden başlatılacak. `config/nginx/nginx.conf` dosyası uygulama tarafından dinamik olarak güncellenecek. - **PHP**: Farklı sürümler `bin/php/php7.4/php-cgi.exe`, `bin/php/php8.2/php-cgi.exe` gibi yollarda bulunacak. Nginx, FastCGI (9000-9100 portları arası) üzerinden ilgili PHP sürümüne istek gönderecek. @@ -37,6 +39,7 @@ Uygulamanın tamamı **Material UI (MUI)** kütüphanesi kullanılarak geliştir - **Ayarlar (Settings) Ekranı**: - **Servis İndirme Merkezi**: Mevcut PHP, MySQL ve Nginx sürümlerini listeleyen ve tek tıkla indirme/silme imkanı sunan arayüz. - **Dizin ve Alias Eşleme**: Belirli bir dizine özel PHP ve MySQL sürümü atama imkanı. + - **Akıllı Algılama**: Proje klasörü seçildiğinde "Bu proje PHP 8.1 ve Laravel 10 gerektiriyor, uygun sürümü atamak ister misiniz?" şeklinde öneri sunulması. - **Config Path Yönetimi**: Proje bazlı `vhost` dosyalarının otomatik oluşturulması ve düzenlenmesi. - **Ağ Ayarları (Listen IP/Port)**: Servislerin sadece `localhost` (127.0.0.1) üzerinden mi yoksa dışa açık (0.0.0.0) şekilde mi çalışacağının belirlenmesi. - **Global Ayarlar**: Port seçimleri (80, 443, 3306), PHP sürüm atamaları. diff --git a/logo/truncgil-multiphp-server.cdr b/logo/truncgil-multiphp-server.cdr new file mode 100644 index 0000000..c5d8fe9 Binary files /dev/null and b/logo/truncgil-multiphp-server.cdr differ diff --git a/logo/truncgil-multiphp-server.svg b/logo/truncgil-multiphp-server.svg new file mode 100644 index 0000000..bedf876 --- /dev/null +++ b/logo/truncgil-multiphp-server.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + +