Code Monkey home page Code Monkey logo

deprem-io-backend's Introduction

deprem-io-backend

Bu proje deprem.io sitesinin backend implementasyonunu icerir.

  • English: This project includes the implementation of the deprem.io website.

Requirements

  • Docker

  • .env dosyasını oluşturunuz içerisine .env-example da yazılanları koyunuz.

  • English:

  • Create .env file and copy content from .env-example

Local Installment

  • Yerel geliştirme için paketlerini kurun
  • English: Install packages for local development
npm run setup
  • Husky kurulumunu yapın
npm run prepare
  • Dockerfile build alınız
  • English: Build docker container with following command
docker build -t deprem-io-backend .
  • Container ı run ediniz
  • English: Run docker container with following command
docker run -p 8080:8080 -d deprem-io-backend
  • localhost:8080/ adresine gidebiliyorsanız proje ayakta demektir.
  • English: if you are able to load localhost:8080/ url, good job project is running up.

Docker ile ayağa kaldırma

make up

Code Quality

Projede kod kalitesini iyileştirmek için husky paketi kullanılmaktadır. Husky, commit oluşturulmadan önce otomatik olarak format, lint scriptlerini çalıştıracaktır.

Postman Workspace

https://www.postman.com/minikdev/workspace/depremio

Yardımları listeleme (GET)

istenen yardımları listeler /yardim localhost:8080/yardim?page=1&limit=1

Yardımiste Ekleme (POST)

Json Yolla localhost:8080/yardim

  • /models/yardimModel.js e bak ÖRNEK JSON POSTU
{
    "yardimTipi": "Gıda",
    "adSoyad": "John Doe",
    "telefon": "555-555-5555",
    "yedekTelefonlar": ["555-555-5556", "555-555-5557"],
    "email": "[email protected]",
    "adres": "123 Main St",
    "adresTarifi": "2nd floor, apartment 4B",
    "acilDurum": "normal",
    "kisiSayisi": "3",
    "yardimDurumu": "bekleniyor",
    "fizikiDurum": "normal",
    "googleMapLink": "https://maps.google.com/maps?q=123+Main+St",
    "tweetLink": "https://twitter.com/johndoe/status/1234567890",
    "fields-status": "test-status",
    "fields-yenialan": "ekstrabilgi"

}

YardımEt ekleme (GET)

insanların sağladığı yardımları listeler

  • localhost:8080/yardimet

YardimTipi filtrelemesi:

  • localhost:8080/yardimet?yardimTipi=yolcuTasima

Şehir filtrelemesi:

  • localhost:8080/yardimet?sehir=Istanbul

YardımEt ekleme (POST)

Json Yolla localhost:8080/yardimet

 {
    "yardimTipi": "Yolcu Taşıma",
    "adSoyad": "Jane Doe",
    "telefon": "+1 987 654 3210",
    "sehir": "Istanbul",
    "hedefSehir": "Ankara",
    "aciklama": "Need transportation from Istanbul to Ankara.",
    "fields-status": "test-status",
    "fields-yenialan": "ekstrabilgi",
    "yardimDurumu": "bekleniyor"
}

yardimet (POST)

İstenen yardımların altındaki formlara eklenen yardımkaydi bildirimleri

{
"postId": "63e3940d3c12f65e945ff371",
"adSoyad": "Jane Doe",
"telefon": "555-555-5555",
"sonDurum": "yardim-bekleniyor",
"email": "[email protected]",
"aciklama": "Merhaba, ben Jane Doe. Bu posta yardım etmek istiyorum."
}

Fields alanını kullanımı

post olarak fields-{burası aalanı adı}: value şeklinde datayı gönderin onunları fields objesi altında birleştirip db ye kayddedecek

örneğin fiels-yardimalani: "ankara" şu şekilde döner

fields: {
   yardimalani: "ankara"
}

Not

Opsiyonel her türlü yardım isteme ve yardımEt kısmına eklenecek özellikler için fields alanını kullanın isteidğiniz gibi json objesi post edebilirsiniz

Cache i temizleme

/cache/flushall

cache i görme

/cache/getstats

iletisim (POST)

localhost:8080/iletisim

{
    "adSoyad": "John Doe",
    "email": "[email protected]",
    "telefon": "+1 123 456 7890",
    "mesaj": "This is a test message."
}

/ekleYardimKaydi (POST)

istenen yardımların altında form var süreci takip etmek için yardimKaydi olarak ekleyebilirsiniz

{
"postId": "63e3940d3c12f65e945ff371",
"adSoyad": "Jane Doe",
"telefon": "555-555-5555",
"sonDurum": "yardim-bekleniyor",
"email": "[email protected]",
"aciklama": "Merhaba, ben Jane Doe. Bu posta yardım etmek istiyorum."
}

TODO:

  • Yeni data eklenince tüm cache i temizliyor onun düzeltilmesi lazım sadece ilgili cache temizlenecek
  • İp logging kısmını biri kontrol etsin
  • Filter kısmında yazılan queryi isim, adres telefon gibi tüm yerlerde arıyor ama araya boşluk konup birden fazla paramatere yollarsa çalışmaz
  • export scriptlerinde fields kısmında bug var ama acil değil kullanılacaksa bakılır şuan çalışıyor

Endpoint Listsi

  • /yardim (POST/GET)
  • /yardimet (POST/GET)
  • /ara-yardimet (/GET)
  • /ara-yardim (GET)
  • /yardim/:id (GET)
  • /yardimet/:id (GET)
  • /iletisim (POST)
  • /yardimet (POST)
  • /ekleYardimKaydi (POST)

Scripts

  • exportYardimEtCsv.js node scripts/exportYardimEtCsv.js YardimEt datasını csv export eder

Supply chain security

Avoid running lifecycle scripts from packages

  • added --ignore-scripts to Dockerfile.
  • installed and configured allow-scripts for development - to only run allowed ones.

run npx allow-scripts auto to update the list after new packages with install scripts have been added.

deprem-io-backend's People

Contributors

ademkoc avatar anonrig avatar berkanium avatar dogukanturan avatar emreuluduz avatar endrcn avatar ferhatbostanci avatar hmert avatar hsyngul avatar izzetemredemir avatar khnbzkrt avatar mehmetcoskun avatar mehmetik avatar minikdev avatar naugtur avatar okanpinar avatar onuruci avatar yusufdeepwork avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deprem-io-backend's Issues

/yardim boş telefon hatası

telefon : "" gelince hata veriyor
hata kodu
{"statusCode":400,"error":"Bad Request","message":"body/telefon must NOT have fewer than 10 characters"}
Frontendden şöyle geliyor data


{
    "yardimTipi": "enkaz",
    "yardimDurumu": "bekleniyor",
    "adSoyad": "asdfasdf asdfsdaf",
    "email": "[email protected]",
    "telefon": "",
    "kisiSayisi": "",
    "adres": "sadfasdf",
    "adresTarifi": "asdfasdf",
    "acilDurum": "orta",
    "fizikiDurum": "asdfsdaf",
    "tweetLink": "",
    "fields-kvkk": "on",
    "yedekTelefonlar": []
}

null check for request inputs

tüm endpointlerde her türlü exception'a karşı try-catch ile önlem alınmış fakat try catch maliyetli bir çözüm ve sorunsuz çalışan bir senaryoda dahi yavaşlamaya neden oluyor. yoğun trafik alabilecek bir uygulamada bunun önüne geçmek için try-catch'i yalnızca db connection'ın yapıldığı noktalarda kullanmalı, null check'i ise if kontrolleriyle yapmalıyız.
örnek olması açısından:

if(request==null)
return badrequest;
try
{
db.getall();
}catch{
return internalerror;
}

Telefon Numaraları kontrol edilecek

  • Post olarak gönderilen telefon numaraları çok basitçe kontrol edin
  • 0 ile başlama zorunluluğu olmasın onu tolere edecek bir fonksiyon yazın

MVC Sonrası Cache instance import hatası.

MVC'ye çevrildikten sonra ilgili cache içeriye eklenmemiş. Bundan dolayı patlama yaşatıyor.

{
"statusCode": 500,
"error": "Internal Server Error",
"message": "cache.getCache is not a function"
}

/ara-yardim 404

Örnek query https://deprem-27jjydhzba-ew.a.run.app/ara-yardim/?q=&yardimDurumu=&yardimTipi=gida&acilDurum=orta&aracDurumu=&

404 dönüyor filtreleme kısmında

pr squash merge?

Bazı pr larda gereksiz commit ler gözüküyor. Pr larda commit leri merge etmeden squash yapılması akışın takibini daha kolaylaştırabilir.

Performans Sorunu ve Test Talebi

Bazı durumlarda iki kere response dönüyor gibi buraya sürekli istek gelirse bu hata caseleri performansı öldürür.
Kontrol edilip test edilmesi lazım. Backendi ayağa kaldırın tüm endpointlere istek atın bu hata mesajlarında dönmüyor try catch içinde erroru console log olarak basmanız lazım enson ekleYardimKaydi endpointinde gördüm.

hata mesajı

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
    at new NodeError (node:internal/errors:393:5)
    at ServerResponse.setHeader (node:_http_outgoing:644:11)
    at ServerResponse.header (/Users/felix/Documents/deprem/deprem-io-backend/node_modules/express/lib/response.js:794:10)
    at ServerResponse.send (/Users/felix/Documents/deprem/deprem-io-backend/node_modules/express/lib/response.js:174:12)
    at ServerResponse.json (/Users/felix/Documents/deprem/deprem-io-backend/node_modules/express/lib/response.js:278:15)
    at /Users/felix/Documents/deprem/deprem-io-backend/routes/urls.js:625:23
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  code: 'ERR_HTTP_HEADERS_SENT'
}

/yardimet return 500

Json

{
    "yardimTipi": "gidatasima",
    "adSoyad": "jo2hn23",
    "telefon": "5555555555",
    "sehir": "emre",
    "aciklama": "Need transportation to Ankara",
    "yardimDurumu":"yolda"
  
      }

Response

{
    "statusCode": 500,
    "error": "Internal Server Error",
    "message": "clientIp is not defined"
}

Afet bölgesi dışından veri girişi engellenmelidir

Alakasız illerden fake bildirimler kaydedildiğini gözlemliyorum.
Afet bölgesi dışından bildirim gönderilmesine izin vermemek gerekiyor.
Bunun için il ve ilçe veritabanı oluşturulması gerekeceğinden halihazırda Mernis tarafından sunulan güncel il ve ilçe listesini paylaşıyorum (JSON)

[
	{
		"province" : "Adana",
		"title" : "Aladağ"
	},
	{
		"province" : "Adana",
		"title" : "Ceyhan"
	},
	{
		"province" : "Adana",
		"title" : "Çukurova"
	},
	{
		"province" : "Adana",
		"title" : "Feke"
	},
	{
		"province" : "Adana",
		"title" : "İmamoğlu"
	},
	{
		"province" : "Adana",
		"title" : "Karaisalı"
	},
	{
		"province" : "Adana",
		"title" : "Karataş"
	},
	{
		"province" : "Adana",
		"title" : "Kozan"
	},
	{
		"province" : "Adana",
		"title" : "Pozantı"
	},
	{
		"province" : "Adana",
		"title" : "Saimbeyli"
	},
	{
		"province" : "Adana",
		"title" : "Sarıçam"
	},
	{
		"province" : "Adana",
		"title" : "Seyhan"
	},
	{
		"province" : "Adana",
		"title" : "Tufanbeyli"
	},
	{
		"province" : "Adana",
		"title" : "Yumurtalık"
	},
	{
		"province" : "Adana",
		"title" : "Yüreğir"
	},
	{
		"province" : "Adıyaman",
		"title" : "Besni"
	},
	{
		"province" : "Adıyaman",
		"title" : "Çelikhan"
	},
	{
		"province" : "Adıyaman",
		"title" : "Gerger"
	},
	{
		"province" : "Adıyaman",
		"title" : "Gölbaşı"
	},
	{
		"province" : "Adıyaman",
		"title" : "Kahta"
	},
	{
		"province" : "Adıyaman",
		"title" : "Merkez"
	},
	{
		"province" : "Adıyaman",
		"title" : "Samsat"
	},
	{
		"province" : "Adıyaman",
		"title" : "Sincik"
	},
	{
		"province" : "Adıyaman",
		"title" : "Tut"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Başmakçı"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Bayat"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Bolvadin"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Çay"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Çobanlar"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Dazkırı"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Dinar"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Emirdağ"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Evciler"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Hocalar"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "İhsaniye"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "İscehisar"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Kızılören"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Merkez"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Sandıklı"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Sinanpaşa"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Sultandağı"
	},
	{
		"province" : "Afyonkarahisar",
		"title" : "Şuhut"
	},
	{
		"province" : "Ağrı",
		"title" : "Diyadin"
	},
	{
		"province" : "Ağrı",
		"title" : "Doğubayazıt"
	},
	{
		"province" : "Ağrı",
		"title" : "Eleşkirt"
	},
	{
		"province" : "Ağrı",
		"title" : "Hamur"
	},
	{
		"province" : "Ağrı",
		"title" : "Merkez"
	},
	{
		"province" : "Ağrı",
		"title" : "Patnos"
	},
	{
		"province" : "Ağrı",
		"title" : "Taşlıçay"
	},
	{
		"province" : "Ağrı",
		"title" : "Tutak"
	},
	{
		"province" : "Aksaray",
		"title" : "Ağaçören"
	},
	{
		"province" : "Aksaray",
		"title" : "Eskil"
	},
	{
		"province" : "Aksaray",
		"title" : "Gülağaç"
	},
	{
		"province" : "Aksaray",
		"title" : "Güzelyurt"
	},
	{
		"province" : "Aksaray",
		"title" : "Merkez"
	},
	{
		"province" : "Aksaray",
		"title" : "Ortaköy"
	},
	{
		"province" : "Aksaray",
		"title" : "Sarıyahşi"
	},
	{
		"province" : "Aksaray",
		"title" : "Sultanhanı"
	},
	{
		"province" : "Amasya",
		"title" : "Göynücek"
	},
	{
		"province" : "Amasya",
		"title" : "Gümüşhacıköy"
	},
	{
		"province" : "Amasya",
		"title" : "Hamamözü"
	},
	{
		"province" : "Amasya",
		"title" : "Merkez"
	},
	{
		"province" : "Amasya",
		"title" : "Merzifon"
	},
	{
		"province" : "Amasya",
		"title" : "Suluova"
	},
	{
		"province" : "Amasya",
		"title" : "Taşova"
	},
	{
		"province" : "Ankara",
		"title" : "Akyurt"
	},
	{
		"province" : "Ankara",
		"title" : "Altındağ"
	},
	{
		"province" : "Ankara",
		"title" : "Ayaş"
	},
	{
		"province" : "Ankara",
		"title" : "Bala"
	},
	{
		"province" : "Ankara",
		"title" : "Beypazarı"
	},
	{
		"province" : "Ankara",
		"title" : "Çamlıdere"
	},
	{
		"province" : "Ankara",
		"title" : "Çankaya"
	},
	{
		"province" : "Ankara",
		"title" : "Çubuk"
	},
	{
		"province" : "Ankara",
		"title" : "Elmadağ"
	},
	{
		"province" : "Ankara",
		"title" : "Etimesgut"
	},
	{
		"province" : "Ankara",
		"title" : "Evren"
	},
	{
		"province" : "Ankara",
		"title" : "Gölbaşı"
	},
	{
		"province" : "Ankara",
		"title" : "Güdül"
	},
	{
		"province" : "Ankara",
		"title" : "Haymana"
	},
	{
		"province" : "Ankara",
		"title" : "Kahramankazan"
	},
	{
		"province" : "Ankara",
		"title" : "Kalecik"
	},
	{
		"province" : "Ankara",
		"title" : "Keçiören"
	},
	{
		"province" : "Ankara",
		"title" : "Kızılcahamam"
	},
	{
		"province" : "Ankara",
		"title" : "Mamak"
	},
	{
		"province" : "Ankara",
		"title" : "Nallıhan"
	},
	{
		"province" : "Ankara",
		"title" : "Polatlı"
	},
	{
		"province" : "Ankara",
		"title" : "Pursaklar"
	},
	{
		"province" : "Ankara",
		"title" : "Sincan"
	},
	{
		"province" : "Ankara",
		"title" : "Şereflikoçhisar"
	},
	{
		"province" : "Ankara",
		"title" : "Yenimahalle"
	},
	{
		"province" : "Antalya",
		"title" : "Akseki"
	},
	{
		"province" : "Antalya",
		"title" : "Aksu"
	},
	{
		"province" : "Antalya",
		"title" : "Alanya"
	},
	{
		"province" : "Antalya",
		"title" : "Demre"
	},
	{
		"province" : "Antalya",
		"title" : "Döşemealtı"
	},
	{
		"province" : "Antalya",
		"title" : "Elmalı"
	},
	{
		"province" : "Antalya",
		"title" : "Finike"
	},
	{
		"province" : "Antalya",
		"title" : "Gazipaşa"
	},
	{
		"province" : "Antalya",
		"title" : "Gündoğmuş"
	},
	{
		"province" : "Antalya",
		"title" : "İbradı"
	},
	{
		"province" : "Antalya",
		"title" : "Kaş"
	},
	{
		"province" : "Antalya",
		"title" : "Kemer"
	},
	{
		"province" : "Antalya",
		"title" : "Kepez"
	},
	{
		"province" : "Antalya",
		"title" : "Konyaaltı"
	},
	{
		"province" : "Antalya",
		"title" : "Korkuteli"
	},
	{
		"province" : "Antalya",
		"title" : "Kumluca"
	},
	{
		"province" : "Antalya",
		"title" : "Manavgat"
	},
	{
		"province" : "Antalya",
		"title" : "Muratpaşa"
	},
	{
		"province" : "Antalya",
		"title" : "Serik"
	},
	{
		"province" : "Ardahan",
		"title" : "Çıldır"
	},
	{
		"province" : "Ardahan",
		"title" : "Damal"
	},
	{
		"province" : "Ardahan",
		"title" : "Göle"
	},
	{
		"province" : "Ardahan",
		"title" : "Hanak"
	},
	{
		"province" : "Ardahan",
		"title" : "Merkez"
	},
	{
		"province" : "Ardahan",
		"title" : "Posof"
	},
	{
		"province" : "Artvin",
		"title" : "Ardanuç"
	},
	{
		"province" : "Artvin",
		"title" : "Arhavi"
	},
	{
		"province" : "Artvin",
		"title" : "Borçka"
	},
	{
		"province" : "Artvin",
		"title" : "Hopa"
	},
	{
		"province" : "Artvin",
		"title" : "Kemalpaşa"
	},
	{
		"province" : "Artvin",
		"title" : "Merkez"
	},
	{
		"province" : "Artvin",
		"title" : "Murgul"
	},
	{
		"province" : "Artvin",
		"title" : "Şavşat"
	},
	{
		"province" : "Artvin",
		"title" : "Yusufeli"
	},
	{
		"province" : "Aydın",
		"title" : "Bozdoğan"
	},
	{
		"province" : "Aydın",
		"title" : "Buharkent"
	},
	{
		"province" : "Aydın",
		"title" : "Çine"
	},
	{
		"province" : "Aydın",
		"title" : "Didim"
	},
	{
		"province" : "Aydın",
		"title" : "Efeler"
	},
	{
		"province" : "Aydın",
		"title" : "Germencik"
	},
	{
		"province" : "Aydın",
		"title" : "İncirliova"
	},
	{
		"province" : "Aydın",
		"title" : "Karacasu"
	},
	{
		"province" : "Aydın",
		"title" : "Karpuzlu"
	},
	{
		"province" : "Aydın",
		"title" : "Koçarlı"
	},
	{
		"province" : "Aydın",
		"title" : "Köşk"
	},
	{
		"province" : "Aydın",
		"title" : "Kuşadası"
	},
	{
		"province" : "Aydın",
		"title" : "Kuyucak"
	},
	{
		"province" : "Aydın",
		"title" : "Nazilli"
	},
	{
		"province" : "Aydın",
		"title" : "Söke"
	},
	{
		"province" : "Aydın",
		"title" : "Sultanhisar"
	},
	{
		"province" : "Aydın",
		"title" : "Yenipazar"
	},
	{
		"province" : "Balıkesir",
		"title" : "Altıeylül"
	},
	{
		"province" : "Balıkesir",
		"title" : "Ayvalık"
	},
	{
		"province" : "Balıkesir",
		"title" : "Balya"
	},
	{
		"province" : "Balıkesir",
		"title" : "Bandırma"
	},
	{
		"province" : "Balıkesir",
		"title" : "Bigadiç"
	},
	{
		"province" : "Balıkesir",
		"title" : "Burhaniye"
	},
	{
		"province" : "Balıkesir",
		"title" : "Dursunbey"
	},
	{
		"province" : "Balıkesir",
		"title" : "Edremit"
	},
	{
		"province" : "Balıkesir",
		"title" : "Erdek"
	},
	{
		"province" : "Balıkesir",
		"title" : "Gömeç"
	},
	{
		"province" : "Balıkesir",
		"title" : "Gönen"
	},
	{
		"province" : "Balıkesir",
		"title" : "Havran"
	},
	{
		"province" : "Balıkesir",
		"title" : "İvrindi"
	},
	{
		"province" : "Balıkesir",
		"title" : "Karesi"
	},
	{
		"province" : "Balıkesir",
		"title" : "Kepsut"
	},
	{
		"province" : "Balıkesir",
		"title" : "Manyas"
	},
	{
		"province" : "Balıkesir",
		"title" : "Marmara"
	},
	{
		"province" : "Balıkesir",
		"title" : "Savaştepe"
	},
	{
		"province" : "Balıkesir",
		"title" : "Sındırgı"
	},
	{
		"province" : "Balıkesir",
		"title" : "Susurluk"
	},
	{
		"province" : "Bartın",
		"title" : "Amasra"
	},
	{
		"province" : "Bartın",
		"title" : "Kurucaşile"
	},
	{
		"province" : "Bartın",
		"title" : "Merkez"
	},
	{
		"province" : "Bartın",
		"title" : "Ulus"
	},
	{
		"province" : "Batman",
		"title" : "Beşiri"
	},
	{
		"province" : "Batman",
		"title" : "Gercüş"
	},
	{
		"province" : "Batman",
		"title" : "Hasankeyf"
	},
	{
		"province" : "Batman",
		"title" : "Kozluk"
	},
	{
		"province" : "Batman",
		"title" : "Merkez"
	},
	{
		"province" : "Batman",
		"title" : "Sason"
	},
	{
		"province" : "Bayburt",
		"title" : "Aydıntepe"
	},
	{
		"province" : "Bayburt",
		"title" : "Demirözü"
	},
	{
		"province" : "Bayburt",
		"title" : "Merkez"
	},
	{
		"province" : "Bilecik",
		"title" : "Bozüyük"
	},
	{
		"province" : "Bilecik",
		"title" : "Gölpazarı"
	},
	{
		"province" : "Bilecik",
		"title" : "İnhisar"
	},
	{
		"province" : "Bilecik",
		"title" : "Merkez"
	},
	{
		"province" : "Bilecik",
		"title" : "Osmaneli"
	},
	{
		"province" : "Bilecik",
		"title" : "Pazaryeri"
	},
	{
		"province" : "Bilecik",
		"title" : "Söğüt"
	},
	{
		"province" : "Bilecik",
		"title" : "Yenipazar"
	},
	{
		"province" : "Bingöl",
		"title" : "Adaklı"
	},
	{
		"province" : "Bingöl",
		"title" : "Genç"
	},
	{
		"province" : "Bingöl",
		"title" : "Karlıova"
	},
	{
		"province" : "Bingöl",
		"title" : "Kiğı"
	},
	{
		"province" : "Bingöl",
		"title" : "Merkez"
	},
	{
		"province" : "Bingöl",
		"title" : "Solhan"
	},
	{
		"province" : "Bingöl",
		"title" : "Yayladere"
	},
	{
		"province" : "Bingöl",
		"title" : "Yedisu"
	},
	{
		"province" : "Bitlis",
		"title" : "Adilcevaz"
	},
	{
		"province" : "Bitlis",
		"title" : "Ahlat"
	},
	{
		"province" : "Bitlis",
		"title" : "Güroymak"
	},
	{
		"province" : "Bitlis",
		"title" : "Hizan"
	},
	{
		"province" : "Bitlis",
		"title" : "Merkez"
	},
	{
		"province" : "Bitlis",
		"title" : "Mutki"
	},
	{
		"province" : "Bitlis",
		"title" : "Tatvan"
	},
	{
		"province" : "Bolu",
		"title" : "Dörtdivan"
	},
	{
		"province" : "Bolu",
		"title" : "Gerede"
	},
	{
		"province" : "Bolu",
		"title" : "Göynük"
	},
	{
		"province" : "Bolu",
		"title" : "Kıbrıscık"
	},
	{
		"province" : "Bolu",
		"title" : "Mengen"
	},
	{
		"province" : "Bolu",
		"title" : "Merkez"
	},
	{
		"province" : "Bolu",
		"title" : "Mudurnu"
	},
	{
		"province" : "Bolu",
		"title" : "Seben"
	},
	{
		"province" : "Bolu",
		"title" : "Yeniçağa"
	},
	{
		"province" : "Burdur",
		"title" : "Ağlasun"
	},
	{
		"province" : "Burdur",
		"title" : "Altınyayla"
	},
	{
		"province" : "Burdur",
		"title" : "Bucak"
	},
	{
		"province" : "Burdur",
		"title" : "Çavdır"
	},
	{
		"province" : "Burdur",
		"title" : "Çeltikçi"
	},
	{
		"province" : "Burdur",
		"title" : "Gölhisar"
	},
	{
		"province" : "Burdur",
		"title" : "Karamanlı"
	},
	{
		"province" : "Burdur",
		"title" : "Kemer"
	},
	{
		"province" : "Burdur",
		"title" : "Merkez"
	},
	{
		"province" : "Burdur",
		"title" : "Tefenni"
	},
	{
		"province" : "Burdur",
		"title" : "Yeşilova"
	},
	{
		"province" : "Bursa",
		"title" : "Büyükorhan"
	},
	{
		"province" : "Bursa",
		"title" : "Gemlik"
	},
	{
		"province" : "Bursa",
		"title" : "Gürsu"
	},
	{
		"province" : "Bursa",
		"title" : "Harmancık"
	},
	{
		"province" : "Bursa",
		"title" : "İnegöl"
	},
	{
		"province" : "Bursa",
		"title" : "İznik"
	},
	{
		"province" : "Bursa",
		"title" : "Karacabey"
	},
	{
		"province" : "Bursa",
		"title" : "Keles"
	},
	{
		"province" : "Bursa",
		"title" : "Kestel"
	},
	{
		"province" : "Bursa",
		"title" : "Mudanya"
	},
	{
		"province" : "Bursa",
		"title" : "Mustafakemalpaşa"
	},
	{
		"province" : "Bursa",
		"title" : "Nilüfer"
	},
	{
		"province" : "Bursa",
		"title" : "Orhaneli"
	},
	{
		"province" : "Bursa",
		"title" : "Orhangazi"
	},
	{
		"province" : "Bursa",
		"title" : "Osmangazi"
	},
	{
		"province" : "Bursa",
		"title" : "Yenişehir"
	},
	{
		"province" : "Bursa",
		"title" : "Yıldırım"
	},
	{
		"province" : "Çanakkale",
		"title" : "Ayvacık"
	},
	{
		"province" : "Çanakkale",
		"title" : "Bayramiç"
	},
	{
		"province" : "Çanakkale",
		"title" : "Biga"
	},
	{
		"province" : "Çanakkale",
		"title" : "Bozcaada"
	},
	{
		"province" : "Çanakkale",
		"title" : "Çan"
	},
	{
		"province" : "Çanakkale",
		"title" : "Eceabat"
	},
	{
		"province" : "Çanakkale",
		"title" : "Ezine"
	},
	{
		"province" : "Çanakkale",
		"title" : "Gelibolu"
	},
	{
		"province" : "Çanakkale",
		"title" : "Gökçeada"
	},
	{
		"province" : "Çanakkale",
		"title" : "Lapseki"
	},
	{
		"province" : "Çanakkale",
		"title" : "Merkez"
	},
	{
		"province" : "Çanakkale",
		"title" : "Yenice"
	},
	{
		"province" : "Çankırı",
		"title" : "Atkaracalar"
	},
	{
		"province" : "Çankırı",
		"title" : "Bayramören"
	},
	{
		"province" : "Çankırı",
		"title" : "Çerkeş"
	},
	{
		"province" : "Çankırı",
		"title" : "Eldivan"
	},
	{
		"province" : "Çankırı",
		"title" : "Ilgaz"
	},
	{
		"province" : "Çankırı",
		"title" : "Kızılırmak"
	},
	{
		"province" : "Çankırı",
		"title" : "Korgun"
	},
	{
		"province" : "Çankırı",
		"title" : "Kurşunlu"
	},
	{
		"province" : "Çankırı",
		"title" : "Merkez"
	},
	{
		"province" : "Çankırı",
		"title" : "Orta"
	},
	{
		"province" : "Çankırı",
		"title" : "Şabanözü"
	},
	{
		"province" : "Çankırı",
		"title" : "Yapraklı"
	},
	{
		"province" : "Çorum",
		"title" : "Alaca"
	},
	{
		"province" : "Çorum",
		"title" : "Bayat"
	},
	{
		"province" : "Çorum",
		"title" : "Boğazkale"
	},
	{
		"province" : "Çorum",
		"title" : "Dodurga"
	},
	{
		"province" : "Çorum",
		"title" : "İskilip"
	},
	{
		"province" : "Çorum",
		"title" : "Kargı"
	},
	{
		"province" : "Çorum",
		"title" : "Laçin"
	},
	{
		"province" : "Çorum",
		"title" : "Mecitözü"
	},
	{
		"province" : "Çorum",
		"title" : "Merkez"
	},
	{
		"province" : "Çorum",
		"title" : "Oğuzlar"
	},
	{
		"province" : "Çorum",
		"title" : "Ortaköy"
	},
	{
		"province" : "Çorum",
		"title" : "Osmancık"
	},
	{
		"province" : "Çorum",
		"title" : "Sungurlu"
	},
	{
		"province" : "Çorum",
		"title" : "Uğurludağ"
	},
	{
		"province" : "Denizli",
		"title" : "Acıpayam"
	},
	{
		"province" : "Denizli",
		"title" : "Babadağ"
	},
	{
		"province" : "Denizli",
		"title" : "Baklan"
	},
	{
		"province" : "Denizli",
		"title" : "Bekilli"
	},
	{
		"province" : "Denizli",
		"title" : "Beyağaç"
	},
	{
		"province" : "Denizli",
		"title" : "Bozkurt"
	},
	{
		"province" : "Denizli",
		"title" : "Buldan"
	},
	{
		"province" : "Denizli",
		"title" : "Çal"
	},
	{
		"province" : "Denizli",
		"title" : "Çameli"
	},
	{
		"province" : "Denizli",
		"title" : "Çardak"
	},
	{
		"province" : "Denizli",
		"title" : "Çivril"
	},
	{
		"province" : "Denizli",
		"title" : "Güney"
	},
	{
		"province" : "Denizli",
		"title" : "Honaz"
	},
	{
		"province" : "Denizli",
		"title" : "Kale"
	},
	{
		"province" : "Denizli",
		"title" : "Merkezefendi"
	},
	{
		"province" : "Denizli",
		"title" : "Pamukkale"
	},
	{
		"province" : "Denizli",
		"title" : "Sarayköy"
	},
	{
		"province" : "Denizli",
		"title" : "Serinhisar"
	},
	{
		"province" : "Denizli",
		"title" : "Tavas"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Bağlar"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Bismil"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Çermik"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Çınar"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Çüngüş"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Dicle"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Eğil"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Ergani"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Hani"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Hazro"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Kayapınar"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Kocaköy"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Kulp"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Lice"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Silvan"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Sur"
	},
	{
		"province" : "Diyarbakır",
		"title" : "Yenişehir"
	},
	{
		"province" : "Düzce",
		"title" : "Akçakoca"
	},
	{
		"province" : "Düzce",
		"title" : "Cumayeri"
	},
	{
		"province" : "Düzce",
		"title" : "Çilimli"
	},
	{
		"province" : "Düzce",
		"title" : "Gölyaka"
	},
	{
		"province" : "Düzce",
		"title" : "Gümüşova"
	},
	{
		"province" : "Düzce",
		"title" : "Kaynaşlı"
	},
	{
		"province" : "Düzce",
		"title" : "Merkez"
	},
	{
		"province" : "Düzce",
		"title" : "Yığılca"
	},
	{
		"province" : "Edirne",
		"title" : "Enez"
	},
	{
		"province" : "Edirne",
		"title" : "Havsa"
	},
	{
		"province" : "Edirne",
		"title" : "İpsala"
	},
	{
		"province" : "Edirne",
		"title" : "Keşan"
	},
	{
		"province" : "Edirne",
		"title" : "Lalapaşa"
	},
	{
		"province" : "Edirne",
		"title" : "Meriç"
	},
	{
		"province" : "Edirne",
		"title" : "Merkez"
	},
	{
		"province" : "Edirne",
		"title" : "Süloğlu"
	},
	{
		"province" : "Edirne",
		"title" : "Uzunköprü"
	},
	{
		"province" : "Elazığ",
		"title" : "Ağın"
	},
	{
		"province" : "Elazığ",
		"title" : "Alacakaya"
	},
	{
		"province" : "Elazığ",
		"title" : "Arıcak"
	},
	{
		"province" : "Elazığ",
		"title" : "Baskil"
	},
	{
		"province" : "Elazığ",
		"title" : "Karakoçan"
	},
	{
		"province" : "Elazığ",
		"title" : "Keban"
	},
	{
		"province" : "Elazığ",
		"title" : "Kovancılar"
	},
	{
		"province" : "Elazığ",
		"title" : "Maden"
	},
	{
		"province" : "Elazığ",
		"title" : "Merkez"
	},
	{
		"province" : "Elazığ",
		"title" : "Palu"
	},
	{
		"province" : "Elazığ",
		"title" : "Sivrice"
	},
	{
		"province" : "Erzincan",
		"title" : "Çayırlı"
	},
	{
		"province" : "Erzincan",
		"title" : "İliç"
	},
	{
		"province" : "Erzincan",
		"title" : "Kemah"
	},
	{
		"province" : "Erzincan",
		"title" : "Kemaliye"
	},
	{
		"province" : "Erzincan",
		"title" : "Merkez"
	},
	{
		"province" : "Erzincan",
		"title" : "Otlukbeli"
	},
	{
		"province" : "Erzincan",
		"title" : "Refahiye"
	},
	{
		"province" : "Erzincan",
		"title" : "Tercan"
	},
	{
		"province" : "Erzincan",
		"title" : "Üzümlü"
	},
	{
		"province" : "Erzurum",
		"title" : "Aşkale"
	},
	{
		"province" : "Erzurum",
		"title" : "Aziziye"
	},
	{
		"province" : "Erzurum",
		"title" : "Çat"
	},
	{
		"province" : "Erzurum",
		"title" : "Hınıs"
	},
	{
		"province" : "Erzurum",
		"title" : "Horasan"
	},
	{
		"province" : "Erzurum",
		"title" : "İspir"
	},
	{
		"province" : "Erzurum",
		"title" : "Karaçoban"
	},
	{
		"province" : "Erzurum",
		"title" : "Karayazı"
	},
	{
		"province" : "Erzurum",
		"title" : "Köprüköy"
	},
	{
		"province" : "Erzurum",
		"title" : "Narman"
	},
	{
		"province" : "Erzurum",
		"title" : "Oltu"
	},
	{
		"province" : "Erzurum",
		"title" : "Olur"
	},
	{
		"province" : "Erzurum",
		"title" : "Palandöken"
	},
	{
		"province" : "Erzurum",
		"title" : "Pasinler"
	},
	{
		"province" : "Erzurum",
		"title" : "Pazaryolu"
	},
	{
		"province" : "Erzurum",
		"title" : "Şenkaya"
	},
	{
		"province" : "Erzurum",
		"title" : "Tekman"
	},
	{
		"province" : "Erzurum",
		"title" : "Tortum"
	},
	{
		"province" : "Erzurum",
		"title" : "Uzundere"
	},
	{
		"province" : "Erzurum",
		"title" : "Yakutiye"
	},
	{
		"province" : "Eskişehir",
		"title" : "Alpu"
	},
	{
		"province" : "Eskişehir",
		"title" : "Beylikova"
	},
	{
		"province" : "Eskişehir",
		"title" : "Çifteler"
	},
	{
		"province" : "Eskişehir",
		"title" : "Günyüzü"
	},
	{
		"province" : "Eskişehir",
		"title" : "Han"
	},
	{
		"province" : "Eskişehir",
		"title" : "İnönü"
	},
	{
		"province" : "Eskişehir",
		"title" : "Mahmudiye"
	},
	{
		"province" : "Eskişehir",
		"title" : "Mihalgazi"
	},
	{
		"province" : "Eskişehir",
		"title" : "Mihalıççık"
	},
	{
		"province" : "Eskişehir",
		"title" : "Odunpazarı"
	},
	{
		"province" : "Eskişehir",
		"title" : "Sarıcakaya"
	},
	{
		"province" : "Eskişehir",
		"title" : "Seyitgazi"
	},
	{
		"province" : "Eskişehir",
		"title" : "Sivrihisar"
	},
	{
		"province" : "Eskişehir",
		"title" : "Tepebaşı"
	},
	{
		"province" : "Gaziantep",
		"title" : "Araban"
	},
	{
		"province" : "Gaziantep",
		"title" : "İslahiye"
	},
	{
		"province" : "Gaziantep",
		"title" : "Karkamış"
	},
	{
		"province" : "Gaziantep",
		"title" : "Nizip"
	},
	{
		"province" : "Gaziantep",
		"title" : "Nurdağı"
	},
	{
		"province" : "Gaziantep",
		"title" : "Oğuzeli"
	},
	{
		"province" : "Gaziantep",
		"title" : "Şahinbey"
	},
	{
		"province" : "Gaziantep",
		"title" : "Şehitkamil"
	},
	{
		"province" : "Gaziantep",
		"title" : "Yavuzeli"
	},
	{
		"province" : "Giresun",
		"title" : "Alucra"
	},
	{
		"province" : "Giresun",
		"title" : "Bulancak"
	},
	{
		"province" : "Giresun",
		"title" : "Çamoluk"
	},
	{
		"province" : "Giresun",
		"title" : "Çanakçı"
	},
	{
		"province" : "Giresun",
		"title" : "Dereli"
	},
	{
		"province" : "Giresun",
		"title" : "Doğankent"
	},
	{
		"province" : "Giresun",
		"title" : "Espiye"
	},
	{
		"province" : "Giresun",
		"title" : "Eynesil"
	},
	{
		"province" : "Giresun",
		"title" : "Görele"
	},
	{
		"province" : "Giresun",
		"title" : "Güce"
	},
	{
		"province" : "Giresun",
		"title" : "Keşap"
	},
	{
		"province" : "Giresun",
		"title" : "Merkez"
	},
	{
		"province" : "Giresun",
		"title" : "Piraziz"
	},
	{
		"province" : "Giresun",
		"title" : "Şebinkarahisar"
	},
	{
		"province" : "Giresun",
		"title" : "Tirebolu"
	},
	{
		"province" : "Giresun",
		"title" : "Yağlıdere"
	},
	{
		"province" : "Gümüşhane",
		"title" : "Kelkit"
	},
	{
		"province" : "Gümüşhane",
		"title" : "Köse"
	},
	{
		"province" : "Gümüşhane",
		"title" : "Kürtün"
	},
	{
		"province" : "Gümüşhane",
		"title" : "Merkez"
	},
	{
		"province" : "Gümüşhane",
		"title" : "Şiran"
	},
	{
		"province" : "Gümüşhane",
		"title" : "Torul"
	},
	{
		"province" : "Hakkari",
		"title" : "Çukurca"
	},
	{
		"province" : "Hakkari",
		"title" : "Derecik"
	},
	{
		"province" : "Hakkari",
		"title" : "Merkez"
	},
	{
		"province" : "Hakkari",
		"title" : "Şemdinli"
	},
	{
		"province" : "Hakkari",
		"title" : "Yüksekova"
	},
	{
		"province" : "Hatay",
		"title" : "Altınözü"
	},
	{
		"province" : "Hatay",
		"title" : "Antakya"
	},
	{
		"province" : "Hatay",
		"title" : "Arsuz"
	},
	{
		"province" : "Hatay",
		"title" : "Belen"
	},
	{
		"province" : "Hatay",
		"title" : "Defne"
	},
	{
		"province" : "Hatay",
		"title" : "Dörtyol"
	},
	{
		"province" : "Hatay",
		"title" : "Erzin"
	},
	{
		"province" : "Hatay",
		"title" : "Hassa"
	},
	{
		"province" : "Hatay",
		"title" : "İskenderun"
	},
	{
		"province" : "Hatay",
		"title" : "Kırıkhan"
	},
	{
		"province" : "Hatay",
		"title" : "Kumlu"
	},
	{
		"province" : "Hatay",
		"title" : "Payas"
	},
	{
		"province" : "Hatay",
		"title" : "Reyhanlı"
	},
	{
		"province" : "Hatay",
		"title" : "Samandağ"
	},
	{
		"province" : "Hatay",
		"title" : "Yayladağı"
	},
	{
		"province" : "Iğdır",
		"title" : "Aralık"
	},
	{
		"province" : "Iğdır",
		"title" : "Karakoyunlu"
	},
	{
		"province" : "Iğdır",
		"title" : "Merkez"
	},
	{
		"province" : "Iğdır",
		"title" : "Tuzluca"
	},
	{
		"province" : "Isparta",
		"title" : "Aksu"
	},
	{
		"province" : "Isparta",
		"title" : "Atabey"
	},
	{
		"province" : "Isparta",
		"title" : "Eğirdir"
	},
	{
		"province" : "Isparta",
		"title" : "Gelendost"
	},
	{
		"province" : "Isparta",
		"title" : "Gönen"
	},
	{
		"province" : "Isparta",
		"title" : "Keçiborlu"
	},
	{
		"province" : "Isparta",
		"title" : "Merkez"
	},
	{
		"province" : "Isparta",
		"title" : "Senirkent"
	},
	{
		"province" : "Isparta",
		"title" : "Sütçüler"
	},
	{
		"province" : "Isparta",
		"title" : "Şarkikaraağaç"
	},
	{
		"province" : "Isparta",
		"title" : "Uluborlu"
	},
	{
		"province" : "Isparta",
		"title" : "Yalvaç"
	},
	{
		"province" : "Isparta",
		"title" : "Yenişarbademli"
	},
	{
		"province" : "İstanbul",
		"title" : "Adalar"
	},
	{
		"province" : "İstanbul",
		"title" : "Arnavutköy"
	},
	{
		"province" : "İstanbul",
		"title" : "Ataşehir"
	},
	{
		"province" : "İstanbul",
		"title" : "Avcılar"
	},
	{
		"province" : "İstanbul",
		"title" : "Bağcılar"
	},
	{
		"province" : "İstanbul",
		"title" : "Bahçelievler"
	},
	{
		"province" : "İstanbul",
		"title" : "Bakırköy"
	},
	{
		"province" : "İstanbul",
		"title" : "Başakşehir"
	},
	{
		"province" : "İstanbul",
		"title" : "Bayrampaşa"
	},
	{
		"province" : "İstanbul",
		"title" : "Beşiktaş"
	},
	{
		"province" : "İstanbul",
		"title" : "Beykoz"
	},
	{
		"province" : "İstanbul",
		"title" : "Beylikdüzü"
	},
	{
		"province" : "İstanbul",
		"title" : "Beyoğlu"
	},
	{
		"province" : "İstanbul",
		"title" : "Büyükçekmece"
	},
	{
		"province" : "İstanbul",
		"title" : "Çatalca"
	},
	{
		"province" : "İstanbul",
		"title" : "Çekmeköy"
	},
	{
		"province" : "İstanbul",
		"title" : "Esenler"
	},
	{
		"province" : "İstanbul",
		"title" : "Esenyurt"
	},
	{
		"province" : "İstanbul",
		"title" : "Eyüpsultan"
	},
	{
		"province" : "İstanbul",
		"title" : "Fatih"
	},
	{
		"province" : "İstanbul",
		"title" : "Gaziosmanpaşa"
	},
	{
		"province" : "İstanbul",
		"title" : "Güngören"
	},
	{
		"province" : "İstanbul",
		"title" : "Kadıköy"
	},
	{
		"province" : "İstanbul",
		"title" : "Kağıthane"
	},
	{
		"province" : "İstanbul",
		"title" : "Kartal"
	},
	{
		"province" : "İstanbul",
		"title" : "Küçükçekmece"
	},
	{
		"province" : "İstanbul",
		"title" : "Maltepe"
	},
	{
		"province" : "İstanbul",
		"title" : "Pendik"
	},
	{
		"province" : "İstanbul",
		"title" : "Sancaktepe"
	},
	{
		"province" : "İstanbul",
		"title" : "Sarıyer"
	},
	{
		"province" : "İstanbul",
		"title" : "Silivri"
	},
	{
		"province" : "İstanbul",
		"title" : "Sultanbeyli"
	},
	{
		"province" : "İstanbul",
		"title" : "Sultangazi"
	},
	{
		"province" : "İstanbul",
		"title" : "Şile"
	},
	{
		"province" : "İstanbul",
		"title" : "Şişli"
	},
	{
		"province" : "İstanbul",
		"title" : "Tuzla"
	},
	{
		"province" : "İstanbul",
		"title" : "Ümraniye"
	},
	{
		"province" : "İstanbul",
		"title" : "Üsküdar"
	},
	{
		"province" : "İstanbul",
		"title" : "Zeytinburnu"
	},
	{
		"province" : "İzmir",
		"title" : "Aliağa"
	},
	{
		"province" : "İzmir",
		"title" : "Balçova"
	},
	{
		"province" : "İzmir",
		"title" : "Bayındır"
	},
	{
		"province" : "İzmir",
		"title" : "Bayraklı"
	},
	{
		"province" : "İzmir",
		"title" : "Bergama"
	},
	{
		"province" : "İzmir",
		"title" : "Beydağ"
	},
	{
		"province" : "İzmir",
		"title" : "Bornova"
	},
	{
		"province" : "İzmir",
		"title" : "Buca"
	},
	{
		"province" : "İzmir",
		"title" : "Çeşme"
	},
	{
		"province" : "İzmir",
		"title" : "Çiğli"
	},
	{
		"province" : "İzmir",
		"title" : "Dikili"
	},
	{
		"province" : "İzmir",
		"title" : "Foça"
	},
	{
		"province" : "İzmir",
		"title" : "Gaziemir"
	},
	{
		"province" : "İzmir",
		"title" : "Güzelbahçe"
	},
	{
		"province" : "İzmir",
		"title" : "Karabağlar"
	},
	{
		"province" : "İzmir",
		"title" : "Karaburun"
	},
	{
		"province" : "İzmir",
		"title" : "Karşıyaka"
	},
	{
		"province" : "İzmir",
		"title" : "Kemalpaşa"
	},
	{
		"province" : "İzmir",
		"title" : "Kınık"
	},
	{
		"province" : "İzmir",
		"title" : "Kiraz"
	},
	{
		"province" : "İzmir",
		"title" : "Konak"
	},
	{
		"province" : "İzmir",
		"title" : "Menderes"
	},
	{
		"province" : "İzmir",
		"title" : "Menemen"
	},
	{
		"province" : "İzmir",
		"title" : "Narlıdere"
	},
	{
		"province" : "İzmir",
		"title" : "Ödemiş"
	},
	{
		"province" : "İzmir",
		"title" : "Seferihisar"
	},
	{
		"province" : "İzmir",
		"title" : "Selçuk"
	},
	{
		"province" : "İzmir",
		"title" : "Tire"
	},
	{
		"province" : "İzmir",
		"title" : "Torbalı"
	},
	{
		"province" : "İzmir",
		"title" : "Urla"
	},
	{
		"province" : "Kahramanmaraş",
		"title" : "Afşin"
	},
	{
		"province" : "Kahramanmaraş",
		"title" : "Andırın"
	},
	{
		"province" : "Kahramanmaraş",
		"title" : "Çağlayancerit"
	},
	{
		"province" : "Kahramanmaraş",
		"title" : "Dulkadiroğlu"
	},
	{
		"province" : "Kahramanmaraş",
		"title" : "Ekinözü"
	},
	{
		"province" : "Kahramanmaraş",
		"title" : "Elbistan"
	},
	{
		"province" : "Kahramanmaraş",
		"title" : "Göksun"
	},
	{
		"province" : "Kahramanmaraş",
		"title" : "Nurhak"
	},
	{
		"province" : "Kahramanmaraş",
		"title" : "Onikişubat"
	},
	{
		"province" : "Kahramanmaraş",
		"title" : "Pazarcık"
	},
	{
		"province" : "Kahramanmaraş",
		"title" : "Türkoğlu"
	},
	{
		"province" : "Karabük",
		"title" : "Eflani"
	},
	{
		"province" : "Karabük",
		"title" : "Eskipazar"
	},
	{
		"province" : "Karabük",
		"title" : "Merkez"
	},
	{
		"province" : "Karabük",
		"title" : "Ovacık"
	},
	{
		"province" : "Karabük",
		"title" : "Safranbolu"
	},
	{
		"province" : "Karabük",
		"title" : "Yenice"
	},
	{
		"province" : "Karaman",
		"title" : "Ayrancı"
	},
	{
		"province" : "Karaman",
		"title" : "Başyayla"
	},
	{
		"province" : "Karaman",
		"title" : "Ermenek"
	},
	{
		"province" : "Karaman",
		"title" : "Kazımkarabekir"
	},
	{
		"province" : "Karaman",
		"title" : "Merkez"
	},
	{
		"province" : "Karaman",
		"title" : "Sarıveliler"
	},
	{
		"province" : "Kars",
		"title" : "Akyaka"
	},
	{
		"province" : "Kars",
		"title" : "Arpaçay"
	},
	{
		"province" : "Kars",
		"title" : "Digor"
	},
	{
		"province" : "Kars",
		"title" : "Kağızman"
	},
	{
		"province" : "Kars",
		"title" : "Merkez"
	},
	{
		"province" : "Kars",
		"title" : "Sarıkamış"
	},
	{
		"province" : "Kars",
		"title" : "Selim"
	},
	{
		"province" : "Kars",
		"title" : "Susuz"
	},
	{
		"province" : "Kastamonu",
		"title" : "Abana"
	},
	{
		"province" : "Kastamonu",
		"title" : "Ağlı"
	},
	{
		"province" : "Kastamonu",
		"title" : "Araç"
	},
	{
		"province" : "Kastamonu",
		"title" : "Azdavay"
	},
	{
		"province" : "Kastamonu",
		"title" : "Bozkurt"
	},
	{
		"province" : "Kastamonu",
		"title" : "Cide"
	},
	{
		"province" : "Kastamonu",
		"title" : "Çatalzeytin"
	},
	{
		"province" : "Kastamonu",
		"title" : "Daday"
	},
	{
		"province" : "Kastamonu",
		"title" : "Devrekani"
	},
	{
		"province" : "Kastamonu",
		"title" : "Doğanyurt"
	},
	{
		"province" : "Kastamonu",
		"title" : "Hanönü"
	},
	{
		"province" : "Kastamonu",
		"title" : "İhsangazi"
	},
	{
		"province" : "Kastamonu",
		"title" : "İnebolu"
	},
	{
		"province" : "Kastamonu",
		"title" : "Küre"
	},
	{
		"province" : "Kastamonu",
		"title" : "Merkez"
	},
	{
		"province" : "Kastamonu",
		"title" : "Pınarbaşı"
	},
	{
		"province" : "Kastamonu",
		"title" : "Seydiler"
	},
	{
		"province" : "Kastamonu",
		"title" : "Şenpazar"
	},
	{
		"province" : "Kastamonu",
		"title" : "Taşköprü"
	},
	{
		"province" : "Kastamonu",
		"title" : "Tosya"
	},
	{
		"province" : "Kayseri",
		"title" : "Akkışla"
	},
	{
		"province" : "Kayseri",
		"title" : "Bünyan"
	},
	{
		"province" : "Kayseri",
		"title" : "Develi"
	},
	{
		"province" : "Kayseri",
		"title" : "Felahiye"
	},
	{
		"province" : "Kayseri",
		"title" : "Hacılar"
	},
	{
		"province" : "Kayseri",
		"title" : "İncesu"
	},
	{
		"province" : "Kayseri",
		"title" : "Kocasinan"
	},
	{
		"province" : "Kayseri",
		"title" : "Melikgazi"
	},
	{
		"province" : "Kayseri",
		"title" : "Özvatan"
	},
	{
		"province" : "Kayseri",
		"title" : "Pınarbaşı"
	},
	{
		"province" : "Kayseri",
		"title" : "Sarıoğlan"
	},
	{
		"province" : "Kayseri",
		"title" : "Sarız"
	},
	{
		"province" : "Kayseri",
		"title" : "Talas"
	},
	{
		"province" : "Kayseri",
		"title" : "Tomarza"
	},
	{
		"province" : "Kayseri",
		"title" : "Yahyalı"
	},
	{
		"province" : "Kayseri",
		"title" : "Yeşilhisar"
	},
	{
		"province" : "Kırıkkale",
		"title" : "Bahşılı"
	},
	{
		"province" : "Kırıkkale",
		"title" : "Balışeyh"
	},
	{
		"province" : "Kırıkkale",
		"title" : "Çelebi"
	},
	{
		"province" : "Kırıkkale",
		"title" : "Delice"
	},
	{
		"province" : "Kırıkkale",
		"title" : "Karakeçili"
	},
	{
		"province" : "Kırıkkale",
		"title" : "Keskin"
	},
	{
		"province" : "Kırıkkale",
		"title" : "Merkez"
	},
	{
		"province" : "Kırıkkale",
		"title" : "Sulakyurt"
	},
	{
		"province" : "Kırıkkale",
		"title" : "Yahşihan"
	},
	{
		"province" : "Kırklareli",
		"title" : "Babaeski"
	},
	{
		"province" : "Kırklareli",
		"title" : "Demirköy"
	},
	{
		"province" : "Kırklareli",
		"title" : "Kofçaz"
	},
	{
		"province" : "Kırklareli",
		"title" : "Lüleburgaz"
	},
	{
		"province" : "Kırklareli",
		"title" : "Merkez"
	},
	{
		"province" : "Kırklareli",
		"title" : "Pehlivanköy"
	},
	{
		"province" : "Kırklareli",
		"title" : "Pınarhisar"
	},
	{
		"province" : "Kırklareli",
		"title" : "Vize"
	},
	{
		"province" : "Kırşehir",
		"title" : "Akçakent"
	},
	{
		"province" : "Kırşehir",
		"title" : "Akpınar"
	},
	{
		"province" : "Kırşehir",
		"title" : "Boztepe"
	},
	{
		"province" : "Kırşehir",
		"title" : "Çiçekdağı"
	},
	{
		"province" : "Kırşehir",
		"title" : "Kaman"
	},
	{
		"province" : "Kırşehir",
		"title" : "Merkez"
	},
	{
		"province" : "Kırşehir",
		"title" : "Mucur"
	},
	{
		"province" : "Kilis",
		"title" : "Elbeyli"
	},
	{
		"province" : "Kilis",
		"title" : "Merkez"
	},
	{
		"province" : "Kilis",
		"title" : "Musabeyli"
	},
	{
		"province" : "Kilis",
		"title" : "Polateli"
	},
	{
		"province" : "Kocaeli",
		"title" : "Başiskele"
	},
	{
		"province" : "Kocaeli",
		"title" : "Çayırova"
	},
	{
		"province" : "Kocaeli",
		"title" : "Darıca"
	},
	{
		"province" : "Kocaeli",
		"title" : "Derince"
	},
	{
		"province" : "Kocaeli",
		"title" : "Dilovası"
	},
	{
		"province" : "Kocaeli",
		"title" : "Gebze"
	},
	{
		"province" : "Kocaeli",
		"title" : "Gölcük"
	},
	{
		"province" : "Kocaeli",
		"title" : "İzmit"
	},
	{
		"province" : "Kocaeli",
		"title" : "Kandıra"
	},
	{
		"province" : "Kocaeli",
		"title" : "Karamürsel"
	},
	{
		"province" : "Kocaeli",
		"title" : "Kartepe"
	},
	{
		"province" : "Kocaeli",
		"title" : "Körfez"
	},
	{
		"province" : "Konya",
		"title" : "Ahırlı"
	},
	{
		"province" : "Konya",
		"title" : "Akören"
	},
	{
		"province" : "Konya",
		"title" : "Akşehir"
	},
	{
		"province" : "Konya",
		"title" : "Altınekin"
	},
	{
		"province" : "Konya",
		"title" : "Beyşehir"
	},
	{
		"province" : "Konya",
		"title" : "Bozkır"
	},
	{
		"province" : "Konya",
		"title" : "Cihanbeyli"
	},
	{
		"province" : "Konya",
		"title" : "Çeltik"
	},
	{
		"province" : "Konya",
		"title" : "Çumra"
	},
	{
		"province" : "Konya",
		"title" : "Derbent"
	},
	{
		"province" : "Konya",
		"title" : "Derebucak"
	},
	{
		"province" : "Konya",
		"title" : "Doğanhisar"
	},
	{
		"province" : "Konya",
		"title" : "Emirgazi"
	},
	{
		"province" : "Konya",
		"title" : "Ereğli"
	},
	{
		"province" : "Konya",
		"title" : "Güneysınır"
	},
	{
		"province" : "Konya",
		"title" : "Hadim"
	},
	{
		"province" : "Konya",
		"title" : "Halkapınar"
	},
	{
		"province" : "Konya",
		"title" : "Hüyük"
	},
	{
		"province" : "Konya",
		"title" : "Ilgın"
	},
	{
		"province" : "Konya",
		"title" : "Kadınhanı"
	},
	{
		"province" : "Konya",
		"title" : "Karapınar"
	},
	{
		"province" : "Konya",
		"title" : "Karatay"
	},
	{
		"province" : "Konya",
		"title" : "Kulu"
	},
	{
		"province" : "Konya",
		"title" : "Meram"
	},
	{
		"province" : "Konya",
		"title" : "Sarayönü"
	},
	{
		"province" : "Konya",
		"title" : "Selçuklu"
	},
	{
		"province" : "Konya",
		"title" : "Seydişehir"
	},
	{
		"province" : "Konya",
		"title" : "Taşkent"
	},
	{
		"province" : "Konya",
		"title" : "Tuzlukçu"
	},
	{
		"province" : "Konya",
		"title" : "Yalıhüyük"
	},
	{
		"province" : "Konya",
		"title" : "Yunak"
	},
	{
		"province" : "Kütahya",
		"title" : "Altıntaş"
	},
	{
		"province" : "Kütahya",
		"title" : "Aslanapa"
	},
	{
		"province" : "Kütahya",
		"title" : "Çavdarhisar"
	},
	{
		"province" : "Kütahya",
		"title" : "Domaniç"
	},
	{
		"province" : "Kütahya",
		"title" : "Dumlupınar"
	},
	{
		"province" : "Kütahya",
		"title" : "Emet"
	},
	{
		"province" : "Kütahya",
		"title" : "Gediz"
	},
	{
		"province" : "Kütahya",
		"title" : "Hisarcık"
	},
	{
		"province" : "Kütahya",
		"title" : "Merkez"
	},
	{
		"province" : "Kütahya",
		"title" : "Pazarlar"
	},
	{
		"province" : "Kütahya",
		"title" : "Simav"
	},
	{
		"province" : "Kütahya",
		"title" : "Şaphane"
	},
	{
		"province" : "Kütahya",
		"title" : "Tavşanlı"
	},
	{
		"province" : "Malatya",
		"title" : "Akçadağ"
	},
	{
		"province" : "Malatya",
		"title" : "Arapgir"
	},
	{
		"province" : "Malatya",
		"title" : "Arguvan"
	},
	{
		"province" : "Malatya",
		"title" : "Battalgazi"
	},
	{
		"province" : "Malatya",
		"title" : "Darende"
	},
	{
		"province" : "Malatya",
		"title" : "Doğanşehir"
	},
	{
		"province" : "Malatya",
		"title" : "Doğanyol"
	},
	{
		"province" : "Malatya",
		"title" : "Hekimhan"
	},
	{
		"province" : "Malatya",
		"title" : "Kale"
	},
	{
		"province" : "Malatya",
		"title" : "Kuluncak"
	},
	{
		"province" : "Malatya",
		"title" : "Pütürge"
	},
	{
		"province" : "Malatya",
		"title" : "Yazıhan"
	},
	{
		"province" : "Malatya",
		"title" : "Yeşilyurt"
	},
	{
		"province" : "Manisa",
		"title" : "Ahmetli"
	},
	{
		"province" : "Manisa",
		"title" : "Akhisar"
	},
	{
		"province" : "Manisa",
		"title" : "Alaşehir"
	},
	{
		"province" : "Manisa",
		"title" : "Demirci"
	},
	{
		"province" : "Manisa",
		"title" : "Gölmarmara"
	},
	{
		"province" : "Manisa",
		"title" : "Gördes"
	},
	{
		"province" : "Manisa",
		"title" : "Kırkağaç"
	},
	{
		"province" : "Manisa",
		"title" : "Köprübaşı"
	},
	{
		"province" : "Manisa",
		"title" : "Kula"
	},
	{
		"province" : "Manisa",
		"title" : "Salihli"
	},
	{
		"province" : "Manisa",
		"title" : "Sarıgöl"
	},
	{
		"province" : "Manisa",
		"title" : "Saruhanlı"
	},
	{
		"province" : "Manisa",
		"title" : "Selendi"
	},
	{
		"province" : "Manisa",
		"title" : "Soma"
	},
	{
		"province" : "Manisa",
		"title" : "Şehzadeler"
	},
	{
		"province" : "Manisa",
		"title" : "Turgutlu"
	},
	{
		"province" : "Manisa",
		"title" : "Yunusemre"
	},
	{
		"province" : "Mardin",
		"title" : "Artuklu"
	},
	{
		"province" : "Mardin",
		"title" : "Dargeçit"
	},
	{
		"province" : "Mardin",
		"title" : "Derik"
	},
	{
		"province" : "Mardin",
		"title" : "Kızıltepe"
	},
	{
		"province" : "Mardin",
		"title" : "Mazıdağı"
	},
	{
		"province" : "Mardin",
		"title" : "Midyat"
	},
	{
		"province" : "Mardin",
		"title" : "Nusaybin"
	},
	{
		"province" : "Mardin",
		"title" : "Ömerli"
	},
	{
		"province" : "Mardin",
		"title" : "Savur"
	},
	{
		"province" : "Mardin",
		"title" : "Yeşilli"
	},
	{
		"province" : "Mersin",
		"title" : "Akdeniz"
	},
	{
		"province" : "Mersin",
		"title" : "Anamur"
	},
	{
		"province" : "Mersin",
		"title" : "Aydıncık"
	},
	{
		"province" : "Mersin",
		"title" : "Bozyazı"
	},
	{
		"province" : "Mersin",
		"title" : "Çamlıyayla"
	},
	{
		"province" : "Mersin",
		"title" : "Erdemli"
	},
	{
		"province" : "Mersin",
		"title" : "Gülnar"
	},
	{
		"province" : "Mersin",
		"title" : "Mezitli"
	},
	{
		"province" : "Mersin",
		"title" : "Mut"
	},
	{
		"province" : "Mersin",
		"title" : "Silifke"
	},
	{
		"province" : "Mersin",
		"title" : "Tarsus"
	},
	{
		"province" : "Mersin",
		"title" : "Toroslar"
	},
	{
		"province" : "Mersin",
		"title" : "Yenişehir"
	},
	{
		"province" : "Muğla",
		"title" : "Bodrum"
	},
	{
		"province" : "Muğla",
		"title" : "Dalaman"
	},
	{
		"province" : "Muğla",
		"title" : "Datça"
	},
	{
		"province" : "Muğla",
		"title" : "Fethiye"
	},
	{
		"province" : "Muğla",
		"title" : "Kavaklıdere"
	},
	{
		"province" : "Muğla",
		"title" : "Köyceğiz"
	},
	{
		"province" : "Muğla",
		"title" : "Marmaris"
	},
	{
		"province" : "Muğla",
		"title" : "Menteşe"
	},
	{
		"province" : "Muğla",
		"title" : "Milas"
	},
	{
		"province" : "Muğla",
		"title" : "Ortaca"
	},
	{
		"province" : "Muğla",
		"title" : "Seydikemer"
	},
	{
		"province" : "Muğla",
		"title" : "Ula"
	},
	{
		"province" : "Muğla",
		"title" : "Yatağan"
	},
	{
		"province" : "Muş",
		"title" : "Bulanık"
	},
	{
		"province" : "Muş",
		"title" : "Hasköy"
	},
	{
		"province" : "Muş",
		"title" : "Korkut"
	},
	{
		"province" : "Muş",
		"title" : "Malazgirt"
	},
	{
		"province" : "Muş",
		"title" : "Merkez"
	},
	{
		"province" : "Muş",
		"title" : "Varto"
	},
	{
		"province" : "Nevşehir",
		"title" : "Acıgöl"
	},
	{
		"province" : "Nevşehir",
		"title" : "Avanos"
	},
	{
		"province" : "Nevşehir",
		"title" : "Derinkuyu"
	},
	{
		"province" : "Nevşehir",
		"title" : "Gülşehir"
	},
	{
		"province" : "Nevşehir",
		"title" : "Hacıbektaş"
	},
	{
		"province" : "Nevşehir",
		"title" : "Kozaklı"
	},
	{
		"province" : "Nevşehir",
		"title" : "Merkez"
	},
	{
		"province" : "Nevşehir",
		"title" : "Ürgüp"
	},
	{
		"province" : "Niğde",
		"title" : "Altunhisar"
	},
	{
		"province" : "Niğde",
		"title" : "Bor"
	},
	{
		"province" : "Niğde",
		"title" : "Çamardı"
	},
	{
		"province" : "Niğde",
		"title" : "Çiftlik"
	},
	{
		"province" : "Niğde",
		"title" : "Merkez"
	},
	{
		"province" : "Niğde",
		"title" : "Ulukışla"
	},
	{
		"province" : "Ordu",
		"title" : "Akkuş"
	},
	{
		"province" : "Ordu",
		"title" : "Altınordu"
	},
	{
		"province" : "Ordu",
		"title" : "Aybastı"
	},
	{
		"province" : "Ordu",
		"title" : "Çamaş"
	},
	{
		"province" : "Ordu",
		"title" : "Çatalpınar"
	},
	{
		"province" : "Ordu",
		"title" : "Çaybaşı"
	},
	{
		"province" : "Ordu",
		"title" : "Fatsa"
	},
	{
		"province" : "Ordu",
		"title" : "Gölköy"
	},
	{
		"province" : "Ordu",
		"title" : "Gülyalı"
	},
	{
		"province" : "Ordu",
		"title" : "Gürgentepe"
	},
	{
		"province" : "Ordu",
		"title" : "İkizce"
	},
	{
		"province" : "Ordu",
		"title" : "Kabadüz"
	},
	{
		"province" : "Ordu",
		"title" : "Kabataş"
	},
	{
		"province" : "Ordu",
		"title" : "Korgan"
	},
	{
		"province" : "Ordu",
		"title" : "Kumru"
	},
	{
		"province" : "Ordu",
		"title" : "Mesudiye"
	},
	{
		"province" : "Ordu",
		"title" : "Perşembe"
	},
	{
		"province" : "Ordu",
		"title" : "Ulubey"
	},
	{
		"province" : "Ordu",
		"title" : "Ünye"
	},
	{
		"province" : "Osmaniye",
		"title" : "Bahçe"
	},
	{
		"province" : "Osmaniye",
		"title" : "Düziçi"
	},
	{
		"province" : "Osmaniye",
		"title" : "Hasanbeyli"
	},
	{
		"province" : "Osmaniye",
		"title" : "Kadirli"
	},
	{
		"province" : "Osmaniye",
		"title" : "Merkez"
	},
	{
		"province" : "Osmaniye",
		"title" : "Sumbas"
	},
	{
		"province" : "Osmaniye",
		"title" : "Toprakkale"
	},
	{
		"province" : "Rize",
		"title" : "Ardeşen"
	},
	{
		"province" : "Rize",
		"title" : "Çamlıhemşin"
	},
	{
		"province" : "Rize",
		"title" : "Çayeli"
	},
	{
		"province" : "Rize",
		"title" : "Derepazarı"
	},
	{
		"province" : "Rize",
		"title" : "Fındıklı"
	},
	{
		"province" : "Rize",
		"title" : "Güneysu"
	},
	{
		"province" : "Rize",
		"title" : "Hemşin"
	},
	{
		"province" : "Rize",
		"title" : "İkizdere"
	},
	{
		"province" : "Rize",
		"title" : "İyidere"
	},
	{
		"province" : "Rize",
		"title" : "Kalkandere"
	},
	{
		"province" : "Rize",
		"title" : "Merkez"
	},
	{
		"province" : "Rize",
		"title" : "Pazar"
	},
	{
		"province" : "Sakarya",
		"title" : "Adapazarı"
	},
	{
		"province" : "Sakarya",
		"title" : "Akyazı"
	},
	{
		"province" : "Sakarya",
		"title" : "Arifiye"
	},
	{
		"province" : "Sakarya",
		"title" : "Erenler"
	},
	{
		"province" : "Sakarya",
		"title" : "Ferizli"
	},
	{
		"province" : "Sakarya",
		"title" : "Geyve"
	},
	{
		"province" : "Sakarya",
		"title" : "Hendek"
	},
	{
		"province" : "Sakarya",
		"title" : "Karapürçek"
	},
	{
		"province" : "Sakarya",
		"title" : "Karasu"
	},
	{
		"province" : "Sakarya",
		"title" : "Kaynarca"
	},
	{
		"province" : "Sakarya",
		"title" : "Kocaali"
	},
	{
		"province" : "Sakarya",
		"title" : "Pamukova"
	},
	{
		"province" : "Sakarya",
		"title" : "Sapanca"
	},
	{
		"province" : "Sakarya",
		"title" : "Serdivan"
	},
	{
		"province" : "Sakarya",
		"title" : "Söğütlü"
	},
	{
		"province" : "Sakarya",
		"title" : "Taraklı"
	},
	{
		"province" : "Samsun",
		"title" : "19 Mayıs"
	},
	{
		"province" : "Samsun",
		"title" : "Alaçam"
	},
	{
		"province" : "Samsun",
		"title" : "Asarcık"
	},
	{
		"province" : "Samsun",
		"title" : "Atakum"
	},
	{
		"province" : "Samsun",
		"title" : "Ayvacık"
	},
	{
		"province" : "Samsun",
		"title" : "Bafra"
	},
	{
		"province" : "Samsun",
		"title" : "Canik"
	},
	{
		"province" : "Samsun",
		"title" : "Çarşamba"
	},
	{
		"province" : "Samsun",
		"title" : "Havza"
	},
	{
		"province" : "Samsun",
		"title" : "İlkadım"
	},
	{
		"province" : "Samsun",
		"title" : "Kavak"
	},
	{
		"province" : "Samsun",
		"title" : "Ladik"
	},
	{
		"province" : "Samsun",
		"title" : "Salıpazarı"
	},
	{
		"province" : "Samsun",
		"title" : "Tekkeköy"
	},
	{
		"province" : "Samsun",
		"title" : "Terme"
	},
	{
		"province" : "Samsun",
		"title" : "Vezirköprü"
	},
	{
		"province" : "Samsun",
		"title" : "Yakakent"
	},
	{
		"province" : "Siirt",
		"title" : "Baykan"
	},
	{
		"province" : "Siirt",
		"title" : "Eruh"
	},
	{
		"province" : "Siirt",
		"title" : "Kurtalan"
	},
	{
		"province" : "Siirt",
		"title" : "Merkez"
	},
	{
		"province" : "Siirt",
		"title" : "Pervari"
	},
	{
		"province" : "Siirt",
		"title" : "Şirvan"
	},
	{
		"province" : "Siirt",
		"title" : "Tillo"
	},
	{
		"province" : "Sinop",
		"title" : "Ayancık"
	},
	{
		"province" : "Sinop",
		"title" : "Boyabat"
	},
	{
		"province" : "Sinop",
		"title" : "Dikmen"
	},
	{
		"province" : "Sinop",
		"title" : "Durağan"
	},
	{
		"province" : "Sinop",
		"title" : "Erfelek"
	},
	{
		"province" : "Sinop",
		"title" : "Gerze"
	},
	{
		"province" : "Sinop",
		"title" : "Merkez"
	},
	{
		"province" : "Sinop",
		"title" : "Saraydüzü"
	},
	{
		"province" : "Sinop",
		"title" : "Türkeli"
	},
	{
		"province" : "Sivas",
		"title" : "Akıncılar"
	},
	{
		"province" : "Sivas",
		"title" : "Altınyayla"
	},
	{
		"province" : "Sivas",
		"title" : "Divriği"
	},
	{
		"province" : "Sivas",
		"title" : "Doğanşar"
	},
	{
		"province" : "Sivas",
		"title" : "Gemerek"
	},
	{
		"province" : "Sivas",
		"title" : "Gölova"
	},
	{
		"province" : "Sivas",
		"title" : "Gürün"
	},
	{
		"province" : "Sivas",
		"title" : "Hafik"
	},
	{
		"province" : "Sivas",
		"title" : "İmranlı"
	},
	{
		"province" : "Sivas",
		"title" : "Kangal"
	},
	{
		"province" : "Sivas",
		"title" : "Koyulhisar"
	},
	{
		"province" : "Sivas",
		"title" : "Merkez"
	},
	{
		"province" : "Sivas",
		"title" : "Suşehri"
	},
	{
		"province" : "Sivas",
		"title" : "Şarkışla"
	},
	{
		"province" : "Sivas",
		"title" : "Ulaş"
	},
	{
		"province" : "Sivas",
		"title" : "Yıldızeli"
	},
	{
		"province" : "Sivas",
		"title" : "Zara"
	},
	{
		"province" : "Şanlıurfa",
		"title" : "Akçakale"
	},
	{
		"province" : "Şanlıurfa",
		"title" : "Birecik"
	},
	{
		"province" : "Şanlıurfa",
		"title" : "Bozova"
	},
	{
		"province" : "Şanlıurfa",
		"title" : "Ceylanpınar"
	},
	{
		"province" : "Şanlıurfa",
		"title" : "Eyyübiye"
	},
	{
		"province" : "Şanlıurfa",
		"title" : "Halfeti"
	},
	{
		"province" : "Şanlıurfa",
		"title" : "Haliliye"
	},
	{
		"province" : "Şanlıurfa",
		"title" : "Harran"
	},
	{
		"province" : "Şanlıurfa",
		"title" : "Hilvan"
	},
	{
		"province" : "Şanlıurfa",
		"title" : "Karaköprü"
	},
	{
		"province" : "Şanlıurfa",
		"title" : "Siverek"
	},
	{
		"province" : "Şanlıurfa",
		"title" : "Suruç"
	},
	{
		"province" : "Şanlıurfa",
		"title" : "Viranşehir"
	},
	{
		"province" : "Şırnak",
		"title" : "Beytüşşebap"
	},
	{
		"province" : "Şırnak",
		"title" : "Cizre"
	},
	{
		"province" : "Şırnak",
		"title" : "Güçlükonak"
	},
	{
		"province" : "Şırnak",
		"title" : "İdil"
	},
	{
		"province" : "Şırnak",
		"title" : "Merkez"
	},
	{
		"province" : "Şırnak",
		"title" : "Silopi"
	},
	{
		"province" : "Şırnak",
		"title" : "Uludere"
	},
	{
		"province" : "Tekirdağ",
		"title" : "Çerkezköy"
	},
	{
		"province" : "Tekirdağ",
		"title" : "Çorlu"
	},
	{
		"province" : "Tekirdağ",
		"title" : "Ergene"
	},
	{
		"province" : "Tekirdağ",
		"title" : "Hayrabolu"
	},
	{
		"province" : "Tekirdağ",
		"title" : "Kapaklı"
	},
	{
		"province" : "Tekirdağ",
		"title" : "Malkara"
	},
	{
		"province" : "Tekirdağ",
		"title" : "Marmaraereğlisi"
	},
	{
		"province" : "Tekirdağ",
		"title" : "Muratlı"
	},
	{
		"province" : "Tekirdağ",
		"title" : "Saray"
	},
	{
		"province" : "Tekirdağ",
		"title" : "Süleymanpaşa"
	},
	{
		"province" : "Tekirdağ",
		"title" : "Şarköy"
	},
	{
		"province" : "Tokat",
		"title" : "Almus"
	},
	{
		"province" : "Tokat",
		"title" : "Artova"
	},
	{
		"province" : "Tokat",
		"title" : "Başçiftlik"
	},
	{
		"province" : "Tokat",
		"title" : "Erbaa"
	},
	{
		"province" : "Tokat",
		"title" : "Merkez"
	},
	{
		"province" : "Tokat",
		"title" : "Niksar"
	},
	{
		"province" : "Tokat",
		"title" : "Pazar"
	},
	{
		"province" : "Tokat",
		"title" : "Reşadiye"
	},
	{
		"province" : "Tokat",
		"title" : "Sulusaray"
	},
	{
		"province" : "Tokat",
		"title" : "Turhal"
	},
	{
		"province" : "Tokat",
		"title" : "Yeşilyurt"
	},
	{
		"province" : "Tokat",
		"title" : "Zile"
	},
	{
		"province" : "Trabzon",
		"title" : "Akçaabat"
	},
	{
		"province" : "Trabzon",
		"title" : "Araklı"
	},
	{
		"province" : "Trabzon",
		"title" : "Arsin"
	},
	{
		"province" : "Trabzon",
		"title" : "Beşikdüzü"
	},
	{
		"province" : "Trabzon",
		"title" : "Çarşıbaşı"
	},
	{
		"province" : "Trabzon",
		"title" : "Çaykara"
	},
	{
		"province" : "Trabzon",
		"title" : "Dernekpazarı"
	},
	{
		"province" : "Trabzon",
		"title" : "Düzköy"
	},
	{
		"province" : "Trabzon",
		"title" : "Hayrat"
	},
	{
		"province" : "Trabzon",
		"title" : "Köprübaşı"
	},
	{
		"province" : "Trabzon",
		"title" : "Maçka"
	},
	{
		"province" : "Trabzon",
		"title" : "Of"
	},
	{
		"province" : "Trabzon",
		"title" : "Ortahisar"
	},
	{
		"province" : "Trabzon",
		"title" : "Sürmene"
	},
	{
		"province" : "Trabzon",
		"title" : "Şalpazarı"
	},
	{
		"province" : "Trabzon",
		"title" : "Tonya"
	},
	{
		"province" : "Trabzon",
		"title" : "Vakfıkebir"
	},
	{
		"province" : "Trabzon",
		"title" : "Yomra"
	},
	{
		"province" : "Tunceli",
		"title" : "Çemişgezek"
	},
	{
		"province" : "Tunceli",
		"title" : "Hozat"
	},
	{
		"province" : "Tunceli",
		"title" : "Mazgirt"
	},
	{
		"province" : "Tunceli",
		"title" : "Merkez"
	},
	{
		"province" : "Tunceli",
		"title" : "Nazımiye"
	},
	{
		"province" : "Tunceli",
		"title" : "Ovacık"
	},
	{
		"province" : "Tunceli",
		"title" : "Pertek"
	},
	{
		"province" : "Tunceli",
		"title" : "Pülümür"
	},
	{
		"province" : "Uşak",
		"title" : "Banaz"
	},
	{
		"province" : "Uşak",
		"title" : "Eşme"
	},
	{
		"province" : "Uşak",
		"title" : "Karahallı"
	},
	{
		"province" : "Uşak",
		"title" : "Merkez"
	},
	{
		"province" : "Uşak",
		"title" : "Sivaslı"
	},
	{
		"province" : "Uşak",
		"title" : "Ulubey"
	},
	{
		"province" : "Van",
		"title" : "Bahçesaray"
	},
	{
		"province" : "Van",
		"title" : "Başkale"
	},
	{
		"province" : "Van",
		"title" : "Çaldıran"
	},
	{
		"province" : "Van",
		"title" : "Çatak"
	},
	{
		"province" : "Van",
		"title" : "Edremit"
	},
	{
		"province" : "Van",
		"title" : "Erciş"
	},
	{
		"province" : "Van",
		"title" : "Gevaş"
	},
	{
		"province" : "Van",
		"title" : "Gürpınar"
	},
	{
		"province" : "Van",
		"title" : "İpekyolu"
	},
	{
		"province" : "Van",
		"title" : "Muradiye"
	},
	{
		"province" : "Van",
		"title" : "Özalp"
	},
	{
		"province" : "Van",
		"title" : "Saray"
	},
	{
		"province" : "Van",
		"title" : "Tuşba"
	},
	{
		"province" : "Yalova",
		"title" : "Altınova"
	},
	{
		"province" : "Yalova",
		"title" : "Armutlu"
	},
	{
		"province" : "Yalova",
		"title" : "Çınarcık"
	},
	{
		"province" : "Yalova",
		"title" : "Çiftlikköy"
	},
	{
		"province" : "Yalova",
		"title" : "Merkez"
	},
	{
		"province" : "Yalova",
		"title" : "Termal"
	},
	{
		"province" : "Yozgat",
		"title" : "Akdağmadeni"
	},
	{
		"province" : "Yozgat",
		"title" : "Aydıncık"
	},
	{
		"province" : "Yozgat",
		"title" : "Boğazlıyan"
	},
	{
		"province" : "Yozgat",
		"title" : "Çandır"
	},
	{
		"province" : "Yozgat",
		"title" : "Çayıralan"
	},
	{
		"province" : "Yozgat",
		"title" : "Çekerek"
	},
	{
		"province" : "Yozgat",
		"title" : "Kadışehri"
	},
	{
		"province" : "Yozgat",
		"title" : "Merkez"
	},
	{
		"province" : "Yozgat",
		"title" : "Saraykent"
	},
	{
		"province" : "Yozgat",
		"title" : "Sarıkaya"
	},
	{
		"province" : "Yozgat",
		"title" : "Sorgun"
	},
	{
		"province" : "Yozgat",
		"title" : "Şefaatli"
	},
	{
		"province" : "Yozgat",
		"title" : "Yenifakılı"
	},
	{
		"province" : "Yozgat",
		"title" : "Yerköy"
	},
	{
		"province" : "Zonguldak",
		"title" : "Alaplı"
	},
	{
		"province" : "Zonguldak",
		"title" : "Çaycuma"
	},
	{
		"province" : "Zonguldak",
		"title" : "Devrek"
	},
	{
		"province" : "Zonguldak",
		"title" : "Ereğli"
	},
	{
		"province" : "Zonguldak",
		"title" : "Gökçebey"
	},
	{
		"province" : "Zonguldak",
		"title" : "Kilimli"
	},
	{
		"province" : "Zonguldak",
		"title" : "Kozlu"
	},
	{
		"province" : "Zonguldak",
		"title" : "Merkez"
	}
]

Zafiyet : Information Disclosure

Zafiyet: Hassas Bilgi İfşası

Zafiyet Açıklaması: Kullanıcı adı , soyadı , telefon numarası gibi veriler uygulamada clear text olarak gözükmemektedir. Fakat uygulamadan dönen cevaplar incelendiğinde verilerin kullanıcıya açık bir şekilde gönderildiği gözükmektedir. Sadece arayüzde yıldızlı olarak gözükmektedir.

Bahsi Geçen İstekler:
image0modified

image1modified

Verileri döndüren URL : deprem.io/elasticsearch/msearch ve deprem.io/api/1.1/init/data?location=

Yeniden üretme adımları:

1.https://deprem.io/yardim-list-enkaz adresine gidin
2.Burp Suite intercepti açıp herhangi birinde "Detaya git"e basın.
image
3.elasticsearch/msearch ya da /api/1.1/init/data?location= ile başlayan request gelene kadar forward edin.
image
4.Bulduğunuz zaman repeater'a yollayın.
image
5.Bize gönderilen response'da veriler sansürsüz bir şekilde görülebilmekte.
image

Çözüm Önerisi : Yıldızlama işlemi sunucuda yapılıp, uygulama arayüzüne şifreli olarak gönderilmelidir.

Telefon Doğrulama

Modeller içerisine match property'si eklenerek doğrulama yapılabilir. Yetkim olmadığı için branch'i push'layamadım.

const mongoose = require("mongoose");

// yardım istyenlerin model dosyası
const yardimSchema = new mongoose.Schema(
{
yardimTipi: { // Gıda, İlaç, Enkaz, Isınma, Kayıp
type: String,
required: true
},
adSoyad: {
type: String,
required: true
},
telefon: {
type: String,
required: false,
match: /^+?[\d\s]+$/,
},
yedekTelefonlar: {
type: [String],
required: false
},
email: {
type: String,
required: false
},
adres: {
type: String,
required: true
},
adresTarifi: {
type: String,
required: false
},
acilDurum: {
type: String,
enum: ['normal', 'orta', 'kritik'],
required: true
},
kisiSayisi: {
type: String,
required: false
},
yardimDurumu: {
type: String,
enum: ['bekleniyor', 'yolda','yapildi'],
required: true
},
fizikiDurum: {
type: String,
required: false
},
googleMapLink: {
type: String,
required: false
},

tweetLink: {
  type: String,
  required: false
},

fields: { // Tüm alternatif kullanımlar için buraya json yollayın
  type: Object,
  required: false
},

ip: {
  type: String,
  required: true,
  select: false
},

},
{ timestamps: true }
);

const Yardim = mongoose.model("yardim", yardimSchema);

module.exports = Yardim;

Add Redis Cache

  • Redis varsa redis kurulumu, yoksa async-cache-dedupe kullanalim
  • Dockera eklenecek bunlar

Data CSV export and Send email

Veriyi csv olarak çıkartıp email atacak bir enpoint lazım kendi emailiniz ile test edin tek bir email adresine mail atacak onu statik olarak paylaşacağım. Mevcut endpointleri değiştirmeyin

Backend ngram searchten yararlanabilir

Search endpointleri su an icin structured data aliyor.
Eger indexing + ngram search implement edersek, konuyu dusunmeden insanlar keyword arayabilirler.
Elimizdeki datayi indexleyip instancelarin lokal disk cacheinde tutmanin su dakikada problem olacagini zannetmiyorum.

Bu konuda hali hazirda gunluk olarak kullandigim ve tecrubem olan tantivy kutuphanesini oneriyorum.
Node js bindingleri de mevcut.

Eger benzer fikirlerdeyseniz ve database semasi belli ise neyi nasil indexleyecegimiz konusunda fikir yurutup bir PR ile gelebilirim.

Boylece ngramlar uzerinden arama yaptigimizda
filtrele -> listelere ulas modelini
dusundugunu yaz -> aradigini bul modeline gecirebiliriz.

`/yardim` Aynı Yardımın Tekrar Tekrar Eklenmesi

Yardımlar eklenirken yalnızca "adres" alanı kontrol ediliyor. Adres alanında tek bir karakter değiştirilerek aynı yardım tekrar eklenebilir. Telefon, tweet gibi birden fazla alanın kontrolü sağlanabilir. İhtiyaç duyulan seviyede rate-limit belirlenerek #cloudsec kanalıyla paylaşılabilir.

image

image

PRODUCTION DAY!

Arkadaşlar yeni özellik eklemiyoruz. Teknik borcumuz olsun. Bugları çözüyoruz sadece bugün productiona taşıyorum çok teşekkür ederim herkese.

Fastify'a test ekleyelim.

Ornegin:

'use strict'

const { test } = require('tap')
const build = require('./app')

test('requests the "/" route', async t => {
  const app = build()

  const response = await app.inject({
    method: 'GET',
    url: '/'
  })
  t.equal(response.statusCode, 200, 'returns a status code of 200')
})

Node 18 kullandigimiz icin node:test modulunu kullanabiliriz test runner olarak. Ornegin: https://nodejs.org/api/test.html

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.