Pytanie techniczne - czat

0

Cześć. Piszę serwis informacyjny (Laravel & Vue.js) i jego dość ważną częścią ma być czat. Na początku rozmowy tekstowe + przesyłanie zdjęć etc a później może jeszcze rozmowy Video.
Mam pytanie, czy dobrym pomysłem jako backend będzie użycie Laravela czy może lepszym rozwiązanie jest np node.js?

P.S z góry przepraszam jeśli kategoria jest niewłaściwa :)

1

a umiesz programować?
node

2

Raczej złym. Jest to możliwe i będzie działać, ale PHP jest chyba tutaj najgorszym możliwym wyborem. Ja jak piszę czaty to korzystam z websocket i w dzisiejszych czasach jest to jedno z najlepszych rozwiązań. Są rozwiązania serwerów websocket w php, ale ich wydajność jest wątpliwa. Nie chcę mi się tłumaczyć dlaczego, ale zachęcam do googlowania. Jednakże jest to możliwe. Sam raz dla beki postawiłem taki serwer.
Ogólnie jak chcesz to udostępnić przez ssl, np. wykorzystująć reverse-proxy to czeka Cie przyjemna ( oj nieprzyjemna) zabawa. Lepiej projekt zacznij od tego :).
Alternatywy to serwer TCP/UDP, ale tu jest czasem problem z firewallami/antywirami + de fakto jest to trudniejsze, lub archaiczny long-pooling, co technologicznie jest rozwiązaniem jak robienie z samochodu łodzi podwodnej (ale działa).
polecam prosty serwer nodejs, jak ogarniasz VUE i oprócz tego reszta w Laravelu jak ogarniasz ten kombajn php.

1

Zajrzyj do dokumentacji laravela i wyszukaj sobie "broadcasting". Nie jedną aplikacje realtime napisałem w laravelu oczywiście jest tu pośrednik: laravel -> redis -> node -> front ale zbyt wiele czasu by mi zeszło na pisanie tego samego w pełni w nodzie więc jest to idealne rozwiązanie.

0

Nie chcę zakładać nowego wątku więc zapytam tutaj. @mr_jaro - myślę że Ty możesz mi pomóc :)
Używam laravel, zrobiłem tabelę messages w której mam

recipient_id
sender_id
status

samo wysyłanie mam gotowe (w sensie nadawca - odbiorca) jednak nie wiem jak pogrupować te wiadomości w konwersacje. Myślę że należałoby zrobić dodatkową tabelę conversations dla konwersacji tylko nie wiem jakie dane do niej zapisywać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1