Anket Yöneticisi.
AI Agent ile oluşturun.
Arazi Ölçümü Proje Yöneticisi Arka Uç

Arazi Ölçümcü Uygulaması Arka Uç Şablonu
SurveyProject İşleri, KoordinatLog Noktaları, SınırKayıt Girişleri ve AlanNotları Kayıtları

Back4app üzerinde üretime hazır arazi ölçümü proje yöneticisi arka ucu ile Ölçümcü kimliği, SurveyProject işleri, KoordinatLog noktaları, SınırKayıt girişleri ve AlanNotları kayıtları. ER diyagramı, veri sözlüğü, JSON şeması, API oyun alanı ve hızlı kurulum için bir AI Ajanı istemi içerir.

Anket Sonuçları

Bu şablon, koordinatörlerin işleri düzenli ve izlenebilir tutabilmesi için SurveyProject görevleri, CoordinateLog noktaları, BoundaryRecord girişleri ve FieldNote kayıtları ile birlikte bir arazi ölçüm proje yöneticisi arka uç sağlar.

  1. Koordinat kaydıSurveyProject ile bağlantılı CoordinateLog girişlerini pointLabel, enlem, boylam, yükseklik, doğruluk ve capturedAt ile saklayın.
  2. Sınır kaydı kontrolüBoundaryRecord satırlarında parcelId ve boundaryType'ı doğru SurveyProject ile ve recordedBy Surveyor ile eşleştirerek takip edin.
  3. Alan notu kaydıErişim, hava durumu ve gözlem güncellemeleri için FieldNote özetlerini, detaylarını, noteType'ını, loggedBy ve loggedAt'ı kaydedin.
  4. İş izlemeAnketProje kayıtlarını durum, yönetici, müşteriAdı ve siteAdres alanlarıyla yönetin.

Arazi Ölçümü Proje Yöneticisi Backend Genel Bakış

Arazi ölçümündeki gerçek maliyet bağlam değiştirmedir: notlar araçlar arasında parçalandığı için her toplantı için hikayeyi yeniden oluşturmak. Müşteriler, vaat ettiğiniz ETA'da bunu hissediyor. Back4app üzerindeki Surveyor, SurveyProject, CoordinateLog, BoundaryRecord ve FieldNote ile arazi ölçüm ekipleri, aynı vaka kaydı üzerinde iş birliği yaparken görevlerin ayrımını zorlayabilir. Şeması, kimlik doğrulama ve role dayalı erişim ile birlikte Surveyor (kullanıcı adı, e-posta, rol, sertifikaNumarası), SurveyProject (projeKodu, siteAdı, durum, yönetici), CoordinateLog (anketProje, ölçümcü, noktaEtiketi, enlem, boylam, yükseklik, doğruluk, kayıtTarihi), BoundaryRecord (anketProje, parselleşmeId, sınırTipi, açıklama, kaydeden, belgeUrl) ve FieldNote (anketProje, ölçümTakımı, notTipi, özet, detaylar, ekUrl, kaydeden, kaydedilenTarih) kapsamaktadır. Tercih ettiğiniz ön yüzü bağlayın ve daha hızlı gönderin.

En iyi için:

Anket operasyon ekipleriSınır belgeleri araçlarıSaha notları kayıt uygulamalarıKoordinat yakalama iş akışlarıMVP lansmanlarıBaaS ürünleri için ekiplerin seçim yapması

Arazi Ölçümü şablonunda ne alırsınız

Arazi ölçüm kalitesi gecikmeli bir göstergedir; öncü gösterge, ön cephe güncellemelerinin aynı günde raporlamaya akıp akmadığıdır.

Web veya mobil gönderip göndermediğiniz fark etmez, Surveyor, SurveyProject ve CoordinateLog omurgayı oluşturur - bu sayfa paydaşları hizalamanın en hızlı yoludur.

Anket Uygulaması Özellikleri

Bu merkezdeki her teknoloji kartı, Surveyor, SurveyProject, CoordinateLog, BoundaryRecord ve FieldNote ile aynı anket arka uç şemasını kullanır.

Müfettiş erişimi ve profilleri

Müfettiş, kullanıcı adı, e-posta, rol ve sertifika numarasını depolar.

Siteye göre SurveyProject takibi

SurveyProject, proje kodunu, site adını, durumu, yöneticiyi, müşteri adını ve site adresini depolar.

KoordinatKaydı nokta yakalama

KoordinatKaydı, nokta etiketini, enlem, boylam, yükselti, doğruluk ve yakalandığı tarihi yakalar.

SınırKaydı yönetimi

SınırKaydı, parcelId, boundaryType, description, recordedBy ve documentUrl'yi saklar.

AlanNotu yakalama

AlanNotu, surveyProject, surveyingTeam, noteType, summary, details, attachmentUrl, loggedBy ve loggedAt'yi saklar.

Back4app ile Arazi Ölçer Uygulamanızı Neden Oluşturmalısınız?

Back4app ekibinizin arka uç tesisatına odaklanmak yerine saha çalışmasına odaklanması için SurveyProject, CoordinateLog, BoundaryRecord ve FieldNote ilkel bileşenlerini sunar.

  • Bir modelde koordinat ve sınır verileri: SurveyProject, CoordinateLog ve BoundaryRecord sınıfları, her iş için proje kodu, nokta etiketini, enlem, boylam, sınır tipi ve parsel kimliğini düzenli tutar.
  • İzlenebilirlikle alan notu yakalama: FieldNote satırları not tipi, özet, kayıt tarihi ve mühendisi gösteren bir işaretçi depolayabilir, böylece ekip her gözlemle ilgili kimin kayıt yaptığını gözden geçirebilir.
  • Gerçek zamanlı + API esnekliği: Mobil ekipler ve ofis koordinatörleri için REST ve GraphQL'ı kullanırken SurveyProject ve FieldNote güncellemeleri için Live Queries'i kullanın.

Projeler, noktalar, sınırlar ve alan notları için tek bir backend kontratıyla anket iş akışlarını daha hızlı oluşturun.

Anket Arka Uç Avantajları

Saha çalışmalarınızı konumları veya notları kaybetmeden koordine etmenize yardımcı olan bir arazi ölçüm arka ucu.

Daha hızlı anket iş kurulumları

Her dağıtım için parsel ve ekip tablolarını yeniden oluşturmaktan ziyade, Surveyor ve SurveyProject sınıflarından başlayın.

İzlenebilir koordinat geçmişi

CoordinateLog girişleri, onları üreten SurveyProject ile ilişkili pointLabel, enlem, boylam, doğruluk ve capturedAt bilgilerini saklar.

Düzenli kalan sınır incelemesi

BoundaryRecord verileri, ofis incelemesi için parselId, boundaryType, açıklama ve documentUrl'yi hazır tutar.

Saha notu hesap verebilirliği

FieldNote kayıtları hangi Surveyor'ın özet ve detayları yazdığını ve loggedAt zaman damgasının ne zaman oluşturulduğunu gösterir.

Proje düzeyinde erişim kontrolü

Sadece atanmış anket personelinin SurveyProject, CoordinateLog, BoundaryRecord ve FieldNote verilerini okuyabilmesi veya güncelleyebilmesi için ACL ve CLP kurallarını kullanın.

Yapay zeka destekli başlangıç iş akışı

Bir yapılandırılmış istemle hızlıca arka uç iskeleti ve entegrasyon rehberi oluşturun.

Arazi ölçüm uygulamanızı başlatmaya hazır mısınız?

Back4app AI Ajanı'nın anket arka ucunuzu iskeletini oluşturmasına ve bir istemden SurveyProject işleri, CoordinateLog noktaları, BoundaryRecord girişleri ve FieldNote kayıtları oluşturmasına izin verin.

Başlamak ücretsiz — Aylık 50 AI Ajanı istemi, kredi kartı gerektirmez

Anket Teknoloji Yığını

Bu arazi etüt arka uç şablonunda her şey dahil.

Önyüz
13+ teknolojiler
Arka uç
Back4app
Veritabanı
MongoDB
Kimlik Doğrulama
Yerleşik kimlik doğrulama + oturumlar
API
REST ve GraphQL
Gerçek Zamanlı
Live Queries

Anket Varlık Diyagramı

Arazi etüt arka uç şeması için varlık ilişkisi modeli.

Diyagram kaynağını görüntüle
Mermaid
erDiagram
    Surveyor ||--o{ SurveyProject : "manager"
    Surveyor ||--o{ BoundaryRecord : "recordedBy"
    Surveyor ||--o{ CoordinateLog : "surveyor"
    Surveyor ||--o{ FieldNote : "loggedBy"
    SurveyProject ||--o{ BoundaryRecord : "surveyProject"
    SurveyProject ||--o{ CoordinateLog : "surveyProject"
    SurveyProject ||--o{ FieldNote : "surveyProject"
    Surveyor ||--o{ FieldNote : "surveyingTeam"

    Surveyor {
        String objectId PK
        String username
        String email
        String password
        String role
        String certificationNumber
        Date createdAt
        Date updatedAt
    }

    SurveyProject {
        String objectId PK
        String projectCode
        String siteName
        String status
        String managerId FK
        String clientName
        String siteAddress
        Date createdAt
        Date updatedAt
    }

    BoundaryRecord {
        String objectId PK
        String surveyProjectId FK
        String parcelId
        String boundaryType
        String description
        String recordedById FK
        String documentUrl
        Date createdAt
        Date updatedAt
    }

    CoordinateLog {
        String objectId PK
        String surveyProjectId FK
        String surveyorId FK
        String pointLabel
        Number latitude
        Number longitude
        Number elevation
        Number accuracy
        Date capturedAt
        Date createdAt
        Date updatedAt
    }

    FieldNote {
        String objectId PK
        String surveyProjectId FK
        Array surveyingTeam
        String noteType
        String summary
        String details
        String attachmentUrl
        String loggedById FK
        Date loggedAt
        Date createdAt
        Date updatedAt
    }

Anket Entegrasyon Akışı

Kimlik doğrulama, koordinat kaydı, sınır kayıtları ve saha notları için tipik çalışma akışı.

Diyagram kaynağını görüntüle
Mermaid
sequenceDiagram
  participant Surveyor
  participant App as Land Surveying Project Manager App
  participant Back4app as Back4app Cloud

  Surveyor->>App: Sign in
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  Surveyor->>App: Open project dashboard
  App->>Back4app: GET /classes/SurveyProject?include=manager&order=-updatedAt
  Back4app-->>App: SurveyProject list

  Surveyor->>App: Add a coordinate log
  App->>Back4app: POST /classes/CoordinateLog
  Back4app-->>App: CoordinateLog objectId

  Surveyor->>App: Save a boundary record
  App->>Back4app: POST /classes/BoundaryRecord
  Back4app-->>App: BoundaryRecord objectId

  Surveyor->>App: Post a field note
  App->>Back4app: POST /classes/FieldNote
  Back4app-->>App: FieldNote objectId

  App->>Back4app: Subscribe to live SurveyProject updates
  Back4app-->>App: CoordinateLog and FieldNote change events

Saha Sözlüğü

Arazi ölçümleme şemasındaki her sınıf için tam saha düzeyi referansı.

AlanTürAçıklamaGerekli
objectIdStringAuto-generated unique identifierOtomatik
usernameStringSurveyor login name
emailStringSurveyor email address
passwordStringHashed password (write-only)
roleStringAccess role such as coordinator, fieldSurveyor, reviewer, or admin
certificationNumberStringInternal certification or registration reference
createdAtDateAuto-generated creation timestampOtomatik
updatedAtDateAuto-generated last-update timestampOtomatik

8 alanları Surveyor

Anket İzinleri

ACL ve CLP stratejisinin anketörleri, projeleri, koordinat günlüklerini, sınır kayıtlarını ve alan notlarını nasıl güvence altına aldığı.

Anketör sahipliğindeki profiller

Sadece Anketör kendi profilini güncelleyebilir; koordinatör, alan Anketörü, gözden geçiren veya yönetici gibi rol değerleri yazma işlemlerinden önce doğrulanmalıdır.

Proje kapsamlı kayıtlar

Yalnızca atanmış personel, bir SurveyProject için CoordinateLog, BoundaryRecord ve FieldNote girişlerini oluşturabilir veya değiştirebilir.

Alan notu bütünlüğü

notType, özet, ayrıntılar ve loggedAt'ı yetkisiz değişikliklerden koruyun ve Cloud Code'da ölçümcü göstergelerini doğrulayın.

JSON Şeması

Kopyalamaya hazır ham JSON şeması tanımı Back4app'a veya uygulama referansı olarak kullanmak için.

JSON
{
  "classes": [
    {
      "className": "Surveyor",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "role": {
          "type": "String",
          "required": true
        },
        "certificationNumber": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "SurveyProject",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "projectCode": {
          "type": "String",
          "required": true
        },
        "siteName": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "manager": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Surveyor"
        },
        "clientName": {
          "type": "String",
          "required": false
        },
        "siteAddress": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "BoundaryRecord",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "surveyProject": {
          "type": "Pointer",
          "required": true,
          "targetClass": "SurveyProject"
        },
        "parcelId": {
          "type": "String",
          "required": true
        },
        "boundaryType": {
          "type": "String",
          "required": true
        },
        "description": {
          "type": "String",
          "required": true
        },
        "recordedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Surveyor"
        },
        "documentUrl": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "CoordinateLog",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "surveyProject": {
          "type": "Pointer",
          "required": true,
          "targetClass": "SurveyProject"
        },
        "surveyor": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Surveyor"
        },
        "pointLabel": {
          "type": "String",
          "required": true
        },
        "latitude": {
          "type": "Number",
          "required": true
        },
        "longitude": {
          "type": "Number",
          "required": true
        },
        "elevation": {
          "type": "Number",
          "required": false
        },
        "accuracy": {
          "type": "Number",
          "required": false
        },
        "capturedAt": {
          "type": "Date",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "FieldNote",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "surveyProject": {
          "type": "Pointer",
          "required": true,
          "targetClass": "SurveyProject"
        },
        "surveyingTeam": {
          "type": "Array",
          "required": false,
          "targetClass": "Surveyor"
        },
        "noteType": {
          "type": "String",
          "required": true
        },
        "summary": {
          "type": "String",
          "required": true
        },
        "details": {
          "type": "String",
          "required": true
        },
        "attachmentUrl": {
          "type": "String",
          "required": false
        },
        "loggedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Surveyor"
        },
        "loggedAt": {
          "type": "Date",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

Yapay Zeka Ajanı ile Oluştur

Bu şablondan ön yüz, arka uç, kimlik doğrulama ve koordinat, sınırlık ve alan notu akışlarını içeren gerçek bir arazi ölçüm uygulaması oluşturmak için Back4app Yapay Zeka Ajanı'nı kullanın.

Back4app Yapay Zeka Ajanı
İnşa etmeye hazır
Back4app üzerinde bu kesin şema ve davranışla bir arazi ölçüm projesi yöneticisi uygulaması arka planı oluşturun.

Şema:
1. Ölçümcü (kullanıcı adı, e-posta, şifre, rol (String, zorunlu), sertifika Numarası (String, isteğe bağlı) Back4app yerleşik kimlik alanlarını artı ekip profili kullanarak): objectId, createdAt, updatedAt (sistem).
2. Ölçüm Projesi: projeKodu (String, zorunlu), alanAdı (String, zorunlu), durum (String, zorunlu), yönetici (Ölçümcüye işaretçi, zorunlu), müşteriAdı (String, isteğe bağlı), alanAdres (String, isteğe bağlı); objectId, createdAt, updatedAt (sistem).
3. SınırKaydı: ölçümProjesi (Ölçüm Projesine işaretçi, zorunlu), parselId (String, zorunlu), sınırTipi (String, zorunlu), açıklama (String, zorunlu), kaydeden (Ölçümcüye işaretçi, zorunlu), belgeUrl (String, isteğe bağlı); objectId, createdAt, updatedAt (sistem).
4. KoordinatKaydı: ölçümProjesi (Ölçüm Projesine işaretçi, zorunlu), ölçümcü (Ölçümcüye işaretçi, zorunlu), noktaEtiketi (String, zorunlu), enlem (Sayı, zorunlu), boylam (Sayı, zorunlu), yükseklik (Sayı, isteğe bağlı), doğruluk (Sayı, isteğe bağlı), kaydedildiğiTarih (Tarih, zorunlu); objectId, createdAt, updatedAt (sistem).
5. AlanNotu: ölçümProjesi (Ölçüm Projesine işaretçi, zorunlu), ölçümEkibi (Ölçümcülerden oluşan dizi, isteğe bağlı), notTipi (String, zorunlu), özet (String, zorunlu), detaylar (String, zorunlu), ekUrl (String, isteğe bağlı), kaydeden (Ölçümcüye işaretçi, zorunlu), kaydedildiğiTarih (Tarih, zorunlu); objectId, createdAt, updatedAt (sistem).

Güvenlik:
- Sadece ölçümcü kendi profilini güncelleyebilir. Sadece atanmış personel proje kapsamındaki kayıtları oluşturabilir veya düzenleyebilir. Doğrulama için Cloud Code kullanın.

Kimlik Doğrulama:
- Kayıt ol, giriş yap, çıkış yap.

Davranış:
- Ölçüm Projesi işlerini listele, Koordinat Kaydı noktaları oluştur, Sınır Kaydı girişlerini kaydet ve Alan Notu güncellemeleri ekle.

Teslimat:
- Şema, ACL'ler, CLP'ler ile Back4app uygulaması; ölçümcüler için ön uç, Ölçüm Projesi panoları, Koordinat Kaydı yakalaması, Sınır Kaydı takibi ve Alan Notu incelemesi.

Bu şablon istemi önceden doldurulmuş olarak Ajansı açmak için aşağıdaki düğmeye basın.

Bu, bir teknoloji eklentisi olmadan temel istemdir. Oluşturulan ön uç yığınını sonradan uyarlayabilirsiniz.

Dakikalar içinde dağıtAyda 50 ücretsiz istemKredi kartı gerekmez

API Sandbox

Arazi anketleme şemasına karşı REST ve GraphQL uç noktalarını deneyin. Yanıtlar sahte veriler kullanır ve Back4app hesabı gerektirmez.

Oyun alanı yükleniyor…

Bu şablonla aynı şemayı kullanır.

Yığınınızı Seçin

Her kartı genişleterek Surveyor, SurveyProject ve CoordinateLog'unuzu seçtiğiniz yığınla nasıl entegre edeceğinizi görün.

Flutter Arazi Ölçümü Arka Ucu

React Arazi Ölçümü Arka Ucu

React Yerel Arazi Ölçümü Arka Ucu

Next.js Arazi Ölçümü Arka Ucu

JavaScript Arazi Ölçümü Arka Ucu

Android Arazi Ölçümü Arka Ucu

iOS Arazi Ölçümü Arka Ucu

Vue Arazi Ölçümü Arka Ucu

Angular Arazi Ölçümü Arka Ucu

GraphQL Arazi Ölçümü Arka Ucu

REST API Arazi Ölçümü Arka Ucu

PHP Arazi Ölçümü Arka Ucu

.NET Arazi Ölçümü Arka Ucu

Her Teknoloji ile Aldığınız Şeyler

Her yığın aynı arazi ölçümü arka uç şemasını ve API sözleşmelerini kullanır.

Birleşik ölçüm veri yapısı

Surveyor, SurveyProject, CoordinateLog, BoundaryRecord ve FieldNote kayıtlarını tutarlı bir şemayla yönetin.

ölçüm için Koordinat kaydı

Her SurveyProject'a bağlı enlem, boylam, yükseklik ve hassasiyet değerlerini kaydedin.

ölçüm için sınır kaydı izleme

parcelId, boundaryType, description ve documentUrl'yi düzenli tutun.

ölçüm için saha notu yakalama

Bağlamı kaybetmeden özet, detaylar, noteType, attachmentUrl ve loggedAt'ı kaydedin.

Arazi Ölçümü Yığın Karşılaştırması

Tüm desteklenen teknolojiler arasında kurulum hızını, SDK stilini ve AI desteğini karşılaştırın.

ÇerçeveKurulum SüresiAnketin FaydasıSDK TürüAI Desteği
Yaklaşık 5 dakikaSaha ve ofis anket uygulamaları için tek kod tabanı.Typed SDKTam
5 dakikadan azProje ve sınır incelemesi için hızlı web paneli.Typed SDKTam
~3–7 dakikaAnket ekipleri için çoklu platform mobil uygulaması.Typed SDKTam
Hızlı (5 dk) kurulumProje koordinasyonu için sunucu tarafından oluşturulmuş web uygulaması.Tipli SDKTam
~3–5 dkAnket iş akışları için hafif web entegrasyonu.Tipli SDKTam
Aşağı yukarı 5 dkSaha ekipleri için yerel Android uygulaması.Tipli SDKTam
5 dakika altındaSaha ekipleri için yerel iOS uygulaması.Yazılı SDKTam
~3–7 dkProje ve not yönetimi için Reactif web arayüzü.Yazılı SDKTam
Hızlı (5 dk) kurulumAnket operasyonları için kurumsal web uygulaması.Yazılı SDKTam
2 dakika altındaKoordinat ve sınır sorguları için esnek GraphQL API.GraphQL APITam
Hızlı (2 dk) kurulumAlan veri yakalama için REST API entegrasyonu.REST APITam
~3 dkOfis koordinasyonu için sunucu tarafı PHP arka ucu.REST APITam
~3–7 dk.NET proje ve kayıt yönetimi için arka uç.Tiplenmiş SDKTam

Kurulum süresi, bu şablon şemasını kullanarak proje başlangıcından ilk SurveyProject, CoordinateLog veya FieldNote sorgusuna kadar beklenen süreyi yansıtır.

Anket Soruları

Bu şablonla bir arazi ölçüm proje yöneticisi arka ucu oluşturma hakkında yaygın sorular.

Hangi müşteri anları arazi ölçümünde yapısal olarak kaydedilmeyi, resmi notlar yerine gerektiriyor?
Arazi ölçüm ekipleri, belirsizlik olmadan müşterileri, konuları ve iç aktarım işlemlerini nasıl modellemelidir?
Arazi ölçüm kaydını parçalamadan e-imza veya belge depolama entegrasyonu yapabilir miyiz?
Flutter'da koordinat günlüğüne nasıl sorgu yaparım?
Next.js Server Actions ile proje erişimini nasıl yönetirim?
React Yerel önbellek sınır kayıtlarını çevrimdışı tutabilir mi?
Arazi notlarına yetkisiz düzenlemeleri nasıl engellerim?
Android üzerinde proje durumunu göstermenin en iyi yolu nedir?

Dünyanın dört bir yanında geliştiriciler tarafından güvenilir.

Back4app şablonlarıyla arazi ölçüm ürünlerini daha hızlı gönderen takımlara katılın.

G2 Users Love Us Badge

Arazi Ölçümcüsü Uygulamanızı Oluşmaya Hazır Mısınız?

Arazi ölçüm projenize dakikalar içinde başlayın. Kredi kartı gerekmez.

Teknolojiyi Seçin