public/html directory to Laravel Blade structure. This includes guidelines on source and target structure, component organization, code conversion rules, CMS integration, and automatic menu configuration, enhancing the development process for frontend themes.
Citrus Platform
Genel Bakış
Citrus Platform, Laravel tabanlı modüler bir platformdur. Türkçe NLP, sınıflandırma, özetleme ve raporlama özelliklerini içeren evrensel bir AI entegrasyon sistemi olarak tasarlanmıştır.
Teknoloji Stack
- Backend: Laravel 12.x
- Admin Panel: Filament 3.x
- Database: MySQL/PostgreSQL
- Frontend: Blade Templates + Alpine.js
- Localization: Laravel Localization (TR/EN)
- Testing: PHPUnit
Kurulum
Gereksinimler
- PHP 8.2+
- Composer
- Node.js 18+
- MySQL 8.0+ veya PostgreSQL 13+
Adım 1: Projeyi Klonla
git clone <repository-url>
cd citrus-platform
Adım 2: Bağımlılıkları Yükle
composer install
npm install
Adım 3: Environment Ayarları
cp .env.example .env
php artisan key:generate
Adım 4: Veritabanı Ayarları
.env dosyasında veritabanı ayarlarını yapın:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=citrus_platform
DB_USERNAME=root
DB_PASSWORD=
Adım 5: Migration ve Seed
php artisan migrate
php artisan db:seed
Adım 6: Storage Link
php artisan storage:link
Adım 7: Frontend Build
npm run build
Geliştirme
Modül Geliştirme
Citrus Platform'da yeni modül geliştirmek için Pages modülünü referans alın:
- Geliştirici El Kitabı:
docs/DEVELOPER_HANDBOOK.md - Localization Pattern:
docs/LOCALIZATION_PATTERN.md - Modül Template:
docs/MODULE_TEMPLATE.md - Cursor Rules:
.cursorrules
Pages Modülü - Örnek Modül
Pages modülü, platformdaki tüm modüller için referans alınacak örnek modüldür:
Özellikler
- ✅ Localization: Türkçe ve İngilizce dil desteği
- ✅ CRUD Operations: Oluşturma, okuma, güncelleme, silme
- ✅ Soft Delete: Yumuşak silme özelliği
- ✅ Form Validation: Kapsamlı form doğrulama
- ✅ Table Features: Filtreleme, sıralama, arama
- ✅ Action Buttons: Silme, geri yükleme, kalıcı silme
- ✅ Notifications: Başarı/hata mesajları
- ✅ Redirects: Sayfa yönlendirmeleri
Dosya Yapısı
app/Filament/Admin/Resources/Pages/
├── PageResource.php
├── Pages/
│ ├── ListPages.php
│ ├── CreatePage.php
│ └── EditPage.php
├── Schemas/
│ └── PageForm.php
└── Tables/
└── PagesTable.php
lang/
├── tr/pages.php
└── en/pages.php
Localization Sistemi
Platform, Laravel Localization sistemi kullanarak çoklu dil desteği sağlar:
Dil Değiştirme
use Illuminate\Support\Facades\App;
// Türkçe'ye geç
App::setLocale('tr');
// İngilizce'ye geç
App::setLocale('en');
Çeviri Kullanımı
// Blade template'lerde
{{ __('pages.title') }}
// Controller'larda
$title = __('pages.navigation_label');
Konsol Komutları
Uygulamada kullanılan özel ve yardımcı konsol komutlarının listesi ve kullanım detayları aşağıdadır.
Özel Uygulama Komutları
1. HTML Tema İçe Aktarma
public/html klasöründeki HTML şablon dosyalarını analiz eder, parçalara ayırır (header, footer, section) ve veritabanına kaydeder.
php artisan theme:import-html
Seçenekler:
--force: Mevcut şablonları günceller ve üzerine yazar.
2. Süper Yönetici Oluşturma
Mevcut bir kullanıcıya super_admin yetkisi verir. Sistemdeki tüm izinleri bu role tanımlar.
php artisan make-super-admin
Komut çalıştırıldığında kullanıcı e-posta adresi sorulacaktır.
Filament ve Yetkilendirme Komutları
1. Yeni Kaynak (Resource) Oluşturma
Filament standartlarına uygun yeni bir modül kaynağı oluşturmak için şu komutu kullanın (Model, Migration ve Factory otomatik oluşturulur):
php artisan make:filament-resource ModelName --generate --model --migration --factory
2. İzinleri Oluşturma (Shield)
Sisteme yeni bir Resource veya Policy eklendiğinde izinleri veritabanına kaydetmek için:
php artisan shield:generate --all
3. Panel Kullanıcısı Oluşturma
Filament paneline erişebilecek standart bir kullanıcı oluşturmak için:
php artisan make:filament-user
Test
Test Çalıştırma
# Tüm testler
php artisan test
# Belirli test sınıfı
php artisan test --filter=PageTest
# Coverage ile
php artisan test --coverage
Test Kategorileri
- Unit Tests: Model ve sınıf testleri
- Feature Tests: API ve sayfa testleri
- Localization Tests: Çeviri testleri
- Integration Tests: Sistem entegrasyon testleri
Deployment
Production Hazırlığı
# Cache temizleme
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
# Cache oluşturma
php artisan config:cache
php artisan route:cache
php artisan view:cache
# Migration
php artisan migrate --force
# Storage link
php artisan storage:link
Environment Variables
# Localization
APP_LOCALE=tr
APP_FALLBACK_LOCALE=en
# Cache
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
# Database
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=citrus_platform
DB_USERNAME=root
DB_PASSWORD=
Dokümantasyon
Geliştirici Dokümantasyonu
API Dokümantasyonu
Katkıda Bulunma
Geliştirme Süreci
- Fork yapın
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Değişikliklerinizi commit edin (
git commit -m 'Add amazing feature') - Branch'inizi push edin (
git push origin feature/amazing-feature) - Pull Request oluşturun
Kod Standartları
- PSR-12 standartlarına uyun
- Type hinting kullanın
- Test yazın
- Dokümantasyonu güncelleyin
- Localization kullanın
Lisans
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
İletişim
- Proje Sahibi: [İsim]
- Email: [email@example.com]
- Website: [https://example.com]
Changelog
v1.0.0 (2024-01-01)
- İlk sürüm
- Pages modülü eklendi
- Localization sistemi kuruldu
- Filament admin panel entegrasyonu
- Test altyapısı oluşturuldu
Not: Bu README dosyası, Citrus Platform'un genel yapısını ve kullanımını açıklar. Detaylı geliştirme bilgileri için docs/ klasöründeki dokümantasyonları inceleyin.