Tüm promptlar
GELİŞTİRME PROMPTU · 11 BÖLÜM

CepRadar AI — Profesyonel geliştirme promptu

Kamera, araç takibi, deneysel hız tahmini, GPS ve OCR içeren bir web uygulamasını sıfırdan geliştirmek için kapsamlı talimat.

Tüm dokümanı kopyala ve projenin başlangıç talimatı olarak yapay zekâ kodlama aracına ver.

CepRadar AI

BÖLÜM 01

1. Amaç, kapsam ve sınırlar

CepRadar AI adında, mobil öncelikli bir tarayıcı uygulamasını sıfırdan geliştir. Uygulama; kullanıcının izin verdiği kameradan araç algılamalı, araçları kareler boyunca takip etmeli, uygun kalibrasyonla deneysel hız tahmini yapmalı, GPS yardımıyla yolun hız limiti bilgisini araştırmalı ve uygun görüntülerde plaka OCR işlemi gerçekleştirmelidir.

Hedef; eğitim, prototipleme ve kişisel trafik gözlemidir. Uygulama resmî radar değildir, doğrulanmış ölçüm cihazı olarak sunulamaz ve resmî ceza kesme, otomatik ihbar ya da yaptırım uygulama yetkisi yoktur. Hız değerlerini her zaman “Tahmini hız”, uygun karşılaştırmaları “Olası hız aşımı” olarak adlandır. Güvenilirlik göstergelerini doğrulanmış ölçüm doğruluğu gibi sunma.

Gerçek arayüzde sahte araç, hız, plaka, yol veya hız limiti üretme. Veri yoksa “Bilinmiyor”, “Okunamadı”, “Doğrulanamadı” veya açıklayıcı boş durum göster. Sentetik verileri yalnızca otomatik testlerde kullan. Kamera kullanımı için güvenli ve sabit bir kurulum öner; sürüş sırasında cihaz kullanımını teşvik etme.
Sonraki bölüm
BÖLÜM 02

2. Teknoloji ve uygulama mimarisi

React, Vite ve TypeScript kullan. Stil sistemi Tailwind CSS veya küçük, düzenli CSS dosyalarından oluşabilir. Inter fontu ve gerekli kontroller için Lucide ikonları kullan. Araç algılama için TensorFlow.js COCO-SSD, OCR için Tesseract.js tercih et. Takip ve geometrik dönüşümler için gereksiz büyük kütüphaneler ekleme.

Backend, üyelik, ödeme, veritabanı veya plaka arşivi oluşturma. Algılama, takip, kalibrasyon, hız hesabı ve OCR cihazın tarayıcısında çalışmalıdır. Model ve OCR dosyalarının ilk yüklemede ağ erişimi gerektirebileceğini açıkça belirt.

Kamera yaşam döngüsü, algılama, takip, kalibrasyon, hız tahmini, GPS/yol seçimi ve OCR modüllerini sorumluluklarına göre ayır. Modüller tipli veri yapılarıyla haberleşsin. Bir gözlem kaydı; geçici takip ID'si, araç sınıfı, kutu koordinatları, zaman damgası, takip güveni, geçerli hız tahmini ve geçici OCR sonucunu aynı araca bağlasın. Doğrulanmamış bir değeri doğrulanmış değer yerine geçirme.

Ağ istekleri, algılama döngüleri ve OCR işleri iptal edilebilir olmalıdır. Eski kamera oturumundan veya kaybolan bir takip ID'sinden gelen geç sonuçları reddet. React yeniden render işlemlerini sınırla; analiz döngüsünün gereksiz UI güncellemeleriyle yavaşlamasını önle.
Sonraki bölüm
BÖLÜM 03

3. Görsel tasarım ve kullanıcı deneyimi

Koyu antrasit, kontrollü turuncu vurgu ve durumlar için ölçülü yeşil kullan. Sade, premium, kamera odaklı bir Türkçe arayüz tasarla. Güçlü tipografi, dengeli boşluklar, kompakt kartlar ve en az 44 px dokunma alanları kullan. Mobilde yatay taşma, üst üste binen kontroller veya erişilemeyen ayar bırakma.

Ana ekran şu öğeleri içermelidir:
- Minimal CepRadar AI logosu ve ayarlar düğmesi.
- Üç kompakt özet: anlık araç sayısı, hız limiti ve olası aşım sayısı.
- Görsel önceliği olan canlı kamera alanı.
- Kamera başlat/durdur ve destekleniyorsa kamera değiştir kontrolleri.
- Kamera üzerinde takip kutuları, araç ID'si, geçerli tahmini hız ve doğrulanabilen OCR bilgisi.
- Kompakt son tespitler alanı ve küçük GPS durum göstergesi.
- Deneysel kullanım sınırlarını belirten kısa, okunabilir açıklama.

Kalibrasyon formları, P1–P4 koordinatları, ölçüm çizgileri, GPS yol seçimi, manuel hız limiti ve OCR/analiz durumlarını ayarlarda düzenle. Masaüstünde erişilebilir modal, mobilde uygun tam ekran panel kullanılabilir. Kamera üzerinde nokta seçilirken ayarlar kamerayı örtmemeli; özel kalibrasyon modu sun. Hiçbir gerekli ayarı kaldırma. Ana ekrana geliştirici terimleri yığma; hata ve uyarıları ilgili kontrolün yanında anlaşılır dille göster.

Semantik HTML, doğru başlık sırası, görünür klavye odağı, etiketli form alanları ve yeterli kontrast sağla. Modal açılışında odağı yönet, Escape ile kapatma ve tetikleyiciye odak dönüşünü destekle. Hareket azaltma tercihini dikkate al.
Sonraki bölüm
BÖLÜM 04

4. Kamera ve güvenli yaşam döngüsü

Kamerayı yalnızca kullanıcının açık başlatma eyleminden sonra getUserMedia ile aç. Mobilde arka kamerayı tercih et, desteklenen cihazlarda kameralar arasında geçiş sağla. İzin reddi, kamera bulunamaması, kameranın başka uygulamada kullanılması ve güvenli bağlam eksikliği için ayrı hata durumları göster.

Video oranını koru. Algılama kutuları, kalibrasyon noktaları ve çizgiler; gerçek video boyutu, CSS ölçekleme, kırpma, ekran dönüşü ve varsa aynalama ile tutarlı koordinatlar kullanmalıdır.

Kamera kapandığında bütün MediaStream track'lerini durdur; takip geçmişini, hız sonuçlarını, OCR kuyruğunu ve geçici plaka verilerini temizle. Kamera değişiminde eski oturumun analiz sonuçlarını geçersiz kıl. Kamera konumu, yönü veya görüntü geometrisi değişirse kalibrasyonun yeniden doğrulanmasını iste.
Sonraki bölüm
BÖLÜM 05

5. Gerçek zamanlı araç algılama ve takip

COCO-SSD modelini yalnızca ihtiyaç olduğunda yükle. İndirme/yükleme, hazır ve hata durumlarını göster. Otomobil, motosiklet, otobüs ve kamyon sınıflarını işle. “Araç sayısı” o anda görülen araçları belirtmeli, toplam geçen araç sayısı gibi sunulmamalıdır.

Algılamayı yaklaşık 3–5 FPS ile sınırla; aynı anda birden fazla çıkarım başlatma. Kullanılmayan tensor ve diğer kaynakları serbest bırak. Model yükleme hatasında yeniden deneme sun.

Her araca geçici, benzersiz takip ID'si ata. Ardışık karelerde konum, kutu boyutu ve eşleşme skorunu kullanarak hafif bir takip algoritması oluştur. ID değişimini azalt; belirsiz eşleşmeyi kesin eşleşme gibi kullanma. Hareket geçmişi ve zaman damgalarını sınırlı bellekte tut. Kısa süre kaybolan aracı sınırlı süre beklet, sonra temizle. Kimliği kaybolan araca eski hız veya OCR sonucunu aktarma.
Sonraki bölüm
BÖLÜM 06

6. Ölçüm çizgileriyle deneysel hız tahmini

Kamera görüntüsüne kullanıcı tarafından konumlandırılabilen iki sanal ölçüm çizgisi ekle. Çizgilerin yol üzerinde temsil ettiği gerçek mesafe metre cinsinden girilebilsin. Ölçüm yönü ve geçiş sırası seçilebilsin.

Aracın yol temas noktasını kutunun alt orta noktasıyla yaklaşıklaştır. Aynı takip ID'sinin çizgileri doğru sırayla geçtiği zamanları performance.now() ile kaydet; ardışık kareler arasında interpolasyonla geçiş anını tahmin et.

Formül: tahmini hız (km/sa) = mesafe (metre) / geçen süre (saniye) × 3,6.

Kalibrasyon yoksa, mesafe geçersizse, süre çok kısaysa, geçiş eksik/ters yönlüyse veya ID eşleşmesi belirsizse hız üretme. İki görüntü çizgisi arasındaki metre değeri yalnızca aynı yol düzleminde güvenilir biçimde ölçülmüş mesafeye dayanabilir. Perspektif ve şerit farklarının sonuçları bozabileceğini açıklayan bir kalibrasyon uyarısı göster.
Sonraki bölüm
BÖLÜM 07

7. Yol düzlemi kalibrasyonu ve güvenilirlik

Kullanıcının kamera görüntüsünde dört nokta seçip bunları gerçek dünyadaki metre koordinatlarıyla eşleştirmesine izin ver. Homografi ile görüntü noktalarını yol düzlemine dönüştür. Araçların alt orta temas noktası üzerinden konum ve zaman farkını kullanarak deneysel hız hesapla.

Tekrarlayan, aynı doğru üzerinde veya kötü koşullanmış noktaları, geçersiz koordinatları ve sayısal olarak kararsız dönüşümleri reddet. Ani hız sıçramalarını filtrele. Yetersiz takip verisi, ID değişimi, kamera hareketi şüphesi veya hatalı perspektif ölçümü geçersiz kılmalıdır.

“Düşük / Orta / Yüksek” güvenilirlik durumunu veri ve kalibrasyon koşullarına bağlı bir kalite göstergesi olarak sun. Düşük güvenilirlikteki değerlerden aşım uyarısı üretme. Kalibrasyon ayarları aynı kamera kurulumu için tarayıcıda saklanabilir; kamera konumu değiştiğinde yeniden kalibrasyon gerektiğini açıkça belirt. Görüntü veya plaka verilerini bu saklama mekanizmasına dahil etme.
Sonraki bölüm
BÖLÜM 08

8. GPS, yol eşleştirme ve hız limiti

Konum iznini kullanıcı eylemiyle iste. İzin reddi, düşük doğruluk ve zaman aşımını yönet. Kullanıcı konum izni verdikten sonra gerekli olduğunda OpenStreetMap yol verilerini Overpass API ile sorgula; konumun harici harita servisine iletileceğini bildir.

Yakın yol segmentlerini değerlendirirken mesafe, yol yönü ve alternatif segmentleri dikkate al. En yakın segmenti otomatik olarak kesin kabul etme. Güvenilir eşleşme yoksa kullanıcıdan yol seçmesini iste.

maxspeed etiketini oku ve desteklenen sayısal/birimli değerleri km/sa birimine dönüştür. Eksik, koşullu veya yorumlanamayan bir değerden yasal sınır uydurma; “Hız limiti bilinmiyor” göster. Kullanıcı manuel limit belirleyebilsin; otomatik/manuel kaynak, yol adı ve doğrulama durumu görünür olsun.

Overpass sonuçlarını kısa süreli önbelleğe al, gereksiz GPS/API tekrarlarını engelle. Zaman aşımı, ağ hatası ve iptal durumlarını ele al. OSM verilerinin eksik, yanlış veya eski olabileceğini belirt; araç türüne, geçici işaretlemeye veya yol koşullarına özgü limitleri varsayma.

Yalnızca geçerli, yeterince güvenilir hız tahminini kullanıcı tarafından doğrulanmış hız limitiyle karşılaştır. Limit bilinmiyorsa veya hız güvenilir değilse aşım uyarısı üretme. Sonuç “Olası hız aşımı” olarak kalmalı; resmî ihlal veya ceza kaydı oluşturulmamalıdır.
Sonraki bölüm
BÖLÜM 09

9. Plaka OCR ve gizlilik

COCO-SSD araç kutuları içinde hafif bir yöntemle plaka adayı bölgeleri araştır; COCO-SSD'nin doğrudan plaka algılayıcı olmadığını dikkate al. Rastgele kırpılmış bir araç görüntüsünden kesin plaka sonucu üretme. Uygun adayları tercihen Tesseract.js ile tarayıcı içinde işle.

Türk plaka formatını doğrula. Birden fazla okumayı karşılaştırarak karakter karışıklıklarını azalt. Sonucu aynı geçici takip ID'sine bağla. Düşük güvenilirlikte tam plaka göstermek yerine “Doğrulanamadı”, başarısız okumada “Okunamadı” göster.

Her karede OCR çalıştırma; işleri kuyrukla, eşzamanlılığı ve aynı araç için okuma sıklığını sınırla. Araç kaybolduğunda veya kamera oturumu değiştiğinde bekleyen/geç OCR sonuçlarını reddet. Araç algılama ile OCR'nin birlikte mobil cihazı gereksiz zorlamamasını sağla.

Kamera görüntüleri, plaka kırpmaları ve plaka metinleri sunucuya gönderilmemeli; LocalStorage, IndexedDB veya veritabanına kaydedilmemelidir. Plakaları yalnızca geçici bellekte tut ve kamera kapandığında temizle. Gerçek kamera görüntüsü kaydı, paylaşımı, otomatik ihbar veya resmî ceza üretimi ekleme.
Sonraki bölüm
BÖLÜM 10

10. Çalıştırma, performans ve dağıtım

Model ve OCR kodunu ihtiyaç anında yükle; ilk ekrana gereksiz ağır JavaScript taşıma. Mobil cihazlarda analiz sıklığını, OCR kuyruğunu ve bellek kullanımını sınırla. Video/overlay oranını ayırmadan ekran döndürme ve pencere boyutu değişimlerini destekle.

Yerel geliştirme, TypeScript kontrolü, otomatik test ve üretim build komutlarını belgeleyerek çalışır bir proje teslim et. Kamera/GPS için HTTPS veya güvenilir localhost gereksinimini açıkla.

Telefonda geliştirme testi için Vite'ın 0.0.0.0 üzerinde dinlenmesi ve isteğe bağlı Cloudflare Quick Tunnel ile geçici HTTPS erişimi adımlarını belgeleyebilirsin. allowedHosts yalnızca kullanılan güvenilir hostu kapsamalı, tüm hostlara sınırsız izin verilmemelidir. Test tüneli kalıcı yayın olarak sunulmamalıdır.

Uygulama bağımsız build üretmeli ve AICAN entegrasyonunda /uygulamalar/cepradar/ alt yolunda çalışabilmelidir. Vite base, asset/model/worker yolları ve SPA yenileme davranışı bu kökle uyumlu olmalıdır. Aynı sekmede açılmalı; AICAN proje detayına /projeler/cepradar adresinden sade bir dönüş bağlantısı bulunmalıdır. Entegrasyon ana platformun backend veya veritabanını değiştirmemelidir.
Sonraki bölüm
BÖLÜM 11

11. Test ve kabul kriterleri

Otomatik testlerde aşağıdaki senaryoları doğrula:
- Takip ID sürekliliği, geçici kayıp, belirsiz eşleşme ve temizleme.
- Çizgi geçiş sırası, ters yön, interpolasyon, hız formülü, çok kısa süre ve geçersiz mesafe.
- Homografi, metre dönüşümü, bozuk kalibrasyon ve ani hız sıçraması.
- GPS alternatif yolları, maxspeed birim dönüşümü, eksik/yorumlanamayan veri, API hatası ve manuel seçim.
- Türk plaka biçimleri, OCR karakter karışıklıkları, düşük güvenilirlik, geç gelen sonuç ve doğru takip ID eşleştirmesi.
- Kamera kapanınca analiz/OCR kaynaklarının ve geçici plaka verilerinin temizlenmesi.
- Algılama → takip → kalibrasyon → hız → limit → OCR akışının aynı araç üzerinde tutarlı kalması; belirsiz veriden aşım uyarısı üretilmemesi.

Tarayıcı testlerinde ayarlar açma/kapama, klavye erişimi, kamera kontrolleri, kalibrasyon erişimi, hata/boş durumlar, alt yol yenilemesi ve AICAN'a dönüşü doğrula. En az 390 px mobil ve 1440 px masaüstü görünümünde taşma ve kontrol çakışması olmamalıdır. TypeScript ve üretim build hatasız tamamlanmalıdır.

Gerçek cihazda ayrıca kamera izin kabul/red akışı, arka kamera değişimi, GPS doğruluğu, model indirmeleri, OCR çalışması, görüntü/overlay hizası ve sürdürülebilir performansı gözlemle. Gerçek cihazla doğrulanamayan özellikleri açıkça ayır; sentetik test sonucunu sahada ölçüm doğruluğu gibi sunma.

Teslimde çalışan kaynak kodu, gerekli çalıştırma komutları, geçen testler, deneysel sınırlar ve gerçek cihazda doğrulanması gereken noktaları kısa ve doğru biçimde raporla.

AICAN editoryal sürümü · 10 özgün geliştirme kaydından bağımsız kullanım için düzenlendi; özgün kayıtlar arşivde korunur.