Araç uyumluluğu odaklı otomotiv ticaret ve operasyon platformu
Proje özeti · English · Güvenlik politikası · Katkı rehberi
FitmentOps; araç uyumluluğu kanıtını, ürün keşfini, checkout işlemlerini, ödeme ve iade durumlarını, sevkiyatı, RMA süreçlerini, B2B fiyatlandırmayı, tedarikçi yönetimini ve yönetim operasyonlarını tek platformda birleştirir.
Important
Proje üretim öncesi mühendislik aşamasındadır. Gerçek ödeme, e-belge, kargo ve pazaryeri adaptörleri; sağlayıcı sözleşmeleri, hukuki kontroller ve sandbox sertifikasyonu tamamlanana kadar güvenli biçimde kapalıdır.
Standart e-ticarette ürünün stokta olması yeterli olabilir. Otomotiv satış sonrası pazarında ise doğru ürünün yanlış araca satılması ciddi iade ve güvenlik riski oluşturur. FitmentOps bu nedenle araç uyumluluğunu basit bir filtre değil, kaynak ve güven seviyesiyle kanıtlanan bir domain kararı olarak ele alır.
- Kanıt yoksa sistem olumlu uyumluluk iddiasında bulunmaz ve
Unknowndöner. - Fiyat ve stok tarayıcıdan kabul edilmez; sunucuda yeniden hesaplanır.
- Checkout işlemleri idempotency anahtarı ve süreli stok rezervasyonuyla korunur.
- Ödeme, iade, sevkiyat ve RMA geçişleri açık durum makineleriyle yönetilir.
- Yapılandırılmamış sağlayıcı başarılıymış gibi davranmaz.
- Kritik yönetim işlemleri rol/politika ayrımı ve doğrulanabilir audit zinciriyle korunur.
- Kategori, marka, ürün kodu ve OEM/interchange kodu araması
- Marka → model → nesil → motor → konfigürasyon araç ağacı
Exact,Compatibleve güvenliUnknownuyumluluk sonucu- Çoklu araç garajı, kilometre ve bakım günlüğü
- Favoriler, sepet, profil, sipariş geçmişi ve takip
- Sürümlü ön bilgilendirme ve mesafeli satış kabulü
- Bayi başvurusu, toplu RFQ ve teklif kabulü
- Sunucu fiyatlı ve idempotent sipariş oluşturma
- Süreli ve eşzamanlılığa dayanıklı stok rezervasyonu
- Hosted-payment sağlayıcı sınırı
- Ödeme girişimi, işlem, provider olayı ve mutabakat kayıtları
- Tam/kısmi iade ve fazla iade engeli
- Çoklu/kısmi sevkiyat ve takip bilgisi
- Adet kontrollü iade/RMA ve inceleme yaşam döngüsü
- Transactional outbox ve bounded worker yapısı
- Ürün, kategori, marka, sipariş ve kullanıcı yönetimi
- Ödeme, iade, sevkiyat ve RMA operasyon ekranları
- Araç ağacı, uyumluluk, kod, kaynak ve güven yönetimi
- Sürümlü yasal metin yayınlama
- B2B fiyat listesi, kural, RFQ ve tedarikçi teklifi yönetimi
- Pazaryeri yetenek, fiyat/stok sapması ve inbox görünümü
- SHA-256 zincirli append-only audit kontrolü
- Health, readiness, correlation ID ve operasyon backlog ölçümleri
Gereksinimler:
- .NET SDK 9
- Node.js 22+
- SQL Server veya SQL Server LocalDB
- Git
git clone https://github.com/armanvibecoding/FitmentOps.git
cd FitmentOps
dotnet tool restore
dotnet restore FitmentOps.slnJWT anahtarını ve gerekirse bağlantı dizesini ortam değişkeniyle tanımlayın:
$env:Jwt__Key = "en-az-32-karakterlik-rastgele-gelistirme-anahtari"
$env:ConnectionStrings__DefaultConnection = "Server=(localdb)\mssqllocaldb;Database=FitmentOpsDb;Trusted_Connection=true;TrustServerCertificate=true"Veritabanını oluşturup API’yi çalıştırın:
dotnet tool run dotnet-ef database update --project AutoPartsStore/Backend/AutoPartsStore.API/AutoPartsStore.API.csproj --startup-project AutoPartsStore/Backend/AutoPartsStore.API/AutoPartsStore.API.csproj
dotnet run --project AutoPartsStore/Backend/AutoPartsStore.API/AutoPartsStore.API.csprojFrontend için AutoPartsStore/Frontend/client/.env.example dosyasını .env.local olarak kopyalayıp değerleri doldurun. Ardından:
cd AutoPartsStore/Frontend/client
npm ci
npm run dev| Alan | Varsayılan durum | Canlıya geçiş koşulu |
|---|---|---|
| Online ödeme | Kapalı ve fail-closed | Gerçek gateway adaptörü, credential güvenliği, callback doğrulaması ve sandbox sertifikasyonu |
| E-belge | Kapalı ve fail-closed | Sağlayıcı adaptörü, UBL-TR/provider çıktısı doğrulaması ve hukuki onay |
| Kargo | Domain akışı hazır | Taşıyıcı adaptörü, etiket/takip mutabakatı ve hata kurtarma |
| Pazaryerleri | Sınırlar hazır | Kanal bazlı listing, sipariş, webhook, rate-limit ve drift adaptörleri |
| SMTP | İsteğe bağlı | TLS destekli SMTP yapılandırması |
iyzico için imzalama ve yanıt imzası doğrulama primitive’leri bulunur; ancak canlı bir iyzico gateway’i kayıtlı değildir. Bu iki durum birbirine eşit değildir.
Ana doğrulama komutları:
dotnet build FitmentOps.sln --configuration Release --no-restore -warnaserror
dotnet format FitmentOps.sln --verify-no-changes --no-restore
dotnet test AutoPartsStore/Backend/AutoPartsStore.API.Tests/AutoPartsStore.API.Tests.csproj --configuration Release --no-build
dotnet test AutoPartsStore/Backend/AutoPartsStore.API.IntegrationTests/AutoPartsStore.API.IntegrationTests.csproj --configuration Release --no-build
python scripts/scan_secrets.py
cd AutoPartsStore/Frontend/client
npm run lint
npm test
npm run build
npm audit --audit-level=highCI; gerçek SQL Server migration/eşzamanlı checkout testlerini de çalıştırır. CodeQL ayrı workflow’dur. Staging assurance ise gerçek staging URL ve kimlik bilgileri olmadan başarılı sayılmaz.
Canlı satıştan önce en az şu işler tamamlanmalıdır:
- Üretim SQL Server yedekleme, geri dönüş ve migration runbook’u.
- Ödeme ve e-belge sağlayıcı sandbox sertifikasyonu.
- Kargo ve pazaryeri hata/mutabakat senaryoları.
- KVKK, çerez, mesafeli satış, iade ve veri saklama kararları.
- Secret store, TLS, DNS, e-posta doğrulaması ve erişim politikaları.
- Staging Playwright, ZAP ve k6 kapılarının gerçek ortamda geçmesi.
- Alarm, dashboard, on-call ve olay müdahale süreçleri.
Proje Apache License 2.0 ile lisanslanmıştır. Ürün adları ve harici sağlayıcı markaları ilgili sahiplerine aittir.