Giriş yapmadınız.

#1 19.06.2019 16:45:08

neri
Üye
Kayıtlı: 24.07.2018
Mesajlar: 206

Laravel private chat uygulaması

Herkese selamlar,

Proje de chat uygulaması için önerebileceğiniz 3. parti yazılımlar nelerdir ? Araştırdığım kadarıyla laravel ile entegre olabilen pusher ve cometochat bu işin en iyileri. Chat uygulamasını sıfırdan geliştrimek en az e-ticaret kadar zahmetli ve sağlam bir javascript bilgisi isteyeceği için 3. parti kullanmak istiyoruz ?

Çevrimdışı

#2 20.06.2019 09:38:46

neri
Üye
Kayıtlı: 24.07.2018
Mesajlar: 206

Yanıt: Laravel private chat uygulaması

Sanirim kimse bilmiyor

Çevrimdışı

#3 20.06.2019 10:35:51

alihankoc
Üye
Kayıtlı: 14.09.2017
Mesajlar: 63

Yanıt: Laravel private chat uygulaması

kimsenin bilmemesi değildir mesele. big_smile
Ben biliyorum mesela kendim de chat uygulaması yazdım.

Ama chat işi çok derin bir mevzu. Her projenin ihtiyaçlarına göre farklı geliştirilmesi gereken birşey. Al bunu kullan diyebileceğimiz bir hazır chat modülü olmaz. Sen mesajları nerede saklayacaksın, kiminle kimi konuşturacaksın, arayüzü nasıl olacak, kullanıcı sayfayı açtığında eski mesajları görebilecek mi, kaç tane görebilecek, başkasının mesajlarını yöneticiler okuyabilecek mi? Grup chat, bireysel chat, kayıt olanlar olmayanlar, o kadar çok faktör var ki şunu al kullan diyebileceğimiz bir şey bulmak mümkün değil. Bu yüzden projeye göre geliştirmek gerekiyor.

Ben nodejs, socket.io, mongodb ve redis kullanarak geliştirmiştim bir iş için. Mesajları mongodb de saklıyordum. socker.io ile gerçek zamanlı mesaj alışverişi yapıyordum. Mesajlar nodejs clientından gelebileceği gibi php clientından da gelebiliyordu. Yani farklı platformlardan da mesaj atabiliyordun. Bu yüzden redis pub/sub mekanizmasını kullandım. Mesaj php den de gelse nodejs ten de gelse redis e gidiyor, redis mesajları gerekli yerlere dağıtıyordu.

Bunun için javascript bilgisine ihtiyaç olduğu doğru ama zor olan kısım kodlaması değil, if-else, for, try-catch, array, object. Sadece bunları bilerek en ufaktan en büyüğe kadar proje geliştirmek mümkün, sadece daha fazla satır kodun olur. Bu yüzden problem kodlama bilgisinden ziyade mekanizmayı doğru kurmakta. Kullanacağın teknolojileri ve ihtiyaçları iyi belirlemekte. Bunları belirleyip ortaya çıkardığın yapıyı kağıda çizebilecek hale getirirsen junior biri bile kodlamasını yapar.

Sen ihtiyaçlarını belirle, biz sana şu teknolojiler iyi gider, bu yapıyı kullansan güzel olur diye fikir verelim. Al bunu kullan demek çok basite kaçar. Bu forumda bunu yapacak insan pek olmadığı için cevap alman da zor olur.

Kolay gelsin wink

Çevrimdışı

#4 20.06.2019 12:39:06

neri
Üye
Kayıtlı: 24.07.2018
Mesajlar: 206

Yanıt: Laravel private chat uygulaması

@alihankoc evet hocam cok derin bi mevzu smile verdigin bilgiler icin tesekkur ederim cok genis bi uzmanlik istedigi icin 3. Parti yazilimlara ihtiyac duydum hele socket.io gibi js konulari ohoo girdim mi isin icinden cikamiycami biliyorum.

Ben bu hizmetleri kolay kullanim olarak dusundum o yuzden sordum cunku odeme yapiyosun, odeme yaptigin hizmeti kullanmak kolay olur diye dusundum o yuzden, sonucta sifirdan gelistirmeye benzemez oyle olmasi gerekmiyor mu ? Gerekmiyorsa niye odeme yapiyoruz smile))

Çevrimdışı

#5 21.06.2019 00:56:30

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,703
Website

Yanıt: Laravel private chat uygulaması

Para verdik kolaydır herhalde demek yanlış olur. CometChat Pro üye olun ücretsiz versiyonu için, api bilgilerinizi alın. Sonra örneğin Vue ile yapılmış örneği kurup inceleyin:
https://github.com/cometchat-pro-sample … s-chat-app

Bundan sonra 3. parti mi kullanacaksınız kendiniz mi geliştireceksiniz karar verebilirsiniz, kolay mı zor mu belirleyebilirsiniz.

Laravel için de şu paketi ve demosunu inceleyebilirsiniz.
https://github.com/beyondcode/laravel-websockets
https://github.com/beyondcode/laravel-websockets-demo

Ben chat uygulaması yapmadım ama bir araba açık arttırma sitesi için node.js, redis, socket.io kullanmıştım. Kullanıcılar bir araba için süre bitmeden teklif veriyorlar, aynı sayfadaki kişiler canlı olarak verilen teklifleri görüp ona göre arttırabiliyorlardı. Bu durumda araba chat odası, teklifciler de mesajlaşan kullanıcılar olmuş oluyor, kabaca chat için bir altyapı oluşmuş oluyor aslında. Kolaydı ya da zordu diyemiyorum ama bir süreçti yani sonuçta. Oturuyon, yazıyon smile

Çevrimdışı

#6 21.06.2019 08:49:49

neri
Üye
Kayıtlı: 24.07.2018
Mesajlar: 206

Yanıt: Laravel private chat uygulaması

@mgsmus Hocam linkler icin tesekkurler. Ben en az eticaret gelistirmek kadar zor oldugunu dusunuyorum, bakicaz artik roll

Çevrimdışı

#7 15.07.2019 00:08:14

rkytie2
Üye
Kayıtlı: 08.05.2019
Mesajlar: 8

Yanıt: Laravel private chat uygulaması

Konuyu hortlatmak istiyorum. Ben de kendi projem için bir mesajlaşma uygulaması yazmak istiyorum. Grup sohbeti yok, yalnızca birebir görüşme olucak. Canlı değil, eski Twitter DM'i gibi, f5'lediğimizde yeni mesaj gelicek. Sizce nasıl yapabilirim?

Çevrimdışı

#8 15.07.2019 09:03:05

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,703
Website

Yanıt: Laravel private chat uygulaması

sender_id, receiver_id, message, created_at şeklinde bir tablo bile işinizi görür o zaman

Çevrimdışı

#9 15.07.2019 16:24:04

rkytie2
Üye
Kayıtlı: 08.05.2019
Mesajlar: 8

Yanıt: Laravel private chat uygulaması

mgsmus yazdı:

sender_id, receiver_id, message, created_at şeklinde bir tablo bile işinizi görür o zaman

Cevabınız için teşekkür ederim, bu gece olası sorunlarımı yazarım muhtemelen smile smile

Çevrimdışı

#10 17.07.2019 14:56:16

rkytie2
Üye
Kayıtlı: 08.05.2019
Mesajlar: 8

Yanıt: Laravel private chat uygulaması

Göndermek için böyle bir fonksiyon yazdım.

  public function mesajGonder(Request $request){

      $user_id = Auth::user()->id;
      $request->validate([
            'message'=>'required',
        ]);

        Message::create([
          'message' => request('message'),
          'receiver_id' => request('receiver_id'),
          'sender_id' => $user_id,
        ]);

        return back();
    }

Formum da bu şekilde;

@foreach($user as $user)
@endforeach

<form action="{{ Route('mesaj.gonder')}}" method="POST">
  @csrf

  <div class="input-group mb-3">

  {{$user->name}} mesaj gönder
    <input  name="message" type="text" class="form-control" placeholder="Mesajızını buraya yazın..." aria-label="Recipient's username" aria-describedby="button-addon2">
    <input type="hidden" value="{{$user->id}}" name="receiver_id" />
    <div class="input-group-append">
      <button class="btn btn-success" type="submit" id="button-addon2">Gönder&nbsp;<i class="far fa-paper-plane"></i></button>
    </div>
  </div>
</form>

Sender veya receiver ikisinden biri de olabilir. "/messages" rotasında, farklı kişilerin, son mesajlarını nasıl listeleyebilirim?

Ayrıca buraya mesaj mı yazsam, konu mu açsam bilemedim. Duruma göre konu taşınabilir.

Son düzenleyen rkytie2 (17.07.2019 14:58:45)

Çevrimdışı

#11 17.07.2019 17:23:17

neri
Üye
Kayıtlı: 24.07.2018
Mesajlar: 206

Yanıt: Laravel private chat uygulaması

@rkytie2

Farklı kişiler derken oturum açan kişi haricinde mi ?

Message::all()->except(Auth:id());

Çevrimdışı

#12 17.07.2019 18:03:32

rkytie2
Üye
Kayıtlı: 08.05.2019
Mesajlar: 8

Yanıt: Laravel private chat uygulaması

neri yazdı:

@rkytie2

Farklı kişiler derken oturum açan kişi haricinde mi ?

Message::all()->except(Auth:id());

Hayır, o kişiyle görüşenlerin listesi ve görüşen kişilerin son mesajları. Mesaj Kutusu yani. smile

Son düzenleyen rkytie2 (17.07.2019 18:03:44)

Çevrimdışı

Forum alt kısmı