Skip to content

slmctnky/YTPOTO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚄 YHT Otomatik Bilet Alma Sistemi

Bu proje, YHT tren bileti alımını otomatikleştiren bir Java tabanlı otomasyon sistemidir. Belirli istasyonlar, saatler ve yolcu bilgileri girilerek tek seferde bilet alınabilir.
Bu projenin en büyük özelliği istediğiniz saatte tren bileti bulana kadar çalışıyor olmasıdır. Tren bileti bulunca sizden tek beklediği mail aracılığı ile bankanızın sizlere göndermiş olduğu güvenlik kodudur. 📩 Bilet alımı sonrası güvenlik kodu mail ile alınarak otomatik işlenecektir..


📌 Özellikler

  • ✅ Tek kişi için bilet alımı
  • ✅ Bir veya birden fazla saat tercihiyle sefer kontrolü
  • ✅ Eklenebilir yolcu tipi sistemi
  • ✅ Eklenebilir istasyon listesi
  • ✅ Ziraat Bankası kredi kartı ile ödeme
  • ✅ Güvenlik kodu içeren mail kontrolü ve otomatik kod okuma

⚙️ Yapılandırma

📡 API İstek Bilgileri

Aşağıdaki sınıflardaki istek (request) metotlarında kendi sistem bilgilerinizi girmeniz gerekir:

  • ReleaseSeatRequest.java
  • SelectSeatRequest.java
  • TrainCarsInfoRequest.java
  • TrainInfoRequest.java
connection.setRequestProperty("Authorization", "your auth");
connection.setRequestProperty("Cookie", "your cookie");
connection.setRequestProperty("unit-id", "your unit-id");

📧 Mail Bildirimi ve Güvenlik Kodu İşleyişi

🚨 TCDD, bilet alım işlemi sırasında güvenlik sebebiyle bir Security Code (Güvenlik Kodu) isteyebilir.
Bu sistemde kullanıcıdan kodu manuel almak yerine, sizin belirlediğiniz mail adresine gönderilen mailden bu kod otomatik olarak çekilip bilet alım işlemi tamamlanır. Şu anda sadece Ziraat Bankası ile işlem yapılabilmektedir.

📑 Mail Yapısı

Mail Adresi: - EmailServer.java içinde belirlenir.

String email = "your wanted mail";
String pass = "your mail aouth";

Konu (Subject): TCDD
İçerik (Body): Security code (yalnızca kod)

Program sadece bu formattaki mailleri kontrol eder.
✅ Gelen mailde sadece security code olmalıdır.
📌 Mailin konusu mutlaka TCDD olmalı, aksi durumda sistem kodu okuyamaz ve işlem iptal olur.


🎫 Tanımlı Değerler ve Seçenekler

🧍 PassengerType (Yolcu Tipi)

Tip Açıklama
TAM Tam bilet
GENÇ Genç bileti
ÖĞRETMEN Öğretmen bileti

📌 İstek üzerine yeni yolcu tipleri kolayca eklenebilir.

🚉 Stations (İstasyonlar)

İstasyon Adı
ANKARA
ESKİŞEHİR
İSTANBUL_SÖĞÜTLÜÇEŞME
ERYAMAN_YHT

📌 İstek üzerine yeni istasyonlar kolayca eklenebilir.

🏦 Banka (Şu an desteklenen)

Banka
ZIRAAT

📌 İleride yeni banka eklemeleri yapılabilir.

💳 PaymentType (Ödeme Tipi)

Tip Açıklama
CC Kredi Kartı ile ödeme
OT Diğer (ileride eklenecek)

🛠️ Planlanan Geliştirmeler

  • Çift yönlü (gidiş-dönüş) bilet alımı
  • Birden fazla kişi için aynı anda bilet alımı
  • Farklı yolcu tiplerini aynı işlemde arama ve alabilme
  • Yeni banka ve ödeme yöntemleri entegrasyonu
  • Config dosyası ile dışarıdan parametre okuma

📞 İletişim

Geliştirme ve öneriler için bana ulaşabilirsin: 📧 eyserengn@gmail.com

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages