Arkadaş gruplarınızla yaptığınız halı saha maçlarını profesyonel bir dijital lige dönüştürün! Bu platform sayesinde maçlarınızı organize edebilir, kadrolar ve taktik tahtası oluşturabilir, gol/asist ve kaleci istatistiklerini tutabilir, oyuncu puanlamaları yapabilir ve detaylı performans trendlerini analiz edebilirsiniz.
- Katılım Kodu & Davetler: 6 haneli benzersiz davet kodları veya e-posta davetleriyle kolayca gruba katılma.
- Yönetici & Rol Yönetimi: Grup kurucuları ve atanan yöneticiler için tam yetki denetimi.
- Misafir Oyuncu Desteği: Sisteme henüz üye olmamış arkadaşlarınızı misafir olarak ekleyip istatistiklerini tutabilme; daha sonra gerçek profille tek tıkla eşleştirme (merge).
- Forma Numaraları: Grup üyelerine özel forma numarası tanımlama ve yönetimi.
- Grup Kasası & Saha Ücreti Takibi: Maç başı saha ücreti, kapora, IBAN bilgisi ve oyuncu bazlı ödeme/kasa takibi.
- Kadrolar & Forma Renkleri: Takım A ve Takım B kadrolarını oluşturma, takım isimleri ve forma renklerini özelleştirme.
- İnteraktif Taktik Tahtası: Oyuncuları saha üzerine sürükleyip dizilişleri ve taktik planlarını görselleştirme.
- Saha & Konum Entegrasyonu: Maçın oynandığı halı sahanın adresi, Google Maps konumu ve yol tarifi bağlantısı.
- Maç Durumu & Güvenli Geri Alma: Planlanan ve oynanan maçlar; silinen maçlar için çöp kutusu ve kurtarma (soft-delete & recovery) mekanizması.
- Oyuncu İstatistikleri: Maç sayısı, kazanılan maç (galibiyet), gol, asist ve skor katkısı.
- Kaleci İstatistikleri: Kurtarış sayısı, gol yemeden tamamlanan maçlar (clean sheet).
- Etkileşimli Tablo Sıralaması: Tablo başlıklarına (
Maç,Galibiyet,Gol,Asist,Kurtarış,Ort. Puan) tıklayarak artan/azalan anlık sıralama. - Sezon Sistemi: Maçları belirli sezonlara atayabilme veya tüm zamanlar genelinde şampiyonluk yarışını izleme.
- Silinen Maç Tutarlılığı: Silinen maçların tüm bireysel ve takım istatistiklerinden anında temizlenmesi.
- Kariyer İstatistik Kartları: Toplam maç, galibiyet sayısı, kazanma oranı (%), 10 üzerinden ortalama oyuncu puanı, gol ve asist sayıları.
- Performans & İstatistik Trend Grafiği (Recharts):
- Son 5 Maç veya Tüm Maçlar filtreleme seçeneği.
- Maç maç skor katkısı dağılımı ve kümülatif yükseliş eğrisi.
- Maç sonuçları (Galibiyet / Beraberlik / Mağlubiyet) renk kodlaması.
- Profil Kartı: Biyografi, lakap / forma adı ve sosyal medya hesapları (Instagram, X/Twitter, Facebook, LinkedIn).
- Veri Gizliliği: Kullanıcıların maç performans grafiklerini diğer üyelere gizleyebilme veya herkese açık yapabilme seçeneği.
- KVKK Aydınlatma Metni: Kişisel verilerin işlenmesine ilişkin şeffaf bilgilendirme modalı.
- Unutulma Hakkı: Kullanıcının dilediği an hesabını ve tüm kişisel verilerini tek tıkla kalıcı olarak silebilmesi.
- Firestore Güvenlik Kuralları: Rol tabanlı erişim denetimi (RBAC), yetkisiz yazma/okuma koruması ve girdi doğrulama.
- Frontend: React 19, Vite 7
- Yönlendirme (Routing): React Router 7
- Grafik & Veri Görselleştirme: Recharts
- İkon Seti: Lucide React
- Backend & Veritabanı: Firebase (Authentication & Cloud Firestore)
- Stil & Tasarım: Özel modern koyu tema (Dark Theme CSS) ve duyarlı (responsive) grid sistemi
- Kod Kalitesi: ESLint 9
Projeyi yerel ortamınızda çalıştırmak için aşağıdaki adımları takip edebilirsiniz:
- Node.js (v18 veya üzeri önerilir)
- npm veya yarn
git clone https://github.com/kullanici-adi/halisaha-projesi.git
cd halisaha-projesinpm installKök dizinde .env dosyası oluşturun ve Firebase proje bilgilerinizi tanımlayın:
VITE_FIREBASE_API_KEY=your_api_key_here
VITE_FIREBASE_AUTH_DOMAIN=your_project_id.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project_id.firebasestorage.app
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
VITE_FIREBASE_MEASUREMENT_ID=your_measurement_idnpm run devTarayıcınızda http://localhost:3000 adresine giderek uygulamayı kullanmaya başlayabilirsiniz.
# Kod kalite kontrolü
npm run lint
# Üretim derlemesi
npm run build
# Derlemeyi önizleme
npm run preview├── public/ # Statik dosyalar ve görseller
├── src/
│ ├── components/ # Tekrar kullanılabilir UI bileşenleri
│ │ ├── PlayerPerformanceChart.jsx # Recharts destekli performans trend grafiği
│ │ ├── TacticalBoard.jsx # Taktik tahtası ve saha dizilişi
│ │ ├── FeeCollectionTracker.jsx # Kasa ve ücret takip modülü
│ │ ├── VenueLocationPicker.jsx # Harita ve konum seçici
│ │ ├── KvkkModal.jsx # KVKK aydınlatma metni modalı
│ │ └── ConfirmModal.jsx # Güvenli onay/silme pencereleri
│ ├── contexts/ # React Context durum yönetimleri
│ │ ├── AuthContext.jsx # Kullanıcı oturum, profil ve yetkilendirme
│ │ └── DataContext.jsx # Gruplar, maçlar, istatistikler ve veri senkronizasyonu
│ ├── pages/ # Sayfa görünümleri
│ │ ├── dashboard/ # Grup detay, maç detay, yeni maç ve özet sayfaları
│ │ ├── Profile.jsx # Kullanıcı profil ve kariyer istatistikleri
│ │ ├── Login.jsx # Giriş sayfası
│ │ └── Register.jsx # Kayıt sayfası
│ ├── firebase.js # Firebase istemci yapılandırması
│ ├── utils.js # Tarih formatlama, metin temizleme ve SEO yardımcıları
│ └── App.jsx # Ana yönlendirici ve layout
├── firestore.rules # Firebase güvenlik kuralları
├── package.json # Proje bağımlılıkları ve scriptler
└── README.md # Proje dokümantasyonu
Bu proje kişisel ve topluluk halı saha organizasyonları için geliştirilmiştir. Tüm hakları saklıdır.