NodeJS ile İletişim Formu Uygulaması

Merhaba arkadaşlar NodeJS ile ilgili ufak bir uygulama hazırladım. Uygulamada formdan alınan bilgileri mysql veritabanına kaydetme işlemini göstereceğim. Neden MongoDB değil diyorsanız şuan bir uygulama geliştiriyorum ve mysql kullandım ilerleyen derslerde MongoDB ile de yapımına bakacağız.Bütün işlemleri server.js üzerinden yapacağız. Şu modülleri yükleyelim
npm install express
npm install body-parser
npm install mysql

daha sonra server.js adında bir dosya açalım ve server oluşturalım. Buradaki derste mysql baglanmayı anlattım.

var express = require('express');
var bodyParser = require('body-parser');
 var mysql      = require('mysql');
var app = express();
app.use(bodyParser());
 
 
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '',
  database : 'test'
});
 
connection.connect();
 
app.get('/', function(req, res){
 
  var html = '<form action="/" method="post">' +
               'Adınız:' +
               '<input type="text" name="ad" placeholder="adınız" />' +
               '<br>' +
               'mail:' +
               '<input type="text" name="mail" placeholder="mail" />' +
               '<br>' +
               '<button type="submit">Gönder</button>' +
            '</form>';
 
  res.send(html);
});
app.post('/', function(req, res){
  var ad = req.body.ad;
  var mail = req.body.mail;
  var html = 'Merhaba: ' + ad + '.<br>' +
             '<a href="/">Geri Dön</a>';
             var sql = "INSERT INTO uye (ad,mail) VALUES ?";
              var values = [
                [ad, mail]
              ];
              connection.query(sql, [values], function(err) {
                if (err) throw err;
 
              });
 
 
  res.send(html);
});
 
app.listen(8080);

yukardan aşağıya doğru bakarsak öncelikle mysql bağlantısını oluşturduk daha sonra iki tane input oluşturduk ad ve mail için test adında bir veritabanı oluşturduk ve uye adında tablomuza iki tane row ekledik post kısmında ise basit bir şekilde formdan gelen değerleri sql kodları ile veritabanına kayır ettik daha sonra node server.js ile kodlarımızı çalıştıralım. Projenin bitin kodlarına buradan ulaşabilirsiniz.

NodeJS Notlarım – 4

Merhaba arkadaşlar şuan NodeJS ile bir proje geliştiriyorum ve hatırlamak amaçlı tuttuugum notlara devam ediyorum.Önceki yazıda Express’ten bahsetmiştim. Bu bölümde ise Express ile post işlemi yapacağız. Express generator ile gerekli dosyaları oluşturalım.Body-parse paketinide yükleyelim. Normalde Express yüklediğimizde View klasörü içindeki jade kodları çalışır ancak biz html ile çalışacağımız için public klasörü içine bir html dosyası oluşturalım. Dosya dizini şu şekilde olmalı
Untitled
daha sonra form oluşturmak için kodları yazalım.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Post Method</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  </head>
  <body>
    <div class="row">
      <div class="col-md-4" style="padding:25px">
          <form action="/post" method="post">
        <div class="form-group">
          <label for="">Ad Soyad</label>
          <input type="text" class="form-control" placeholder="Ad Soyad" name="kadi">
        </div>
        <div class="form-group">
          <label for="exampleInputPassword1">Şifre</label>
          <input type="password" class="form-control" placeholder="Şifre" name="sifre">
        </div>
        <button type="submit" class="btn btn-default">Gönder</button>
      </form>
  </div>
 </div>
  </body>
</html>

daha sonra index.js içerisine Express’in router ile fonksiyon oluşturalım.

router.post('/post',function(req,res,next){
    var kadi = req.body.kadi;
    var sifre = req.body.sifre;
    res.send('Hosgeldin'+kadi);
});

oluşturduğumuz değişkenlere post edilen değerleri gönderiyoruz. Buradaki önemli nokta fonksiyonun geriye bir şey dödürmesidir. Kodlara buradan ulaşabilirsiniz.

Yemek Tariflerim App

Merhaba arkadaşlar İonic Framework ile geliştirdiğim uygulamayı tanıtmak istedim. İonic hakkında bilgisi olmayanlar için ufak bir özet geçiyim. İonic web teknolojileri ile uygulama geliştirmeyi sunan bir tool,yaptığınız uygulama hybrin olarak çıkıyor yani hem Android hemde İonic build’i alabiliyorsunuz. Ön yüzde kullanılan teknolojiler css,js ve html telefonun sistem özelliklerine ise Cordova ile ulaşıyoruz. Son olarak uygulamayı indirip destek olursanız sevinirim.
drawable-land-xxhdpi-screen

İndir

Uygulamaya ait kodları buradan indirebilirsiniz.

Multer Kütüphanesi ile Dosya yükleme

Merhaba arkadaşlar bu yazıda NodeJS ile dosya yükleme işlemi yapacağız. NodeJS’nin paket yönetim sistemi olan npm‘den Multer kütüphanesinin kullanımına baktığımızda oldukça basittir. View kısmında bir form oluşturalım ve inputları girelim bu kısımda başka yapacağımız işlem yok.

<form id="uploadForm" enctype="multipart/form-data" action="/api/photo" method="post">
      <input type="file" name="userPhoto" class="form-control"/> 
      <input type="submit" class="btn btn-default" value="Dosya Yükle" name="submit">
</form>

daha sonra server kısmına geçmeden önce buradan Multer kütüphanesini projemize dahil edelim daha sonra yüklenecek olan dosylara bir yol belirtmemiz gerekiyor uploads adında bir klasör oluşturalım.

var upload = multer({ dest: 'uploads/' })

daha önce oluşturduğumuz formu post metodu ile buraya yolluyoruz ve kontrol işlemini gerçekleştiriyoruz.

var express    =       require("express");
var multer     =       require('multer');
var app        =       express();
var done       =       false;
 
app.use(multer({ dest: './uploads/',
 rename: function (fieldname, filename) {
    return filename+Date.now();
  },
onFileUploadStart: function (file) {
  console.log(file.originalname + ' is starting ...')
},
onFileUploadComplete: function (file) {
  console.log(file.fieldname + ' uploaded to  ' + file.path)
  done=true;
}
}));
 
app.get('/',function(req,res){
      res.sendfile("index.html");
});
 
app.post('/api/photo',function(req,res){
  if(done==true){
    console.log(req.files);
    res.end("Dosya Yüklendi");
  }
});
 
app.listen(3000,function(){
    console.log("3000'ci port çalışıyor.");
});

Yazıyı burada sonlandırıyorum. Proje dosyalarına buradan ulaşabilirsiniz.

NodeJS Notlarım – 3

NodeJS en çok kullanılan paketlerin başında expressjs gelir. Günlük olarak ortalama 100 bin(npm’nin kayıtlarına göre :D) üzerinde indiriliyor. Bu derste kurulumunu göstereceğim, bir sonraki derste ufak bir iletişim bölümü yaparak inputlar üzerinden post işlemleri yapacağız. NodeJS’nin en güzel yönü olan pratik paket yükleme kodları ile expressi kuralım.

npm install express -g

NodeJS’de klasik olan -g tabiri globaldan gelmektedir isterseniz yazmadan da kurabilirsiniz. Konsolo yazdığımızda hata ile karşılaşırsak bu büyük ihtimalle dosya izinlerinden dolayıdır. Başına sudo eklememiz yeter.

sudo npm install express -g

Hızlı bir şekilde uygulamanın iskeletini oluşturmak için aynı dizinde şunu yazmalıyız.

npm install express-generator -g

projede oluşan dosyalar bu şekildedir.
bIHIxCv

Daha sonra express myapp ile uygulama adını oluşturalım, dependencies içinde paket varsa onları yükleyelim.

npm install

Buraya kadar kurulumu tamamlamış olduk projenin olduğu dizine gelerek uygulamayı açalım. Hata alırsanız node yerine nodejs deneyin. Normalde http://localhost:4000/ portunda çalışır ancak bende o port kullanıldığı için 4000 yönlendirdim.

node ./bin/www

en son
bu yazıda anlatacaklarım bu kadar herkese iyi çalışmalar.