🔥 Secure your spot now and embark on your journey to becoming a Spring Boot master! Use promo code "EARLY_BIRD_30" during registration to enjoy this incredible 30% discount. Don't miss out on this opportunity! 🔥 Course link: aliboucoding.com/p/spring-boot-in-depth?coupon_code=EARLY_BIRD_30&product_id=4985811
@JanNdungu6 ай бұрын
Thank you so much for bringing these tutorials closer
@mohamedtaher36054 ай бұрын
Thank you so much . the frontend with Angular please
@davidxcode5 ай бұрын
Thank you very much for this amazing demo. I only have one observation, every time a user connects you can see in the spring log the message "WebSocketAnnotationMethodMessageHandler : Unhandled exception from message handler method" Caused by: java.lang.IllegalArgumentException: Expected destination pattern "/user/{userId }/**". I don't know if it's something from the front or the back but I'm going to check it out. However the application works. Thanks Ali!
@pablomagnavachi29615 ай бұрын
Hi, i have the same problem, could you solve it?
@davidxcode5 ай бұрын
@@pablomagnavachi2961 No bro, at the time I didn't succeed and then I didn't try anymore.
@aadiraj61264 ай бұрын
In your WebSocketConfig.java class at line number 24, Alibou forget to add complete path. Remove this line=> registry.setUserDestinationPrefix("/user"); Add this line=> registry.setUserDestinationPrefix("/user/{userId}/**"); And now you won't get any error. Program executes and output comes smoothly too.
@vinimaciel3 ай бұрын
@@aadiraj6126 Hi, I tried this but now the users dont recieve any messages, have you solved this issue?
@lilinh96317 ай бұрын
I'd love to follow the Angular tutorial for this! Thank you! Also, next time, can you explain a little more about stomp, broker and stuff... I a newbie to WS and I don't really understand that
@danielgobina94309 ай бұрын
Thank you very much, I've always wanted to create websockets in some of my applications without success. I'm really happy to have seen this video and I'm learning a lot by following your courses. I'm interested in an Angular websocket implementation. 😇
@BoualiAli9 ай бұрын
Great to hear!
@Robcuisimplu8 ай бұрын
Also I'm interested in the angular's websocket imp. Please do a video
@vadimmychkov48879 ай бұрын
Thanks for this tutorial! Would be great to see the frontend written on Angular
@BoualiAli9 ай бұрын
Sure, coming soon
@anisghadhab28636 ай бұрын
@@BoualiAli we are still waiting for the angular adaptation :D
@ahmedhassine58375 ай бұрын
@@BoualiAli we are still waiting 😒
@ubevangrimbergen75533 ай бұрын
@@BoualiAli Still waiting :P
@goddenmass7365 ай бұрын
Thank you very much @Bouali Ali do the frontend with Angular plz🥺
@redwanemahjoubi70659 ай бұрын
We are anticipating a similar example using angular
@user.java2009 күн бұрын
Thanks a lot bro! Appreciate it🤝
@cheikhmohamedmamyzeine24028 ай бұрын
Great video! We are eagerly anticipating the Angular implementation.
@BoualiAli4 ай бұрын
soon
@mohamedtaher36054 ай бұрын
@@BoualiAli Can't wait for the Angular implementation. 🤞
@AnghamJbeli-jv7ds2 ай бұрын
@@BoualiAli hello thank you so much this tutorial is so helpful please we are waiting for the angular implementation
@LUITEN12 ай бұрын
Hi Ali! I want to thank you for this content!!! It brings up a lot of insight and cool tips that are helping me, all the little details like breaking lines or getting back and forth between the modules explained really sets your content appart.Keep up the good work!! I'll be happily waiting for the angular or react implementation, mainly because of the curiosity of your code design approach!!
@user-xg5iv6lo2i6 ай бұрын
thank you for this special tutorial and we wait for angular or react frontend implementation
@BoualiAli5 ай бұрын
Very soon
@dennis_benjamin9 ай бұрын
Exactly what I am building right. Just on time 😀
@BoualiAli9 ай бұрын
Enjoy!
@MyEvghenii7 ай бұрын
Hello, thank you for your videos. Would be great to see implementation with Angular!
@BoualiAli4 ай бұрын
Noted
@balticspirit30823 ай бұрын
Thanks for your awesome work! Your videos actually helped me to solve a coding challenge and get a job offer!
@BoualiAli3 ай бұрын
Great to hear!
@ibrahim-ry6sn9 ай бұрын
We need a full new course of angular 17 and whats new and what is ssr added lately in angular sir ??❤❤thank you by the way yaychaaak❤❤
@BoualiAli9 ай бұрын
Sure, soon
@vandyun5175Ай бұрын
Thank you Ali for always sharing an interesting content.
@oussemaayari14605 ай бұрын
Thank you very much for the clear explanation !! I'm looking forward for the Angular Implementation (meanwhile I'll make an attempt on my own after learning Angular from your tutorials )
@BoualiAli4 ай бұрын
soon
@GmrSChannel9 ай бұрын
Greatest Teacher Of All Times ♥
@BoualiAli9 ай бұрын
I really appreciate that ❤
@kevintchato29909 ай бұрын
Thanks for the video. Waiting for one with angular please
@BoualiAli9 ай бұрын
Soon
@user-iz1ew1im8g8 ай бұрын
Amazing course and i just wanna know if you prepare version 2 with angular . I hope, it's already on the way
@BoualiAli4 ай бұрын
Glad you liked it!
@pawezakrzewski62796 ай бұрын
In min 32 you retrieve a Optional of class user and there is no point in throwing null if its empty. In if statement that follows in my opinion it should be isPresentCheck because current implementation is prone to null pointer exception and does not use the advantages of Optional. But anyways a great tutorial. Currently going through it with my chat app project. Thanks!
@saikumardasari18879 ай бұрын
Looks good I'm waiting for react js example
@BoualiAli9 ай бұрын
Soon!
@martijnhiemstra3 ай бұрын
Thanks for the tutorial. Just some points that aren't needed. You don't have to register the default message converter. All json messages are converted to and from objects, just like in @RestController with requestbody, without any configuration. Also the @payload annotation is not needed.
@MrBluu-pu2mt3 ай бұрын
Great video! I am eagerly waiting for the frontend with Angular!
@BoualiAli3 ай бұрын
Coming soon!
@marytraore15619 ай бұрын
Thank you very much, WebSocket chats in applications interest me a lot, however it is possible that you make a video in which a project done in nestjs for the backend, angular for the frontend and MongoDb for the database. THANKS
@BoualiAli9 ай бұрын
I will make Frontend with Angular soon if I find enough people interested
@Mark-he1nr9 ай бұрын
Thank you Bouali!I learn a lot from your video! I am just curious that if there is group chat video later, so that I can create multiple groups and keep the message in their own group channel, I will explore by myself first, but really looking forward to seeing your next video! Really appreciate your working!
@BoualiAli9 ай бұрын
Honestly, not planning to do that for now
@ManishHarit9 ай бұрын
Superb content... how about replace ui with react
@BoualiAli9 ай бұрын
Glad you liked it. I will provide one for React / Angular
@rohanreddy20679 ай бұрын
Its one of the best video and highly appreciated the efforts you put .can you make a full stack real world application type following react with springboot using all industry best practices with advanced Libraries?
@arindampodder929425 күн бұрын
great content .... need react in FE
@DeepakSharma-to1xh6 күн бұрын
My websocket is not connecting on uat server but on local its working fine.can you help
@yogenderkoppu9159 ай бұрын
Very good explanation my vote for react js
@BoualiAli9 ай бұрын
Sure!
@jeveuxque30209 ай бұрын
Thank you so much I have been waiting for this for so long
@BoualiAli9 ай бұрын
Hope you like it!
@143_nimit69 ай бұрын
thanks for this video. Timing of this video is perfect.
@BoualiAli9 ай бұрын
Glad it was helpful!
@143_nimit69 ай бұрын
@@BoualiAli i just want to share this thing with you sir. i am creating an Instagram's clone in vue.js as front end spring-boot as backend and i was stuck around building chat function.Your previous video was very help-full but this one is soo amazing i never worked with websocket but your explanation was sufficient for me thank you
@mohamedosmanhassona7487Ай бұрын
Thank you Ali for always sharing an interesting content
@girishanker37966 ай бұрын
Anyone getting an error while doing connection using stompClient? Failed to load resource: the server responded with a status of 404 Whoops! Lost connection to the server. Any fix for this?
@YourclassmateАй бұрын
great expanation
@legendnic63393 ай бұрын
great content! i wanna see in action for angular!
@huseyinaydin10029 ай бұрын
I love BouAli. I watched Türkiye. Spring Blood ❤
@BoualiAli9 ай бұрын
Love from Tunisia
@replicant96119 ай бұрын
Hi, thank you for this tutorial! I have a question. You currently do it in a "monolithic" style by serving html from the server. How would you do it in REST API style? Like when you have React frontend independent from the backend?
@BoualiAli9 ай бұрын
Already planned soon
@snbwcs9 ай бұрын
Looking forward to it !@@BoualiAli
@JuanR.Guerra6 ай бұрын
Hi friend, thank you very much for share your knowledge with us! I have a question here. When you say you organize the app by domain, does it mean that you are applying DDD?
@emilbeyerov32785 ай бұрын
Awesome! We want to see angular imlementation
@BoualiAli5 ай бұрын
Coming soon!
@CemretheFangirlАй бұрын
mine doesn't show notifications and messages if I don't click to user again even though I coded everything same...
@nicolasdmartin89Ай бұрын
I have the same problem, if you find the solution please let me know. If I find the error I'll let you know here.
@CemretheFangirl21 күн бұрын
@@nicolasdmartin89 I realized the path is wrong and after debugging I deleted registry.setUserDestinationPrefix from configureMessageBroker method
@mubasherusman39437 ай бұрын
This is good for initial leraning concepts, But How this Queue bases architecture scale when we have millions of users ? Will we create queue for each user?
@ukemeelijah63363 ай бұрын
I tried to use MYSQL for it but I am getting this error when I tried to make a chat "ChatMessage' must be manually assigned before calling 'persist()',". This error is actually from the ChatMessage Entity. please how can I resolve it?
@don_omar08 ай бұрын
Can you also do the front end with react?
@BoualiAli4 ай бұрын
sure
@hamzaaissami51023 ай бұрын
hello ali a great work from u, please can we link it with postgresql ?
@sytien4924 ай бұрын
Thank you so much. 😍😍😍
@BoualiAli4 ай бұрын
You're welcome 😊
@SurajPandey-vi9gr3 ай бұрын
Hey i downloaded your source code and did mvnw clean install. Now it says 'Build Success', but it doesn't run in my browser. How should i do that ? I want to show this project in my school. I don't have a mongodb, i have a mysql !
@tusharrawat88437 ай бұрын
need this as a microservice so we can use it in multiple platform to create cross platform apps
@3VishalSingh3 ай бұрын
Not working for me. can anyone guide me this with postman. working cURL or any suggestion for postman.
@mona97417 ай бұрын
Would it be easy to put the front end part in a separate react project?
@BoualiAli4 ай бұрын
yes you can
@mona97417 ай бұрын
Would it be appropriate to use a relational db in this project?
@BoualiAli4 ай бұрын
yes you can
@fitnessholicmallu35884 ай бұрын
Hope the angular implementation will release soon !
@BoualiAli4 ай бұрын
I will provide it in the Book Social Network serie
@fitnessholicmallu35884 ай бұрын
@@BoualiAli Thank you sir...
@AnghamJbeli-jv7ds2 ай бұрын
do you have the angular application of this please?
@ArsenFesiuk9 ай бұрын
Please,you can create a voice chat(real-time) on the spring?
@msh67839 ай бұрын
you are my hero🤩
@BoualiAli9 ай бұрын
Happy you liked it!
@marcosribeiro23044 ай бұрын
Hi Bouali, Thanks for the tutorial, I am just wondering if there is a way to work around the exception message indicating an IllegalArgumentException caused by an expected destination pattern of "/user/{userId}/**". I tried a few things but it didn't work. edit: To fix it I had to add another prefix registry.enableSimpleBroker("/user", "/topic"); and change the javascript subscribe and UserController, not sure if this would be the best approach tho.
@BoualiAli4 ай бұрын
thanks for sharing
@vinimaciel3 ай бұрын
Hi, what did you change in the controller and subscribe functions?
@MutantBikers9 ай бұрын
Thank you 🙏
@BoualiAli9 ай бұрын
You’re welcome 😊
@rafaou689 ай бұрын
thanks you very much sir. i'm interested this projet with angular frontend and pring boot backend database mysql. thanks
@BoualiAli9 ай бұрын
Will upload soon
@peachezprogramming6 ай бұрын
using var in java is a cardinal sin great video tho, thanks for sharing
@BoualiAli5 ай бұрын
Cool, thanks
@appscastle5 ай бұрын
doest it have to be no sql? i want to do it in postgres
@BoualiAli5 ай бұрын
It does not. Feel free to implement it with a relational database
@ezeraphael5428 ай бұрын
Hi! Thanks for this wonderful guide, now i have spring security configured in my application and i am using JWT authentication (bearer token). and because of this, i am getting a 404. how do i fix this?
@BoualiAli4 ай бұрын
I will provide a video for it
@nelsonjoseanselmo15493 ай бұрын
how to increase file uploads
@AnvarbekTurdaliyev9 ай бұрын
thank you
@BoualiAli9 ай бұрын
You're welcome
@TrungPham-ol7is5 ай бұрын
Excuse me ! How can you call the GetMapping inside the same controller with MessageMapping I have tried several times but it not working, and how can you display user login logout real-time, hope you'll answer. Thanks!
@BoualiAli4 ай бұрын
just call the method But do you need that?
@TrungPham-ol7is4 ай бұрын
@@BoualiAli I figured it out, btw thanks a lot
@edwardhanson80394 ай бұрын
Can you implement it using a relational database?
@BoualiAli4 ай бұрын
It should be the same, just moving from nosql to sql db. I did that many times in different videos
@ethanhamilton44944 ай бұрын
Is it easy to implement Group Chats with this App???
@BoualiAli4 ай бұрын
Yes
@kedilervekuslar87919 ай бұрын
Hello, can we implement the Spring security to this app? Is it hard? I really need to make an authenticated users and provide secure messaging chat app. Thank You!
@BoualiAli9 ай бұрын
I already published many security video using spring boot. Check them out
@mona97417 ай бұрын
I'm waiting for react front-end
@danielc.66445 ай бұрын
How hard would it be to implement this but with MySQL instead of MongoDB?
@BoualiAli4 ай бұрын
not hard at all
@ganszkyb9 ай бұрын
Do you plan a sub-version with sessionConnect/Disconnect/Subscribe to manage the logon/logoff users?
@BoualiAli9 ай бұрын
I already did it in the other Websocket video. The link is in the desccription
@ganszkyb9 ай бұрын
@@BoualiAlisorry I missed :)
@master-le5cd5 ай бұрын
Can this also work using postgreSQL and React js?
@BoualiAli4 ай бұрын
yes
@faisalaleissa20125 ай бұрын
Greet video , Can you make a kahoot clone in angular and spring boot
@BoualiAli4 ай бұрын
good idea
@softdev82299 ай бұрын
Nice🎉
@BoualiAli9 ай бұрын
Happy you liked it!
@sachinmishra33013 ай бұрын
create in react js
@pradeepnampally78099 ай бұрын
we are wating this example with react js
@BoualiAli9 ай бұрын
Soon!
@bbcszone14 ай бұрын
@@BoualiAli Any updates on react? :) Thanks so much for everything!
@akhicj90714 ай бұрын
Hi, I have a problem whenever I reload my page It will come to the starting page
@BoualiAli4 ай бұрын
the state needs to be handled because refreshing the page will re-initialize everything
@saravanasaro92317 ай бұрын
Sir, I am using a MySQL database. The chat application runs successfully, but it have not create a table in the database.The database connection is correct; I am using the application.properties file.The UI page displays a successful login page, but the input box is not showing. What could be the problem, sir?
@ukemeelijah63363 ай бұрын
I am having similar issue, though mine created the table successfully but when I tried to send a message to another user, the thing returns back to the login page with this error that says websocket.chat.entities.room.ChatRoom' must be manually assigned before calling 'persist()'. I don't know how to resolve it. I am using MYSQL also
@axelrod-_-Ай бұрын
1:48:00
@tenorio2959 ай бұрын
Is it easy to implement this in sql instead of mongodb?
@BoualiAli9 ай бұрын
Yes
@mona97417 ай бұрын
in this tutorial, can i message users that are not online at this time?
@BoualiAli7 ай бұрын
You can adjust the method that return the users list and get all the users (online and offline) and you will be able to send messages
@mona97417 ай бұрын
@@BoualiAli thank you, great video
@valentineejakpomewhe43527 ай бұрын
can you use this in production?
@BoualiAli4 ай бұрын
yes with security
@valentineejakpomewhe43524 ай бұрын
Thank you
@saikumardasari42209 ай бұрын
Most of the members are waiting for react js frontend
@BoualiAli9 ай бұрын
Sure! Soon
@rayoh72017 ай бұрын
hello ali I am currently clone coding your chatapp, but my mongodb can't get nickname and real name, and server error 500 shows up, saying Uncaught (in promise) TypeError: connectedUsers.filter is not a function at findAndDisplayConnectedUsers (main.js:50:37) what should I do? and thx for the video
@slai23897 ай бұрын
Did you add this one correctly? let connectedUsers = await connectedUsersResponse.json();
@ysacpebes14628 ай бұрын
Angular pls 🙏
@BoualiAli4 ай бұрын
soon
@hkkabir20244 ай бұрын
wihtout security it's nothing
@BoualiAli4 ай бұрын
there tons of security videos in my channel. Follow carefully and you will be able to implement it yourself. Otherwise wait for the coming videos and you will get your answer
@hkkabir20244 ай бұрын
@@BoualiAli secure websocket though microservice . is that possible ? i am facing CORS error and it's quite impossible for me to sort it out no information over internet even nothign i can found into spring documentation too
@quocdungdo3217 ай бұрын
is anyone can test these apis with postman ?
@BoualiAli4 ай бұрын
yes, use websocket instead of using HTTP
@suragaryen35789 ай бұрын
I'm lost,,, MySQL ver PLS 🥺🥺🥺🥺
@franmoyano62244 ай бұрын
Banco el video pero que uses mac🤢
@BoualiAli4 ай бұрын
I'm already using a Mac
@TikTokTrendsCompilation9 ай бұрын
Why not use kafka for chatting.... A perfect example for a real world project to teach kafka better and you waste this chance
@BoualiAli9 ай бұрын
Kafka is coming next week
@atomichub50495 ай бұрын
Speak Louder + Correct your Pronunciation
@keremkarademir61015 ай бұрын
It was pretty understandable for most of us.
@BoualiAli4 ай бұрын
I providing technical content not english course
@kazumasaytor60217 ай бұрын
Hello, please, help me, When starting a project Caused by: java.lang.IllegalArgumentException: Expected destination pattern "/user/{userId}/**" And org.springframework.messaging.MessageDeliveryException: Failed to handle GenericMessage [payload=byte[58], The project is completely copied
@sebastiane.r.41957 ай бұрын
Bro.. I have the same issue ... could you solve it?
@OnlyTrueBob6 ай бұрын
@@sebastiane.r.4195 Hey Guys, I think I have this one figured out. I ran into it as well. (Someone correct me if I am wrong) So the reason this seems to be happening is because in the WebsocketConfig.java we are doing this: registry.enableSimpleBroker("/user"); Now it seems like Spring Boot expects specific destination patterns by default, so since we only registered the one endpoint and the one we used happened to use was "/users". When we try to hit the controller endpoint "/user.addUser" from the client we are point to @SendTo("/user/public") as the endpoint to send to. And SpringBoot sees this and thinks. Um... that doesn't look right, the endpoints going to "/user" should look like this: "/user/{userId}/**" To fix this error from popping up, i just created a new endpoint for the non-user specific public broadcast endpoints. So In the config i replaced the original with this: registry.enableSimpleBroker("/chatbroadcast","/user"); now we have two broker endpoints, and we can use the new endpoint name instead of /user when calling the @sendto in the controller. like this: @MessageMapping("/user.addUser") @SendTo("/chatbroadcast/public") public User addUser(@Payload User user){ userService.saveUser(user); return user; } @MessageMapping("/user.disconnectUser") @SendTo("/chatbroadcast/public") public User disconnectUser(@Payload User user){ userService.disconnect(user); return user; } And dont forget you have to change this in the main.js also function onConnected() { stompClient.subscribe(`/user/${nickname}/queue/messages`, onMessageReceived); stompClient.subscribe(`/chatbroadcast/public`, onMessageReceived); ---- I Modified this from "/user" to "/chatbroadcast" Also, i just called it chatbroadcast, because i needed to call it something. The name doesnt matter.(well, unless i picked a name that also happened to be some kind of default, lol) Hope this helps, it fixed it for me.
@maxmmaxm15916 ай бұрын
@@sebastiane.r.4195++
@aadiraj61264 ай бұрын
In your WebSocketConfig.java class at line number 24, Alibou forget to add complete path. Remove this line=> registry.setUserDestinationPrefix("/user"); Add this line=> registry.setUserDestinationPrefix("/user/{userId}/**"); And now you won't get any error. Program executes and output comes smoothly too.
@sebastiane.r.41954 ай бұрын
Thanks bro
@Multi1596324787 ай бұрын
The Video lacks explanation. Seems as if you are just reading texts on teleprompter.
@BoualiAli7 ай бұрын
I mentioned that for better understanding for websocket, go and watch the previous one which is in the same playlist as this video. Enjoy
@girishanker37967 ай бұрын
@@BoualiAliHere after going through your previous video. I must say that both of your videos lack explanation. You are mostly reading the code you are going to write. You are not explaining why you are doing these things in the first place. It's like you have some other window opened with the full code and you are just copying and writing into this project. Please try to explain more in detail for the next upcoming React.js front end video with Web socket. Looking forward to it sir.
@samarthporwal6569 ай бұрын
Hi, thank you for this tutorial! I have a question. You currently do it in a "monolithic" style by serving html from the server. How would you do it in REST API style? Like when you have Angular frontend independent from the backend?
@BoualiAli9 ай бұрын
I will create one soon
@samarthporwal6569 ай бұрын
also i am unable to sign in to localhost:8081 @@BoualiAli
@samarthporwal6569 ай бұрын
what username and password to give there
@BoualiAli9 ай бұрын
@@samarthporwal656 there is no password
@samarthporwal6569 ай бұрын
It is showing me a alert sort of popup to sign in when i go to localhost:8081 to add username and password@@BoualiAli