Node.js ile blog sitesi yapma

Katılım
6 Ağustos 2020
Mesajlar
455
Daha fazla  
Cinsiyet
Erkek
Meslek
Yazılımcı
Başlıkta gördüğünüz gibi lakin sadece Node.js değil Express.js, Passport.js, MongoDB de dahil nasıl yapabilirim? Hele şey kısmı nasıl oluyor merak ediyorum: Gönderi ekleme, o gönderiler nereye kaydoluyor? Gönderi ekleme nasıl yapılır yardımcı olabilir misiniz?
 
Gönderi ekleme nasıl yapılır yardımcı olabilir misiniz?
Her şeyden önce, NoSQL ve ORM mantığını araştırmanı öneririm.

NoSQL'de, SQL'deki table'lar gibi, collection'lar oluşuturuyoruz ve bunlara veri ekliyoruz. MongoDB'de JSON yapısında tutuyor. MongoDB kullanımını bir ORM ile desteklemeni öneririm. Örneğin Mongoose.

ORM ile, en basitinden verilere obje şeklinde davranıp, daha anlaşılır bir şekilde yönetebiliyoruz.

Örnek post oluşturan bir fonksiyon:
JavaScript:
const Post = require('./models/post.js');

exports.createPost = async (req, res) => {
    try {
        var name = req.body.name;
        var text = req.body.text;
        if (!name || !text) {
            return res.status(400).json({
                success: false,
                message: 'You must send name and text fields.'
            });
        }
        var post = await Post.create({ name, text });
        return res.json({
            success: true,
            post
        });
    } catch (error) {
        return res.json({
            success: false,
            error
        });
    }
}

Projeyi MVC (Model,View Controller) yapısında yaptığımızı düşünürsek, bu fonksiyonun olması gereken yer; MVC'nin C, yani controller kısmı. Yani şu şekilde olabilir; "controllers/post.js". En üstünde tanımladığım dosya da MVC'nin M, yani model kısmı. Bu da şu şekilde olabilir; "models/post.js". View kısmı ile ilgili back-end'te bir şey yazmayacağız, onu ayrı bir proje olarak yapmak daha mantıklı olacaktır. Aynı proje içinde de template engine'ler kullanılarak yapılabilir, fakat ben ön yüz ve arka yüzü ayrı projeler olarak yazmayı tercih ediyorum.

Örnek projeleri GitHub'dan incelersen, daha iyi anlayacaksındır. Takıldığın noktaları sorarsan, cevaplayabiliriz.
 
Her şeyden önce, NoSQL ve ORM mantığını araştırmanı öneririm.

NoSQL'de, SQL'deki Table'lar gibi, Collection'lar oluşuturuyoruz ve bunlara veri ekliyoruz. MongoDB'de JSON yapısında tutuyor. MongoDB kullanımını bir ORM ile desteklemeni öneririm. Örneğin Mongoose.

ORM ile, en basitinden verilere obje şeklinde davranıp, daha anlaşılır bir şekilde yönetebiliyoruz.

Örnek post oluşturan bir fonksiyon:
JavaScript:
const Post = require('./models/post.js');

exports.createPost = async (req, res) => {
 try {
 var name = req.body.name;
 var text = req.body.text;
 if (!name || !text) {
 return res.status(400).json({
 success: false,
 message: 'You must send name and text fields.'
 });
 }
 var post = await Post.create({ name, text });
 return res.json({
 success: true,
 post
 });
 } catch (error) {
 return res.json({
 success: false,
 error
 });
 }
}

Projeyi MVC (Model, View Controller) yapısında yaptığımızı düşünürsek, bu fonksiyonun olması gereken yer; MVC'nin C, yani Controller kısmı. Yani şu şekilde olabilir; "controllers/post.js". En üstünde tanımladığım dosya da MVC'nin M, yani model kısmı. Bu da şu şekilde olabilir; "models/post.js". View kısmı ile ilgili Back-End'te bir şey yazmayacağız, onu ayrı bir proje olarak yapmak daha mantıklı olacaktır. Aynı proje içinde de template Engine'ler kullanılarak yapılabilir, fakat ben ön yüz ve arka yüzü ayrı projeler olarak yazmayı tercih ediyorum.

Örnek projeleri GitHub'dan incelersen, daha iyi anlayacaksındır. Takıldığın noktaları sorarsan, cevaplayabiliriz.

Beynim yandı reis :D öncelikle MongoDB veri tabanı mı? Bir de şu kod ne işe yarıyor tam olarak yani gönderi koymaya mı yarıyor biraz karışık geldi.
 
Son düzenleyen: Moderatör:
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı