Skip to content

Melihcnz/ChatappAP-

Repository files navigation

ChatApp API

Bu proje, MongoDB Atlas ve Socket.IO kullanarak oluşturulmuş gerçek zamanlı bir sohbet uygulaması için RESTful API'dir.

Özellikler

  • Kullanıcı kimlik doğrulama (kayıt, giriş, çıkış)
  • Gerçek zamanlı mesajlaşma
  • Tekli ve grup sohbetleri
  • Kullanıcı çevrimiçi/çevrimdışı durumu
  • Mesaj okundu bildirimleri
  • Yazıyor göstergesi

Kurulum

  1. Depoyu klonlayın:
git clone <repo-url>
cd ChatappAPI
  1. Bağımlılıkları yükleyin:
npm install
  1. .env dosyasını oluşturun:
MONGODB_URI=mongodb+srv://<kullanıcı_adı>:<şifre>@<cluster_url>/chatapp?retryWrites=true&w=majority
PORT=5000
JWT_SECRET=your_jwt_secret_key_here
NODE_ENV=development
  1. Uygulamayı başlatın:
# Geliştirme modu
npm run dev

# Üretim modu
npm start

API Rotaları

Kullanıcı Rotaları

  • POST /api/users - Yeni kullanıcı oluştur
  • POST /api/users/login - Kullanıcı girişi
  • POST /api/users/logout - Kullanıcı çıkışı
  • GET /api/users - Kullanıcıları ara
  • GET /api/users/profile - Kullanıcı profilini getir

Sohbet Rotaları

  • POST /api/chats - Tekli sohbet oluştur/getir
  • GET /api/chats - Tüm sohbetleri getir
  • POST /api/chats/group - Grup sohbeti oluştur
  • PUT /api/chats/group/:chatId - Grup adını güncelle
  • PUT /api/chats/group/:chatId/add - Gruba kullanıcı ekle
  • PUT /api/chats/group/:chatId/remove - Gruptan kullanıcı çıkar

Mesaj Rotaları

  • POST /api/messages - Mesaj gönder
  • GET /api/messages/:chatId - Sohbetteki tüm mesajları getir
  • PUT /api/messages/:id/read - Mesajı okundu olarak işaretle

Socket.IO Olayları

Sunucu Olayları (İstemci Tarafından Dinlenir)

  • connected - Bağlantı kuruldu
  • user-online - Kullanıcı çevrimiçi
  • user-offline - Kullanıcı çevrimdışı
  • typing - Kullanıcı yazıyor
  • stop-typing - Kullanıcı yazmayı durdurdu
  • message-received - Yeni mesaj geldi

İstemci Olayları (İstemci Tarafından Tetiklenir)

  • setup - Kullanıcı kurulumu
  • join-chat - Sohbete katıl
  • typing - Yazıyor bildir
  • stop-typing - Yazmayı durdurma bildir
  • new-message - Yeni mesaj gönder

Teknolojiler

  • Node.js
  • Express.js
  • MongoDB (Atlas)
  • Socket.IO
  • JWT Kimlik Doğrulama

About

ChatappAPI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors