Twitter Api Kullanarak twitterSearch Uygulaması
Bu uygulamanın amacı girilen kelimeye göre Twitter’dan kullanıcıların attığı tweetleri çekmektir. Uygulama için gereken bazı modüller vardır. Bu modüller:
-body-parser
-cookie-parser
-ejs
-express
-mongodb
-twit
body-parser ve cookie-parser modülü Twitter’dan çekilen tweet bilgisi içeriğini html-tag gibi gereksiz içeriklerden temizlemek için kullanılacaktır.
ejs modülü bir önceki projede jade modülünün yaptığı işi yani HTML sayfaları oluşturmak için kullanılacaktır.
express modülünden bahsetmiştik fakat yine bahsetmek gerekirse bu modül nodejs ile çok daha kolay ve hızlı geliştirme yapmamıza imkan sağlayan bir web çatısıdır.(web framework) Express, html şablonlarıyla, servisimizden gelen verileri birleştirebilmemizi sağlayan javascript kütüphanesidir.Bu sayede php’de olduğu gibi html içerisine veri yollayıp bunu görüntüleyebilmemizi sağlar.
mongodb modülü MongoDB veritabanı bağlantımızı kurmak için kullanılacaktır.
Gelelim twit modülüne. Bu modül Twitter Api’sine bağlanmamıza olanak sağlıyor ve bu modülü kullanarak Twitter üzerinden veri çekmemize yarayan fonsiyonları barındırıyor.
Geçen projede kullanılan paketleri tek tek kurmak için gekenleri anlatmıştım bu projede hepsini toplu halde kurmayı gösterecem. Bunu yapmak için yine npm kullanacağız fakat ekstradan package.json adında bir dosyaya ihtiyacımız olacak. Bu dosya projemiz hakkında bilgileri içeren dosyadır. Bu modüller proje için lazım olduğundan bu bilgiyide bu dosya içinde belirtiyoruz.
Bu dosyanın proje klasörü içinde olması yeterlidir. Kurulum için tek yapmamız gereken komut satırında projemizin bulunduğu dizine gidip —npm install dememiz. Bu komut bulunduğu dizinde package.json dosyanı arayacaktır ve içinde, bağımlılıklar bölümünde yazan modülleri aynı dizinde node_modules klasörünün içine kuracaktır.
Bunu yaptıktan sonra şimdi gelelim proje kodlarımıza.
Kodumuzun ilk kısmında projede kullanacağımız modülleri import ediyoruz.
app.set() komutu ile ejs modülü ile tasarladığımız view sayfasının bilgilerini uygulamaya aktarıyoruz.
app.use() komutu ile style dosyalarımızın konumunu uygalamaya aktarıyoruz.
app.get() komutunu kullanarak ve ‘/’ diyerek tarayıcıda adres çubuğuna http://localhost:3000/ yazıldığında homepage fonksiyonunu çalıştırmasını, ‘/tweets’ diyerek tarayıcıda adres çubuğuna http://localhost:3000/tweets yazıldığında get_tweets fonksiyonunu çalıştırmasını ve ‘/display’ diyerek ise tarayıcıda adres çubuğuna http://localhost:3000/display yazıldığında display_tweets fonksiyonunu çalıştırmasını istiyoruz.
Burada diğerlerinden farklı olan bir komut var var functions = require(‘./modular_functions’) komutu. Bu komutta gördüğümüz üzere parantezler arasında yazan isim uygulama için kullandığımız modüllerden değil peki bu nedir? Bu komut Twitter Api’ye bağlanma işini yaptığımız ve tweetleri çektiğimiz kodların bulunduğu dosya bunu import ediyoruzki yazdığımız kodlara erişebilelim.
Bu dosyadaki kodlarımıza gelecek olursak:
Bu kısımda Twitter Api bağlantısını yapıyoruz.Gördüğünüz gibi Twit modülünü kulanıyoruz. Bu bağlantı için bize gerekenler neler ? Yapmanız gereken öncelikler Twitter kullanıcısı olmak. Daha sonrada http://sercey.com/internet/twitter-api-olusturma/ linke giderek anlatıldığı gibi Twitter uygulama oluşturmak.
https://gist.github.com/artist27/be4e52962b8e96366df0e4ff6a3e403e
Bu kod parçasıda oluturulan Api bağlantısı kullanarak get() fonksiyonuyla girilen parametrelere göre tweet çekiyor. Parametlere gelecek olursak ‘search/tweets’ ile tweet araması yapacağımızı belirtiyoruz. ‘q’ ile aranacak kelime ‘count’ ile de en son atılan kaç tweet çekileceğini belirtiyoruz. ‘display_data’ ise gelen verileri tuttuğumuz değişken.
Bu kod parçasıda mongoDB’ye çektiğimiz tweetleri kaydediyor.
Bu kısımda ise öncelikle display_tweets() fonksiyonu çalışır ve veritabanı bağlantısı kurulduktan sonra verileri okumak için read() fonksiyonu çalıştırılır. Okunan veriler JSON formatında parse_json() fonksiyonuna gönderilir ve burada ekrana basılır.
Bu uygulamanın çalışması için bilgisayarınızda mongoDB,npm ve nodejs kurulu olması gerekmektedir. Veritabanında herhangi bir ilem yapmanıza gerek yoktur uygulama kendi tablosunu yaratıp kayıt yapmaktadır. Projeyi çalıştırmak için komutsatırından uygulamanın bulunduğu dizine geçip —node app.js demeniz yeterli olacaktır. Daha sonra adres çubuğuna http://localhost:3000 yazarak uygulamayı kullanabilirsiniz.
Proje kaynak kodlarına aşağıdaki bağlantıdan ulaşabilirsiniz…