Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Repository files navigation

GTFS Decoder

Toplu taşıma verilerini tarayıcıda açın — tablo, harita ve canlı araç takibi

Ne İşe Yarar? · Özellikler · Kurulum · Kullanım · Dağıtım

İçindekiler
  1. Ne İşe Yarar?
  2. Özellikler
  3. Kullanılan Teknolojiler
  4. Kurulum
  5. Kullanım
  6. Hazır Feed'ler
  7. Bilinen Kısıtlar
  8. Geliştirme ve Testler
  9. Docker / Dokploy
  10. Güvenlik
  11. Lisans

Ne İşe Yarar?

GTFS Decoder, belediyelerin ve operatörlerin yayımladığı toplu taşıma veri setlerini (GTFS) tarayıcıda açmanızı sağlar. Zip dosyası yükleyebilir, bir indirme linki verebilir veya hazır feed'lerden birini seçerek işlemi başlatabilirsiniz.

Uygulama veriyi okunabilir hale getirir ve şu sorulara yanıt vermenize yardımcı olur:

  • Hangi duraklar, hatlar ve seferler var?
  • Durak zamanları ve hat geometrileri nasıl görünüyor?
  • Veri seti harita üzerinde nereye oturuyor?
  • Varsa canlı araç konumları ve anlık bildirimler neler?

GTFS Realtime (.pb) dosyası eklerseniz araçların güncel konumunu haritada ve tablolarda takip edebilirsiniz. Büyük dosyalarda işlem arka planda devam eder; ilerleme çubuğuyla durumu izlersiniz.

(başa dön)

Özellikler

  • Dosya veya link ile yükleme — GTFS zip ve isteğe bağlı canlı veri (.pb)
  • Hazır feed'ler — Sakarya ve İstanbul İETT tek tıkla
  • Zip içeriği önizleme — Yüklemeden önce zorunlu dosyaların varlığını kontrol
  • Tablo görünümü — Duraklar, seferler, durak zamanları ve diğer GTFS tabloları sayfalı listelenir
  • Harita — Duraklar ve hat şekilleri; büyük veri setlerinde otomatik optimize edilmiş görünüm
  • Canlı katman — Araç konumları, sefer güncellemeleri ve uyarılar (PB verisi varsa)
  • Karanlık / aydınlık tema — Harita ve arayüz teması

(başa dön)

Kullanılan Teknolojiler

Katman Teknoloji
Sunucu Rust, Axum, Tokio
Web arayüzü Angular 21, PrimeNG, Tailwind CSS
Harita MapLibre GL
Dağıtım Docker, nginx, Dokploy

(başa dön)

Kurulum

Gereksinimler

  • Rust (stable) ve Cargo
  • Node.js 20+ ve npm
  • (Opsiyonel) Docker ve Docker Compose

Yerel çalıştırma

Sunucu

cd gtfs-decoder-backend
cp .env.example .env
cargo run

Web arayüzü

cd gtfs-decoder-frontend
npm install
npm start

Tarayıcıda http://localhost:4200 adresini açın.

(başa dön)

Kullanım

  1. Yükleme sayfasına gidin.
  2. Hazır feed kartından Sakarya veya İstanbul İETT'yi seçin — veri otomatik indirilir ve işlenir.
  3. Alternatif olarak GTFS zip dosyası veya doğrudan .zip indirme linki yükleyin; isteğe bağlı canlı veri (.pb) dosyası veya linki ekleyin.
  4. Sağ panelde Zip İçeriği bölümünden zorunlu dosyaların tamam olup olmadığını kontrol edin.
  5. Yükle ve İşle ile devam edin; büyük dosyalarda ilerleme çubuğu görünür.
  6. İşlem bitince özet, tablolar, harita ve (varsa) canlı veri sayfalarına geçin.

İBB/IETT gibi kaynaklardan gelen dosyalar uzantısız veya .csv formatında olabilir; uygulama bunları otomatik olarak tanır ve düzenler.

(başa dön)

Hazır Feed'ler

Feed Kaynak Canlı veri Not
Sakarya sbbpublicapi.sakarya.bel.tr Evet GTFS + araç konumları
İstanbul İETT İBB Açık Veri Hayır Birden fazla CSV kaynağı birleştirilir

(başa dön)

Bilinen Kısıtlar

Kocaeli

Kocaeli Büyükşehir Belediyesi açık veri kaynağında stop_times dosyası yayımlanmadığı için GTFS Decoder bu kaynakla tam sorgu yapamaz. stop_times GTFS'in zorunlu dosyalarından biridir.

(başa dön)

Geliştirme ve Testler

Sunucu yapılandırması için gtfs-decoder-backend/.env.example dosyasına bakın.

Tip üretimi (Rust → TypeScript)

cd gtfs-decoder-frontend
npm run generate:types

Sunucu testleri

cd gtfs-decoder-backend
cargo test
cargo test -- --ignored   # ağ gerektiren Sakarya / İBB testleri

(başa dön)

Docker / Dokploy

Monorepo içinde sunucu ve web arayüzü ayrı servis olarak deploy edilir.

Servis Dockerfile Port
Sunucu Dockerfile 3000
Web Dockerfile.frontend 80

Yerel test:

cp gtfs-decoder-backend/.env.example gtfs-decoder-backend/.env
docker compose up --build

Tarayıcıda http://localhost:8080 adresini açın.

Dokploy (ayrı servisler)

Sunucu servisi

  • Build context: repo kökü
  • Dockerfile: Dockerfile
  • Ortam: gtfs-decoder-backend/.env.example referans alınarak .env değişkenleri
  • CORS_ORIGINS: web arayüzünün domain'i (ör. https://app.ornek.com)

Web servisi

  • Build context: repo kökü
  • Dockerfile: Dockerfile.frontend
  • Ortam değişkeni: BACKEND_URL=https://api.ornek.com (sunucunun public URL'i, sondaki / olmadan)

Path filter (opsiyonel):

  • Sunucu: gtfs-decoder-backend/**, gtfs-realtime.proto, Dockerfile
  • Web: gtfs-decoder-frontend/**, deploy/**, Dockerfile.frontend

(başa dön)

Güvenlik

Herkese açık kullanım için tasarlanmıştır; temel koruma katmanları:

  • Zip dosyalarında boyut ve içerik limitleri (zip bomb önleme)
  • Kullanıcı tarafından verilen indirme linklerinde güvenli adres kontrolü
  • Hazır feed'ler yalnızca önceden tanımlı güvenilir kaynaklardan çekilir
  • İstek hızı sınırları — kötüye kullanım ve aşırı yük önleme
  • Production ortamında teknik dokümantasyon endpoint'i kapalı tutulur
  • İzin verilen web adresleri listesi (CORS); wildcard kullanılmaz

(başa dön)

Lisans

Proje lisansı için gtfs-decoder-frontend/LICENSE.md dosyasına bakın.

(başa dön)

About

Rust API + Angular app to decode, validate, and explore GTFS and GTFS-RT data with tables, maps, and realtime streams.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.