- Gerçek zamanlı birebir mesajlaşma
- Grup sohbetleri (Premium'da 100+ üye)
- Emoji, GIF ve sticker desteği
- Mesaj düzenleme ve silme
- Okundu/İletildi bildirimleri
- Dosya paylaşımı (resim, video, ses, belge)
- Sesli mesaj gönderme
- Özelleştirilebilir rol sistemi
- Üye yönetimi (ekleme, çıkarma, yasaklama)
- Rol bazlı izinler (JSON formatında)
- Grup avatarı ve açıklaması
- Sesli aramalar
- Görüntülü aramalar
- Ekran paylaşımı
- Grup aramaları (sınırsız katılımcı)
| Özellik | Free | Basic | Pro | Ultimate |
|---|---|---|---|---|
| Grup Üye Limiti | 10 | 50 | 100 | Sınırsız |
| Dosya Boyutu | 25MB | 100MB | 500MB | 2GB |
| Ekran Paylaşımı | ❌ | ✅ | ✅ | ✅ |
| Sesli Mesaj | ❌ | ✅ | ✅ | ✅ |
| Özel Temalar | ❌ | ❌ | ✅ | ✅ |
| Öncelikli Destek | ❌ | ❌ | ❌ | ✅ |
- Dark Mode - Göz yormayan karanlık tema
- Light Mode - Aydınlık modern tema
- Purple Mode - Şık mor tonları
- Node.js 18.x veya üzeri
- MariaDB 10.x veya MySQL 8.x
- npm veya yarn
git clone https://github.com/username/taxchat.git
cd taxchat# MariaDB/MySQL'e giriş yapın
mysql -u root -p
# Veritabanını oluşturun
CREATE DATABASE taxchat CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# Schema'yı yükleyin
USE taxchat;
SOURCE database/schema.sql;# .env.example dosyasını kopyalayın
cp .env.example .env
# .env dosyasını düzenleyin
nano .env # veya herhangi bir editörcd server
npm installcd ../client
npm installServer'ı başlatın:
cd server
npm run devClient'ı başlatın (yeni terminal):
cd client
npm startServer:
cd server
npm startClient build:
cd client
npm run buildtaxchat/
├── client/ # Electron Frontend
│ ├── assets/ # Statik dosyalar
│ │ ├── fonts/
│ │ └── images/
│ ├── src/
│ │ ├── css/ # Stiller
│ │ │ ├── themes/ # Tema dosyaları
│ │ │ └── *.css # Component stilleri
│ │ ├── js/ # JavaScript dosyaları
│ │ └── pages/ # HTML sayfaları
│ ├── main.js # Electron ana işlem
│ └── package.json
│
├── server/ # Node.js Backend
│ └── src/
│ ├── config/ # Yapılandırma
│ ├── controllers/ # İş mantığı
│ ├── middleware/ # Ara yazılımlar
│ ├── models/ # Sequelize modelleri
│ ├── routes/ # API rotaları
│ ├── socket/ # Socket.IO handlers
│ └── app.js # Express uygulaması
│
├── database/
│ └── schema.sql # Veritabanı şeması
│
├── .env.example # Örnek ortam değişkenleri
├── .gitignore
└── README.md
POST /api/auth/register- Kayıt olPOST /api/auth/login- Giriş yapPOST /api/auth/refresh- Token yenile
GET /api/users/profile- Profil bilgisiPUT /api/users/profile- Profil güncellePOST /api/users/avatar- Avatar yükleGET /api/users/search- Kullanıcı araPOST /api/users/:id/block- Kullanıcı engelle
GET /api/chats- Sohbet listesiPOST /api/chats- Yeni sohbet oluşturGET /api/chats/:id/messages- Mesajları getirPOST /api/chats/:id/messages- Mesaj gönderPUT /api/messages/:id- Mesaj düzenleDELETE /api/messages/:id- Mesaj sil
POST /api/groups- Grup oluşturPUT /api/groups/:id- Grup güncellePOST /api/groups/:id/members- Üye ekleDELETE /api/groups/:id/members/:userId- Üye çıkarPOST /api/groups/:id/roles- Rol oluşturPUT /api/groups/:id/roles/:roleId- Rol güncelle
GET /api/premium/plans- Plan listesiPOST /api/premium/subscribe- Abone olDELETE /api/premium/cancel- Abonelik iptal
join-room- Sohbete katılleave-room- Sohbetten ayrılsend-message- Mesaj göndertyping- Yazıyor bildirimiinitiate-call- Arama başlataccept-call- Aramayı kabul etend-call- Aramayı sonlandır
new-message- Yeni mesajmessage-updated- Mesaj güncellendimessage-deleted- Mesaj silindiuser-typing- Kullanıcı yazıyoruser-online- Kullanıcı çevrimiçiuser-offline- Kullanıcı çevrimdışıincoming-call- Gelen aramacall-accepted- Arama kabul edildicall-ended- Arama sonlandı
- JWT tabanlı kimlik doğrulama
- Bcrypt ile şifre hashleme
- Rate limiting
- CORS koruması
- Helmet güvenlik başlıkları
- Input validation
- XSS koruması
Bu proje MIT lisansı altında lisanslanmıştır. Daha fazla bilgi için LICENSE dosyasına bakın.
Bu projede şimdilik server taraflı içeriği geliştirdiğim için güvenlik açıklarını kapatmadan paylaşmayacağım. Projedeki hataları sürekli olarak düzenleyip uygulamayı sürekli güncelleceğim. Yine de server dosyalarına sahip olmak istiyorsanız bana discord üzerinden ulaşabilirsiniz.
⭐ Bu projeyi beğendiyseniz yıldız vermeyi unutmayın!
