Bu proje React Native ile geliştirilmiş olup ANDROID ve IOS platformunda çalışmaktadır. Kullanıcıların gruplar oluşturabileceği, gruplara katılabileceği ve gruplar içinde gerçek zamanlı sohbet edebileceği bir mobil uygulamadır. Grup kurucuları grubu silebilir, kullanıcılar ise gruplardan çıkabilir.
- Kullanıcı Kayıt ve Giriş: Yeni kullanıcı kaydı ve giriş işlemleri yapılabilir.
- Grup Oluşturma: Kullanıcılar yeni gruplar oluşturabilir.
- Gruba Katılma: Kullanıcılar mevcut gruplara katılabilir.
- Gerçek Zamanlı Mesajlaşma: Kullanıcılar gruplarda gerçek zamanlı olarak sohbet edebilir.
- Grup Yönetimi:
- Grup Silme: Grup kurucusu grubu silebilir. Grup silindiğinde gruptaki tüm kullanıcılar bu durumdan haberdar edilir.
- Gruptan Çıkma: Kullanıcılar gruplardan çıkabilir.
- Grup Üye Listesi: Her grubun üye listesi görüntülenebilir.
-
Bu projeyi bilgisayarınıza klonlayın:
git clone https://github.com/keremerguner/SocketApp-React-Native cd SocketApp-React-Native
-
Backend Kurulumu
server
dizinine gidin:cd server
- Gerekli bağımlılıkları yükleyin:
npm install
.env
dosyasını oluşturun ve MongoDB bağlantı adresinizi ve diğer gerekli değişkenleri tanımlayın:MONGO_URI=<your-mongo-uri>
- Sunucuyu başlatın:
node index.
First, you will need to start Metro, the JavaScript bundler that ships with React Native.
To start Metro, run the following command from the root of your React Native project:
# using npm
npm start
# OR using Yarn
yarn start
Let Metro Bundler run in its own terminal. Open a new terminal from the root of your React Native project. Run the following command to start your Android or iOS app:
# using npm
npm run android
# OR using Yarn
yarn android
# using npm
npm run ios
# OR using Yarn
yarn ios
- Grup Oluştur: Giriş yaptıktan sonra "Grup Oluştur" düğmesine tıklayın ve bir grup adı ve kodu belirleyin.
- Gruba Katıl: Mevcut bir gruba katılmak için "Gruba Katıl" düğmesine basarak grup kodunu girin.
- Sohbet: Bir gruba katıldığınızda, mesaj göndererek sohbete katılabilirsiniz.
- Gruptan Çık: Sohbet ekranının sağ üst köşesindeki "Gruptan Çık" düğmesi ile gruptan çıkabilirsiniz.
- Grubu Sil: Grubun kurucusuysanız, "Grubu Sil" düğmesine basarak grubu tamamen silebilirsiniz. Grup silindiğinde, tüm üyeler bilgilendirilir.
├── src
│ ├── pages
│ │ ├── components
│ │ │ ├── Login.tsx
│ │ │ ├── Register.tsx
│ │ │ ├── Home.tsx
│ │ │ ├── Chat.tsx
│ │ │ ├── CreateGroup.tsx
│ │ │ └── JoinGroup.tsx
│ │ ├── components
│ │ └── App.tsx
├── server
│ ├── models
│ │ ├── User.js
│ │ ├── Message.js
│ │ └── Group.js
│ ├── routes
│ │ ├── auth.js
│ │ ├── group.js
│ │ └── user.js
│ └── index.js
│ ├── .env
└── README.md
- Gerçek zamanlı mesajlaşma
Socket.IO
kullanılarak gerçekleştirilmiştir. - Grup ve kullanıcı verileri
MongoDB
veritabanında saklanmaktadır.
- Projeyi fork edin.
- Yeni bir özellik dalı (
feature/AmazingFeature
) oluşturun. - Değişikliklerinizi commit edin (
git commit -m 'Add some AmazingFeature'
). - Dalınıza push edin (
git push origin feature/AmazingFeature
). - Bir Pull Request açın.
Bu proje MIT Lisansı altında lisanslanmıştır. Ayrıntılar için LICENSE
dosyasına bakın.