Proje Detayı

Sporzen — Spor Kulübü Yönetim Platformu

Üyelik, saha rezervasyonu, akademi, finans ve QR kodlu turnike erişim kontrolünü tek platformda toplayan kulüp yönetim sistemi

GoReact 19FlutterPostgreSQLRabbitMQFirebase
Sporzen — Spor Kulübü Yönetim Platformu

Proje ne yapıyor?

Sporzen, spor kulüplerinin (tenis, futbol, basketbol, voleybol, sağlık merkezi) tüm operasyonlarını tek platformda yöneten bir sistemdir: üyelik, saha rezervasyonu, akademi/antrenman, turnuva, finans/ödeme, haber-duyuru, mesajlaşma ve QR kodlu turnike ile geçiş/erişim kontrolü, ayrıca güvenlik devriyesi takibi. Kulüp yönetimi admin panelinden, üyeler ise mobil uygulamadan hizmet alır.

Problem ve Çözüm

Kulüp yönetiminde süreçler genellikle dağınıktır: üyelik kayıtları bir yerde, saha rezervasyonları telefonla, aidat takibi manuel, kapı geçişleri ayrı bir sistemde. Bu dağınıklık hem operasyon yükü hem de gelir kaybı demektir.

Sporzen bu süreçlerin tamamını tek dijital platformda topladı. En kritik teknik gereksinim turnikelerdeydi: QR kod okutmada 100 ms altı yanıt garantisi gerekiyordu. Geçiş kontrolü senkron yapılırken loglama RabbitMQ üzerinden asenkron worker'a devredildi — turnikeler hiçbir zaman bloke olmuyor. İletişim AES ile şifreli; kara liste ve zaman bazlı geçiş izinleri destekleniyor.

Mimari — 3 Bileşen

01Yönetim

Panel

Go (Fiber) backend + React 19 / TypeScript / Tailwind v4 / shadcn-ui admin SPA. Üyelik, rezervasyon, akademi, turnuva, finans ve duyuru modülleri kulüp bazında açılıp kapatılabiliyor.

02Mobil

App

Flutter uygulaması (Android/iOS, ayrıca web ve Windows hedefleri) + ayrı Go (Fiber) API. Üyeler rezervasyon, ödeme, mesajlaşma ve QR ile kapı geçişini mobilden yapıyor; bildirimler Firebase (FCM) ile.

03Asenkron

Worker

RabbitMQ tüketicisi: turnike geçiş loglama ve arka plan işleri. Docker ile --scale parametresiyle çoğaltılabiliyor. Monorepo'da model/, service/ ve pkg/ katmanları tüm servislerce paylaşılıyor.

Teknolojiler

Backend (panel + app API)Go (Fiber framework, JWT auth)
ORM / DB erişimiBun ORM + PostgreSQL
Mesaj kuyruğu / asyncRabbitMQ — turnike loglama, background worker
Admin panel SPAReact 19 + Vite + TypeScript + Tailwind v4 + shadcn/ui
Mobil uygulamaFlutter (Android/iOS; web ve Windows hedefleri)
Dosya depolamaS3 uyumlu (AWS SDK)
BildirimFirebase (FCM)
DiğerExcel (excelize), PDF (maroto), WebSocket, Docker / docker-compose
MimariMonorepo: model/ (domain), service/ (iş mantığı), pkg/ (altyapı), panel/backend, app/backend, worker/

Ölçülebilir Sonuçlar

Önceki sisteme göre

<100 ms

QR turnike yanıt garantisi — loglama asenkron, turnikeler bloke olmuyor

AES

Şifreli turnike iletişimi + kara liste + zaman bazlı geçiş izinleri

Yatay

Ölçeklenebilirlik — worker'lar Docker --scale ile çoğaltılıyor; connection pooling + DB indeksleme

Modüler

Rezervasyon, finans, akademi, mesajlaşma, online ödeme — kulüp bazında açılıp kapatılabilen modüller

Aklınızdaki projeyi birlikte hayata geçirelim

Mobil uygulamadan (iOS & Android) web panellerine, Go ile ölçeklenebilir backend ve API geliştirmeden saha çözümlerine kadar uçtan uca yazılım geliştiriyorum. Yeni bir ürün, mevcut bir sistemin yenilenmesi ya da tek bir modül — freelance ve proje bazlı çalışmaya uygunum.

#Ahmet Şahin

Software Engineer

© 2026 Ahmet Şahin. Tüm hakları saklıdır.