Son kullanma tarihi geçmiş, bayatlamış bir tarayıcı kullanıyorsanız, Mercedes kullanmak yerine tosbağaya binmek gibi... Web sitelerini düzgün görüntüleyemiyorsanız eh, bi' zahmet tarayıcınızı güncelleyiniz. Modern Web standartlarını karşılayan bir tarayıcı alternatifine göz atın.
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?
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.
Mongoose MongoDB ODM. Latest version: 8.2.3, last published: 6 days ago. Start using mongoose in your project by running `npm i mongoose`. There are 15679 other projects in the npm registry using mongoose.
www.npmjs.com
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.
Mongoose MongoDB ODM. Latest version: 8.2.3, last published: 6 days ago. Start using mongoose in your project by running `npm i mongoose`. There are 15679 other projects in the npm registry using mongoose.
www.npmjs.com
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.