MatchLab
Maç, lig, canlı skor ve kullanıcı takibi için spor platformu.
Proje hakkında
MatchLab; maç takvimlerini, canlı skorları, lig puan tablolarını ve maç detaylarını bir arada sunan bir web uygulamasıdır. Ziyaretçiler spor, lig ve tarih üzerinden maç arayabilir; fikstürleri, maç olaylarını ve kaynakta bulunan kadro bilgilerini inceleyebilir. Üyeler favori takım ve liglerini kaydedebilir, takip ettikleri maçlara göre kişisel bir görünüm kullanabilir.
Uygulamanın Java ve Spring Boot backend’i REST API’yi, kullanıcı oturumlarını, favorileri, veri senkronizasyonunu ve canlı takip işlerini yönetir. Veriler PostgreSQL’de tutulur; maç ve lig bilgileri zamanlanmış işler aracılığıyla kaynaktan güncellenir. React arayüzü uygulama verilerini bu API üzerinden alır.
Platformda mevcut analiz bileşeninden gelen maç öncesi olasılıkları ve sonuç değerlendirmelerini gösteren ekranlar da bulunur. Buradaki uygulama kapsamı bu çıktıları içe aktarmak, saklamak ve API üzerinden sunmaktır. Canlı skor ve lig güncelleme işleri analiz sürecinden bağımsız çalışır.
React arayüzü ve REST API aynı Spring Boot uygulamasından sunulur. Java tarafındaki canlı takip, analiz sürecinden bağımsızdır. Analiz bileşeni ayrı bir HTTP servisi değil, aynı container içinde başlatılan alt süreçtir; şemada entegrasyon sınırı olarak gösterilir.
Uygulama akışı
- Tarayıcıdaki React arayüzü Caddy üzerinden Spring Boot uygulamasına erişir. Uygulama hem arayüz dosyalarını hem REST uçlarını sunar.
- Java tarafındaki zamanlanmış işler maç, lig, skor ve kadro bilgilerini günceller; API istekleri veritabanı ve önbellekteki kayıtları kullanır.
- Üyelik işlemleri oturum ve kullanıcıya ait favori kayıtlarıyla yürütülür. Analiz bileşeni gerektiğinde alt süreç olarak çalıştırılır; üretilen sonuçlar uygulamaya aktarılır.
Özellikler ve teknolojiler
Mevcut özellikler
- Spor, lig, tarih ve maç durumu filtreleri
- Canlı skor, maç olayları ve mevcut kadro bilgileri
- Lig puan tabloları, form ve fikstür ekranları
- Üyelik, e-posta doğrulama ve şifre sıfırlama
- Favori takım / ligler ve takip edilen maçlar
- Kullanıcı oturumları, CSRF ve istek sınırları
- Zamanlanmış senkronizasyon, önbellek ve hata sonrası tekrar deneme
- Analiz sonuçlarının içe aktarılması ve gösterimi
- Yönetici kullanıcı işlemleri ve iletişim kayıtları
Teknolojiler
- Java 21 · Spring Boot · Spring Data JPA
- PostgreSQL · Flyway
- REST API · DTO / service / repository katmanları
- React · Vite
- Docker Compose · Caddy / HTTPS
- GitHub Actions · backend ve arayüz testleri
- SMTP entegrasyonu