Proje: Okul Platform · Hub: Okul Platform — Architecture
Temel Bilgiler
- Repo:
/Users/furkannamli/Desktop/project/api/okulcom-api - Framework: Laravel 11 (PHP 8.2+)
- Auth: Laravel Sanctum (token tabanlı)
- Queue: Laravel Horizon (Redis tabanlı)
- Search: Laravel Scout + Typesense
- Media: AWS S3 (league/flysystem-aws-s3-v3)
- Push Notification: OneSignal (laravel-notification-channels/onesignal)
- SMS: Infobip (infobip-api-php-client)
- Permission: Spatie Laravel Permission
- Image: Intervention Image
- Revision / Audit: sofa/revisionable
- Monitoring: Sentry (sentry/sentry-laravel)
- API Docs: DarkaOnline L5 Swagger (darkaonline/l5-swagger)
- Query Filtering: Spatie Laravel Query Builder
- Telescope: Sadece local/staging ortamda aktif
Mimari Yapı
app/
├── Console/ — Artisan commands
├── DTO/ — Data Transfer Objects (request → service katmanı arası)
├── Enums/ — PHP 8.1+ enum'ları
├── Events/ — Domain events
├── Exceptions/ — Custom exceptions
├── Helpers/ — PhoneNumberHelper vs.
├── Http/
│ ├── Controllers/
│ │ ├── Admin/ — Admin panel endpoint'leri
│ │ ├── Customer/ — B2B müşteri portal endpoint'leri
│ │ ├── General/ — Herkese açık endpoint'ler
│ │ ├── User/ — Kullanıcı auth + profil
│ │ └── ExternalWebhooks/
│ ├── Middleware/
│ └── Requests/ — FormRequest validation sınıfları
├── Integrations/
│ ├── Call/ — Sonitel telefon sistemi
│ └── CustomerIO/ — B2B ve B2C Customer.io entegrasyonu
├── Jobs/ — Queue job'ları
├── Listeners/
├── Models/
├── Policies/
├── Providers/
├── Repositories/ — Interface + Concrete pattern
├── Rules/ — Custom validation rules
└── Services/ — İş mantığı servisleri
packages/
├── Okul/ — Platform'a özel internal package
└── Sonitel/ — SMS/Call provider client (HTTP)
Otomatik Yüklenen Dosyalar
constants.php— global sabit:OLD_USER_MODEL = 'App\User'(migration legacy)helpers.php— global fonksiyonlar: isPhoneNumber, isPhoneGSM, getPhoneNaked, getPhoneNakedWithDigit_10/11
Related
- api-route-structure — route katmanı detayları
- api-key-integrations — CustomerIO, OneSignal, Infobip detayları