Bir zamanlar, bir yazılımcı olarak saatlerce çalışırken en büyük hayalim, gerçek zamanlı bir chat uygulaması yapmaktı. "Neden olmasın?" dedim ve Node.js ile MongoDB'yi birleştirerek gerçek zamanlı bir chat uygulaması yapmaya karar verdim. Bu yazımda, sizi de bu yolculuğa davet ediyorum. Hem eğleneceğiz, hem de geliştiriciliğin derinliklerine doğru keyifli bir keşfe çıkacağız.
Node.js ve MongoDB ile Neden Chat Uygulaması Yapmalıyız?
Node.js, JavaScript'i sunucu tarafında kullanma imkanı tanırken, MongoDB ise verilerinizi hızlı ve esnek bir şekilde yönetmenizi sağlar. Bu ikilinin birleşimi, modern web uygulamaları için harika bir temel oluşturur.
Adım Adım Gerçek Zamanlı Chat Uygulaması Yapmak
İlk olarak, bilgisayarınızda Node.js'i kurmalısınız. Node.js'i [resmi sitesinden](https://nodejs.org/) indirip, kurulum işlemini tamamlayabilirsiniz. Ardından, MongoDB'yi de bilgisayarınıza indirip kurarak, yerel bir veritabanı oluşturabilirsiniz.
npm init -y
npm install express mongoose socket.io
Yukarıdaki komutları terminalde çalıştırarak, gerekli paketleri yükleyebilirsiniz. Express web uygulamanızı oluşturmak için, Mongoose ise MongoDB ile bağlantı kurmamızı sağlayacak.
# 2. Socket.io İle Gerçek Zamanlı İletişim Sağlamak
Gerçek zamanlı bir chat uygulaması yapmak için Socket.io'yu kullanmamız gerekiyor. Socket.io, Node.js ile kolayca gerçek zamanlı web soketleri oluşturmanızı sağlar.
const express = require('express');
const socket = require('socket.io');
const mongoose = require('mongoose');
const app = express();
const server = app.listen(3000, () => {
console.log('Sunucu başlatıldı: http://localhost:3000');
});
const io = socket(server);
// MongoDB bağlantısı
mongoose.connect('mongodb://localhost/chatApp', { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => console.log('MongoDB’ye bağlanıldı'))
.catch(err => console.log(err));
// Socket.io iletişim
io.on('connection', (socket) => {
console.log('Bir kullanıcı bağlandı.');
// Mesaj gönderme
socket.on('chat message', (msg) => {
io.emit('chat message', msg); // Mesajı tüm kullanıcılara ilet
});
// Kullanıcı bağlantısını sonlandırma
socket.on('disconnect', () => {
console.log('Bir kullanıcı ayrıldı.');
});
});
# 3. Chat Arayüzünü Oluşturmak
Şimdi de ön yüzü tasarlayalım. HTML ve CSS ile basit bir chat arayüzü oluşturacağız. `index.html` dosyamızı açalım:
Gerçek Zamanlı Chat Uygulaması
4. Uygulamanızı Çalıştırmak
Son olarak, terminalde `node server.js` komutunu çalıştırarak uygulamanızı başlatın. Web tarayıcınızda `http://localhost:3000` adresine giderek gerçek zamanlı chat uygulamanızı test edebilirsiniz!
İşte karşınızda, tamamen kendi başınıza geliştirdiğiniz, Node.js ve MongoDB ile çalıştığınız gerçek zamanlı bir chat uygulaması! Bu basit uygulama, gerçek zamanlı iletişim kurma, web soketleri kullanma ve veri yönetimi gibi önemli becerileri öğrenmenize yardımcı olacak.
Eğer geliştirmeye devam etmek isterseniz, kullanıcı yönetimi, mesaj geçmişi ve gelişmiş chat özellikleri ekleyerek uygulamanızı daha güçlü hale getirebilirsiniz.