Atılım Connect
aday öğrenci portalı · Atılım Üniversitesi
özet
Ana site kurumun bütününe sesleniyordu; aday öğrencinin karar yolculuğuna odaklanan, hızlı ve kolay güncellenen bir kanal yoktu. Kampüs gezisi başvuruları telefonla alınıyordu.
İçerik koddan ayrı tutulur, tamamı panelden yönetilir; otomasyon önerir, insan onaylar; kullanılmayan modüller kaldırılır, sürümler testlerle güncel tutulur.
Temmuz 2025'ten beri yayında: SMS doğrulamalı form motoru, ana siteyle onaya bağlı akademik senkronizasyon, izin verilmeden kayıt yazmayan analitik. Günlük işleyişi içerik ekibi yürütüyor.
Bağlam
Atılım Connect, aday öğrencilerin üniversiteyi tanıdığı, bölümleri incelediği ve kampüs gezisi gibi etkinliklere başvurduğu bir portal; bütün içeriği yönetim panelinden geliyor. Projenin tek geliştiricisiyim; sunucu ve yayına alma işlerini kurumun DevOps ekibiyle birlikte yürütüyoruz.
Sorun ve hedefler
Ana site kurumun bütününe sesleniyordu; aday öğrencinin karar yolculuğuna odaklanan, hızlı ve kolay güncellenen bir kanal yoktu. Hedefler:
- Aday öğrencinin aradığı her şeyi (bölümler, ücretler, burslar, kampüs yaşamı, başvuru formları) tek çatı altında toplamak.
- İçeriğin tamamını, yazılımcıya ihtiyaç duymadan panelden yönetilebilir kılmak.
- Kampüs gezisi gibi yoğun talep gören başvuruları telefon yerine doğrulamalı çevrim içi formlarla almak.
- Akademik yapı bilgisini (fakülte, bölüm, yönetici) ana siteyle tutarlı tutmak ve aynı verinin iki yere elle girilmesine son vermek.
İlkeler
- İçerik koddan ayrıdır. Hero bölümünden istatistik kartlarına, menülerden haberlere her şey panelden yönetilir; tasarım değişse de içerik işi durmaz.
- Otomasyon önerir, insan onaylar. Ana siteden veri çeken senkronizasyon hiçbir kaydı kendiliğinden değiştirmez; farkları listeler, kararı editöre bırakır.
- Ölü ağırlık taşınmaz. Kullanılmayan yedi modül (randevu, burs hesaplayıcı, SSS ve benzerleri) belirlendi ve kod tabanından tamamen çıkarıldı.
- Sürümler güncel kalır. Çatı ve paket sürümleri ertelenmeden yükseltilir; her yükseltme otomatik tarayıcı testleriyle doğrulanır.
- Ziyaretçi verisi bizde kalır, izinle toplanır. Çerez onayı verilmeden analitik tek satır bile kayıt yazmaz.
Yapılanlar
SMS doğrulamalı form sistemi

Kampüs gezisi başvuruları telefonla alınıyordu. Alanlarından düğme metinlerine ve bilgi kutularına kadar her parçası panelden kurulabilen bir form motoru yazdım.
- Başvurudaki telefon numarası tek kullanımlık SMS koduyla, e-posta adresi onay bağlantısıyla doğrulanıyor.
- Okul adı alanı, Türkiye genelinde 14 binden fazla okul kaydı içinde anlık arama yapıyor.
- Başvurular panele düşüyor, yetkililere e-posta bildirimi gidiyor.

Ana siteyle onaylı akademik senkronizasyon
Bölüm başkanı, telefon, web adresi gibi bilgiler ana sitede değiştikçe portal geride kalıyordu. Ana siteyi düzenli aralıklarla tarayan bir komut yazdım. Komut bulduğu farkları "bekliyor" durumunda bir kuyruğa ekliyor; panel mevcut değeri ve sitedeki değeri, bir güven puanıyla birlikte yan yana gösteriyor. Editör her farkı tek tıkla uyguluyor ya da yok sayıyor; sistem hiçbir kaydı kendiliğinden değiştirmiyor.

İşin zor kısmı Türkçeydi: büyük İ ile küçük i dönüşümü, "Anabilim Dalı" ile "Ana Bilim Dalı" gibi yazım farkları, kelime sırası ters yazılmış bölüm adları. Bunlar için kelime kümelerini karşılaştıran bir eşleştirme kuruldu.
İzinle çalışan ziyaretçi analitiği

Ziyaretçilerin siteyi nasıl kullandığını görmek istiyorduk, ama veriyi dışarı çıkarmadan. Oturuma dayalı bir izleme katmanı yazdım: cihaz türü, sayfa görüntülemeleri ve en çok ziyaret edilen sayfalar panelde özetleniyor. Çerez bandında analitik izni verilmedikçe izleme hiç çalışmıyor; ziyaretçi henüz karar vermediyse tek bir kayıt bile yazılmıyor.
İçerik operasyonu panelde

Ana sitede yayımlanan haberler portala otomatik olarak çekiliyor; editör, panelin "Çekilen Haberler" listesinde hangilerinin portalda görüneceğini bir anahtarla seçiyor. Portala özel yazılan haberler, duyurular, etkinlikler, hero bölümü, menüler ve sayfalar da aynı panelden yönetiliyor. Portalın günlük işleyişini içerik ekibi yürütüyor.
Tasarım sistemi yenilemesi

İlk sürümdeki hazır şablon görüntüsünden kurtulmak için 2026 yazında ön yüzün tamamı tasarım token'ları üzerine yeniden kuruldu. Yenilemede özgün bir tipografi çifti, kurum renklerinden türetilen değişkenler, mega menülü bir başlık, infografikli "Neden Atılım" sayfası ve iç sayfalar için kenar çubuğu sabit kalan tek bir şablon var. Yeni bölümler artık aynı bileşen setiyle açılıyor.
Çatıyı güncel tutmak
Proje Laravel 11'den 12'ye, Filament 3'ten 5'e yükseltildi, Tailwind 4'e geçirildi. Büyük sürüm atlamaları ayrı bir çalışma kopyasında yapıldı; 36 panel kaynağının liste ve oluşturma ekranları Playwright ile doğrulandıktan sonra değişiklikler ana koda alındı. Yayına alma da elle dosya taşımaktan çıktı, GitLab CI üzerinde betiklerle çalışan bir hatta bağlandı.
Teslim
Yayındaki portal, içerik yönetim paneli, SMS doğrulamalı form motoru, ana siteyle senkronizasyon ve panelden izlenen ziyaretçi analitiği.
Aşağıdaki sayılar geliştirme kopyasının veritabanından alındı; canlı ortamdaki içerik sayıları daha yüksek.
| Akademik birim | 14 (7 fakülte, 4 yüksekokul, 3 enstitü), 76 bölüm |
| İçerik | 102 çekilen haber, 54 duyuru, 43 etkinlik, 15 yönetilen sayfa |
| Okul kaydı (form araması) | 14.125 |
| Bekleyen senkronizasyon önerisi | 250 |
| Commit | 173 |
| Veritabanı göçü | 76 |
| Panel kaynağı | 25 |
Yol haritası
| Dönem | Ne oldu |
|---|---|
| Haziran 2025 | Kuruluş: Laravel + Filament iskeleti, akademik hiyerarşi modeli (fakülte, yüksekokul, enstitü, bölüm), çok dilli altyapı, hero ve carousel yönetimi, form sisteminin ilk sürümü |
| Temmuz 2025 | Yayına alma: üretim ortamı ayarları, medya ve statik dosya hattı, ilk gerçek içerik |
| Eylül 2025 | İşletme: panelden izlenen ziyaretçi analitiği; kapsam temizliği (yedi kullanılmayan modül, 29'dan fazla dosya ve 8 tablo kaldırıldı) |
| Ekim – Aralık 2025 | Yayın sonrası iyileştirmeler ve küçük düzeltmeler |
| Mart – Mayıs 2026 | Altyapı bakımı; form sistemine SMS doğrulaması eklendi |
| Temmuz 2026 | Büyük yenileme: yeni tasarım sistemi, Laravel 12 + Filament 5 + Tailwind 4, ana siteyle onaylı senkronizasyon, GitLab CI yayın hattı, "Neden Atılım" ve "Kampüs Yaşamı" sayfalarının yeniden yazılması |
| Ağustos – Eylül 2026 | İçerik ve ölçüm düzeltmeleri |
Çalışma durumu
Temmuz 2025'ten beri yayında, geliştirme sürüyor. İngilizce içeriği güncel tutacak kapasite olmadığı için İngilizce sürüm, veriler korunarak geçici olarak kapatıldı; yeniden açma adımları belgelendi.
Öğrendiklerim
- Türkçe metin işlemek ayrı bir uzmanlık istiyor. Büyük İ dönüşümü, kelime sınırını bulanıklaştıran ekler ve aynı adın farklı yazımları yüzünden senkronizasyonda düz metin karşılaştırması işe yaramadı; metni normalleştirmek ve kelime kümeleriyle eşleştirmek gerekti.
- Özellik kaldırmak da mühendislik işi. Yedi modülü çıkarırken modeller, panel kaynakları, göçler ve tablolar dahil her izi temizlemek, eklerken gerekenden daha fazla dikkat istedi; karşılığında bakım yükü kalıcı olarak azaldı.
- Çok dillilik bedava değil. TR / EN altyapısını baştan kurmak doğruydu; İngilizce içeriği güncel tutacak kapasite yokken o sürümü yayında tutmak yanlıştı. Veriyi koruyarak kapatmak ve yeniden açma adımlarını belgelemek iki tarafın da işini gördü.
- Büyük yükseltmeler test edilmeden ana koda girmez. Filament 5 geçişi ayrı bir kopyada yapıldı; gerçek oluşturma, düzenleme ve kaydetme akışları tarayıcı otomasyonuyla doğrulandı. Yayında sürpriz çıkmadı.
- Kurumun işleyişine uymak da teknik kararın parçası. Yayın hattı DevOps ekibinin tercih ettiği modele göre kuruldu. Veritabanı göçlerinin yayın betiğinde değil, kontrollü biçimde elle çalıştırılması gibi kuralları baştan netleştirmek sürprizlerin önüne geçti.
Vitrin
portal
yönetim paneli


