pafta listesi

bu sayfa

  1. 01özet
  2. 02Bağlam
  3. 03Yapılanlar
  4. 04Teslim
  5. 05Çalışma durumu
  6. 06Vitrin

ana sayfa

  1. 01giriş
  2. 02hakkımda
  3. 03arayüzler
  4. 04yetenekler
rev. 2026.09

Atılım Connect

aday öğrenci portalı · Atılım Üniversitesi

özet

problem

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.

yaklaşım

İç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.

sonuç

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şvurusu: SMS doğrulamalı dinamik form.
Kampüs gezisi başvurusu: SMS doğrulamalı dinamik form.tam boy

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.
Form yönetimi: başlık, açıklama ve mesaj ayarları.
Form yönetimi: başlık, açıklama ve mesaj ayarları.

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.

Site senkronizasyonu: fark listesi; her fark uygulanır ya da yok sayılır (kişi bilgileri bulanıklaştırıldı).
Site senkronizasyonu: fark listesi; her fark uygulanır ya da yok sayılır (kişi bilgileri bulanıklaştırıldı).

İş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

Panelde ziyaretçi özeti; görseldeki sayılar yerel test verisidir.
Panelde ziyaretçi özeti; görseldeki sayılar yerel test verisidir.

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

Çekilen haberler: ana siteden gelen haberlerin yayın onayı.
Çekilen haberler: ana siteden gelen haberlerin yayın onayı.

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

Telefonda ana sayfa.
Telefonda ana sayfa.

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

Neden Atılım: SVG infografikli on kart.
Neden Atılım: SVG infografikli on kart.tam boy
Kampüs yaşamı sayfası.
Kampüs yaşamı sayfası.tam boy
Haber listesi.
Haber listesi.
Haber detay sayfası.
Haber detay sayfası.

Ç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 birim14 (7 fakülte, 4 yüksekokul, 3 enstitü), 76 bölüm
İçerik102 çekilen haber, 54 duyuru, 43 etkinlik, 15 yönetilen sayfa
Okul kaydı (form araması)14.125
Bekleyen senkronizasyon önerisi250
Commit173
Veritabanı göçü76
Panel kaynağı25

Yol haritası

DönemNe oldu
Haziran 2025Kuruluş: 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 2025Yayı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 2025Yayın sonrası iyileştirmeler ve küçük düzeltmeler
Mart – Mayıs 2026Altyapı bakımı; form sistemine SMS doğrulaması eklendi
Temmuz 2026Bü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

Atılım Connect aday öğrenci portalının ana sayfası: kampüs görselleri ve "Neden Atılım?" listesiportal
Atılım Connect yönetim panelinde içerik editörüyönetim paneli
Vaka çalışmaları