Solid infrastructure.">
Sıkıcı teknoloji.
Dayanıklı sistem.
PHP, MySQL, vanilla JS. Trend takip etmeyiz; 20 yıldır çalışan, dökümante, sorun çıkarsa Stack Overflow'da cevabı bulunan teknolojileri seçeriz.
PHP 8+ & PDO
Modern PHP (typed properties, enums, readonly), PDO prepared statements ile SQL injection'a sıfır toleranslı yaklaşım. Framework yok — anlaşılır, test edilebilir, hızlı.
Session-based auth
JWT karmaşası yok; basit, güvenli, debug edilebilir.
JSON API endpoints
RESTful, versiyonlanmış, dokümante. /api/v1/ standardı.
MySQL 8 & multi-tenant
Her tablo tenant_id ile izole. Her sorguya tenant_id eklenir, kod review'de bunu kaçırırsan PR geçmez. Foreign key zorunlu, indeksler ölçülerek konur.
Her endpoint için ortalama veritabanı sorgu süresi hedefi.
N+1 yasak
JOIN ile çözülür, döngü içinde sorgu atılmaz.
Vanilla JS & CSS
React/Vue yok. Modern vanilla JS (ES2022, modules, fetch) ile yazılır. Bundler minimum. Sayfa hızlı açılır, debug kolaydır.
Browser benim arkadaşım.
Web platformu yetiyor: fetch, IntersectionObserver, ViewTransitions, CSS Grid, container queries.
Progressive enhancement.
JS olmadan da sayfa görünür ve gezinilebilir.
200 KB JS sınırı.
Hiçbir sayfa toplam 200 KB JS'i geçmez. Bunu aşarsa, ya gereksizdir ya yanlış mimarıdır.
Linux, Nginx, CDN
Ubuntu LTS server, Nginx reverse proxy, Let's Encrypt SSL, otomatik gece yedekleme. Hosting tarafında "sürpriz" olmamalı.
Ubuntu LTS & Nginx
Stabil, dökümante, kanıtlanmış altyapı.
Let's Encrypt
Otomatik yenilenen sertifika. Manuel takip yok.
Gece otomatik
Veritabanı + dosya, off-site kopya, 30 gün retention.
Uptime & log
Hata loglama, uptime takibi, kritik hata bildirimi.
OWASP Top 10
Multi-tenant izolasyon, CSRF token, prepared statement, XSS escape, input validation, secure session cookies, HTTPS-only — bunlar opsiyonel değil, zorunlu.
Tenant izolasyon kuralı
Her SQL'de tenant_id şartı; otomatik test ile kontrol edilir.
bcrypt & rate limit
Şifre bcrypt ile saklanır, login denemeleri rate-limit'li.
Kritik aksiyon logu
Satış iptal, fiyat değişimi, kullanıcı silme — hepsi timestamp + kullanıcı ile loglu.
Tek bakışta omurga.
Heyecan verici teknoloji ile üretim sınıfı teknoloji aynı şey değildir. Biz pazarlama değil, 5 yıl sonra hâlâ ayakta olacak sistem kuruyoruz. Sıkıcı seçimler — PHP, MySQL, vanilla — bu yüzden.
Niye bu, niye o değil?
Tercih ediyoruz
- PHP 8.2 — modern özellikler, geniş hosting desteği, 20 yıl ekosistem.
- MySQL 8 — InnoDB, transaction, JSON, kanıtlanmış ölçek.
- Vanilla JS — yeni özellikleri tarayıcı veriyor; framework karmaşası yok.
- Nginx + Ubuntu LTS — stabil, dökümante, çoğunluk operatörün bildiği.
- Multi-tenant SaaS — paylaşılan altyapı, izole veri.
Bilerek uzağız
- Node.js + Next.js — bizim ölçeğimizde bundle ve build complexity'si gereksiz.
- NoSQL doc DB'ler — POS gibi ilişkisel veri için MySQL doğru araç.
- Serverless mimari — küçük işletme SaaS'ı için cost/predict zor.
- Mikroservisler — ekibimizin ölçeği için over-engineering.
- Yeni çıkmış JS framework'leri — 2 yıl sonra ne olacağı belli değil.
"En iyi teknoloji, müşterinin hiç farkına varmadığı teknolojidir."RESWONS Teknik İlke