36e54107e40f7935d6e3222437acb8b853dd036d
Add dashboard and widgets: Implemented a new Dashboard page with vari…
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');
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.
Description
Languages
HTML
90.8%
CSS
4.5%
PHP
2.3%
Blade
2.2%
JavaScript
0.2%