(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.
