(turkish: Türkçe açıklamalar installation kısmından sonra)
- A RESTful API built with SOLID, modern and clean architecture.
- PHP 8.2+, Laravel 12.x
- Laravel Sanctum (Authentication)
- Interface-driven design with service + repository separation
- Multi-language support
- Translation support (any service can be integrated)
- Role-based access control (RBAC)
- Caching (Redis & File) — works with PHPRedis extension,
multiple cache services can be used depending on the repository - MySQL (any database can be used — db-agnostic)
- MediaHandler (images, videos, and audio can be processed; currently supports WebP conversion)
- This is a skeleton project with lots of room for improvements. You can easily extend it and adapt it to your needs - fully open for your imagination.
- My recommendations: optimize cache & SQL, refactor classes with too many responsibilities, and consider building the frontend using the same services.
- There are TODO notes inside the project for further improvements.
- At the bottom, you will find an AI-generated diagram.
It gives a quick overview of the system and helps you understand how to build on top of it.
# Clone the repository git clone https://github.com/emreziplar/Laravel-API.git cd laravel-api composer install npm install # Environment setup cp .env.example .env php artisan key:generate # Database setup php artisan migrate php artisan storage:link # Run the server php artisan serve💡 Tip: Using Docker is recommended for easier environment setup, including PHP, Redis and MySQL. This makes the project more portable and production-ready.
RESTful API projesi SOLID, modern ve temiz mimari ile geliştirilmiştir.
- PHP 8.2+, Laravel 12.x
- Laravel Sanctum (Kimlik doğrulama için)
- Service + repository ayrımı ile interface tabanlı tasarım
- Çoklu dil desteği
- Çeviri desteği (istediğiniz servis eklenebilir)
- Rol tabanlı yetkilendirme (RBAC)
- Önbellekleme (Redis & File) — PHPRedis eklentisi ile çalışır, repository bazında birden fazla cache servisi kullanılabilir
- MySQL (istediğiniz veritabanı kullanılabilir — db-agnostic)
- MediaHandler (resim, video ve ses işlenebilir; şu anda WebP dönüşümü mevcut)
- Bu proje bir iskelet yapıdır ve geliştirmeye açıktır.
İhtiyacınıza göre kolayca genişletebilir ve uyarlayabilirsiniz. - Öneriler: Cache ve SQL optimizasyonları, fazla sorumluluğu olan sınıfların refactor edilmesi ve frontend’i aynı servisleri kullanarak inşa etmek.
- Proje içinde geliştirme için TODO notları bulunuyor.
- En altta AI tarafından üretilmiş bir diyagram var.
Sistemi hızlıca anlamak ve üzerine geliştirme yapmak için inceleyebilirsiniz.
# Depoyu klonla git clone https://github.com/emreziplar/Laravel-API.git cd laravel-api composer install npm install # Ortam ayarları cp .env.example .env php artisan key:generate # Veritabanı ayarları php artisan migrate php artisan storage:link # Sunucuyu çalıştır php artisan serve💡 İpucu: Docker kullanmak tavsiye edilir. PHP, Redis ve MySQL ortamlarını kolayca hazırlar ve projeyi daha taşınabilir ve production-ready hâle getirir.
