Files
citrus/README.md
T

5.2 KiB
Raw Blame History

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
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:

  1. Geliştirici El Kitabı: docs/DEVELOPER_HANDBOOK.md
  2. Localization Pattern: docs/LOCALIZATION_PATTERN.md
  3. Modül Template: docs/MODULE_TEMPLATE.md
  4. 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');

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

  1. Fork yapın
  2. Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Değişikliklerinizi commit edin (git commit -m 'Add amazing feature')
  4. Branch'inizi push edin (git push origin feature/amazing-feature)
  5. 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

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.