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.
- Backend: Laravel 12.x
- Admin Panel: Filament 3.x
- Database: MySQL/PostgreSQL
- Frontend: Blade Templates + Alpine.js
- Localization: Laravel Localization (TR/EN)
- Testing: PHPUnit
- PHP 8.2+
- Composer
- Node.js 18+
- MySQL 8.0+ veya PostgreSQL 13+
git clone <repository-url>
cd citrus-platformcomposer install
npm installcp .env.example .env
php artisan key:generate.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=php artisan migrate
php artisan db:seedphp artisan storage:linknpm run buildCitrus 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ü, platformdaki tüm modüller için referans alınacak örnek modüldür:
- ✅ 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
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
Platform, Laravel Localization sistemi kullanarak çoklu dil desteği sağlar:
use Illuminate\Support\Facades\App;
// Türkçe'ye geç
App::setLocale('tr');
// İngilizce'ye geç
App::setLocale('en');// Blade template'lerde
{{ __('pages.title') }}
// Controller'larda
$title = __('pages.navigation_label');Uygulamada kullanılan özel ve yardımcı konsol komutlarının listesi ve kullanım detayları aşağıdadır.
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-htmlSeçenekler:
--force: Mevcut şablonları günceller ve üzerine yazar.
Mevcut bir kullanıcıya super_admin yetkisi verir. Sistemdeki tüm izinleri bu role tanımlar.
php artisan make-super-adminKomut çalıştırıldığında kullanıcı e-posta adresi sorulacaktır.
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 --factorySisteme yeni bir Resource veya Policy eklendiğinde izinleri veritabanına kaydetmek için:
php artisan shield:generate --allFilament paneline erişebilecek standart bir kullanıcı oluşturmak için:
php artisan make:filament-user# Tüm testler
php artisan test
# Belirli test sınıfı
php artisan test --filter=PageTest
# Coverage ile
php artisan test --coverage- Unit Tests: Model ve sınıf testleri
- Feature Tests: API ve sayfa testleri
- Localization Tests: Çeviri testleri
- Integration Tests: Sistem entegrasyon testleri
# 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# 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=- 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
- PSR-12 standartlarına uyun
- Type hinting kullanın
- Test yazın
- Dokümantasyonu güncelleyin
- Localization kullanın
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
- Proje Sahibi: [İsim]
- Email: [email@example.com]
- Website: [https://example.com]
- İ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.