Yemek Sepeti
Emre, yemeksepetine mail atarak tum harcamalarinin miktarini ogrenmek istemis. Yemek siparislerine 2005'ten beri toplam 18.231 TL vermis. Ben de kendi odedigim parayi merak ettim, fakat bunu mail atarak yapmak istemedim.
Yemeksepetinden gelen siparis onayi maillerini tarayip onlarin icindeki toplam siparis miktarlarini toplayan bir programcik yazayim dedim.
API'dir, SMTP'dir cok ugrasmak istemedigim icin Google Apps Script’i deneyeyim dedim. Kisa surede yemeksepetinden gelen tum mailleri gmail'de bulup icindeki miktarlari toplayan bir script hazir oldu.
Yemeksepetine tam 9600 lira para vermisim. Biraz daha detayli gormek icin tum siparislerimi bir spreadsheet'e toplamak istedim. Spreadsheet'in programatik olarak grafik cizmesi de guzel olabilirdi. Sonucta soyle bir seyler cikti:
Toplamda Emre'den daha az harcamis olsam da 2013 ve 2014 yillarinda ortalamada ondan cok daha fazla siparis vermisim/harcamisim. Cikan grafiklerdeki “leş yemek” oraninin da oldukca yuksek olmasi beni rahatsiz etti. Yaptigim harcamalarin yediklerimin kalitesine orani cok yuksek oldugu icin de daha fazla kendim yemek yapmaya karar verdim. Bu spreadsheet'e suradan ulasabilirsiniz.
Eger cok yemek soyluyorsaniz script'in calismasi cok uzun surebiliyor. (Google'in rate limit'leri yuzunden). Hatta birkac dakika sonra sayfa bir noktada timeout veya rate limit hatasi verebilir, eger sayfayi yenilerseniz calismaya kaldigi yerden devam edecektir. Script'in ne asamada oldugunu gormek icin Google Drive'i kontrol edebilirsiniz. Orada yemeksepeti_orders diye bir spreadsheet olusmus olmasi lazim.
Kendi yemeksepeti gecmisinizi ogrenmek icin su linki kullanabilirsiniz. Sizden Google hesabiniza erismek icin izin isteyecek. Izin vermek istemiyorsaniz (ben istemezdim), programin kaynak kodlarini kendi google script hesabinizda deneyebilirsiniz.
Programin kaynak kodlarini github'da yayinladim. Her ay basinda “Gecen ay icinde yemeksepetinde su kadar harcadin” gibi hatirlatma mailleri gondermesi gibi ozellikler eklersek guzel olabilir.
Projeyi tekrardan yapiyor olsam Google Apps Script kullanmazdim. Yavas calismasi yuzunden timeout'a dusuyor olmasi buyuk problem. Koda harcadigim vaktin %80'i bu problemin arkasindan dolasmak icin oldu. (Zaman Trigger'lari ekleyip kaldirmayi denedim, o da baska problemler yarattigi icin vazgectim. Olsaydi timeout'dan sonra reload etmek gerekmeyecekti.) Ayrica tum bunlari hic bilmedigim (ve hazzetmedigim) bir dil olan Javascript ile yapmak da hos degildi.