-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
I would probably set up a separate socket.io server for the real-time functionality, but load all the chat data for each page like you normally would from the database in +page.server.js load functions. The websocket server would then handle all the real-time stuff in the client after the initial data is loaded. This would allow you to still take full advantage of SSR.
Personally I use pusher for this purpose, I send events from the SvelteKit backend whenever I'm communicating with my database. Then in the client I listen to those events to update the UI when needed.
You can find an example of how to implement a simple SSE server in SK without any additional third party services: https://github.com/khromov/sveltekit-chat