
Şimdi proje klasörümüzün içine app.js isiminde bir dosya, içinde siteye ait her türlü resim, css, javascript dosyalarını tutacağımız public isminde bir klasör, controller klasörü ve veritabanı bağlantımızı gerçekleştireceğimiz models klasörünü oluşturuyoruz. Models kalsöründen başlayalım anlatmaya. İlk önce bir tane Users isminde javascript dosyası oluşturalım ve içine resimdeki kodları ekleyelim.
Kodları açıklamak gerekirse, 1. satırda mongoose kütüphenesini require komutuyla çağırıyoruz bir nevi tanıtıyoruz. Sonrasında bir şema oluşturuyoruz ve içinde veritabanındaki nesnelere ithafen tutacağımız girdileri yazıyoruz. Sonrasında User isminde bu şemaya örnek bir obje oluşturyoruz ve ensonda ise User'i exports ediyoruz. Şimdi gelelim controllerımıza:
2 tane controller dosyamız var home_controller ve account_controller. Home _controller dosyasında sadece anasayfayı alıyoruz oluşturduğumuz getIndex metodu ile bu metodu daha sonra app.js dosyasında tanımlıcaz.
Buda 2. controller dosyamız account_controller burada da register ve login sayfalarını get ve post yapıyoruz. Post ederken de tipik mongodb sorgularını ve veritabanı kodlarını kullanıyoruz. Sayfadan ise verileri req.body ile alıyoruz. En sonunda querystring metodu ile kullanıcının kullanıcı adını alarak chat sayfasına yönlendiriyoruz. Şimdi gelelim nodeJS'in bel kemiği olan app.js dosyasına.
Yukarıda görülen app.js dosyası projeyi çalıştırmamızı sağlar. Komut istemcisin de projemizin olduğu kısıma gelip node app.js komutunu yazarsak projemiz çalışıp browserda görünmeye başlayacaktır. Koda gelirsek ilk 11 satırda yüklediğimiz npmleri çağırdık. Sonrasında controllerlarımızı belirtip Mongodb bağlantımızı gerçekleştirdik gerçekleşmez ise hata mesajı ayarladık. 44. satıra geldiğimizde sayfaların post ve get durumlarında kullanacağı route yi ayarladık controllerlarda yazdığımız fonksiyonları gösterterek. En son kısımda ise socket bağlantılarını yapıyoruz. Bu kısımdaki kodları socket.io sitesinden alabilirsiniz. Proje buraya kadardı. Proje ile ilgili bütün kodları https://github.com/emresolugan/NodeJS-Chat-Application-with-MongoDB github adresimden bulabilirsiniz. Ayrıca yanda bulunan sosyal ağ seçeneklerinden takip edebilirsiniz. Bir sonraki yayınımda görüşmek üzere takipte kalın.
No comments:
Post a Comment