Chat server on node.js (NowJS) with features found in XMPP? - node.js

I am looking for a chat server written in node.js, I am looking for something I can extend.
can anyone suggest something that is out there that supports at least a minimal amount of features out of the box, I don't mind getting my hands dirty and extending it, actually lookin forward to it.
I know something called NowJS existed but it appears that it isn't actively being developed anymore.
I was looking for some features like XMPP offers, i.e. Pub/Sub, sending images, contacts ... this was noramlly done with XML...
Anyone using something like this... The only one i found was chat.io but i was hoping for something with a litle more out of the box functionality.
Also to use websockets out of the box
Thanks

Socket.IO might be something you are looking for:
http://socket.io/

Related

How do I know when to trigger a Server-Sent-Event?

What I want to do
I'd like to use Server-Sent-Events for notifications and another feature – I don't need to go into detail for the other feature, but it requires real-time updates taken from a database just like notifications do.
Possible alternatives
Websockets would be an option, but I think it might be a bit too much, as I only require a one-way channel for this. However I'm totally aware that I might be wrong here and Websockets could be the best option – feel free to school me on this. The current backend-setup is Node.js (Express.js webserver) with MongoDB.
Approaches I've seen so far
I've already seen some approaches on this matter, but the main issue here is that I'd like it to be as scalable as possible. Having a for-Loop constantly query my database is the worst approach I've seen so far. The best approach I've seen is observing the MongoDB oplog, but that one seemed a bit like a hack to me rather than a good, solid solution.
I posted a link to this question on reddit in the subreddit r/node where the user /u/PremJyotish221 told me to use Redis with PUB/SUB, and let me tell you... it works perfectly! :)
So to anyone stumbling over this with the same problem, I can absolutely recommend it. It's fast, easy, reliable, and scalable.

WebRTC server node

I'm painfuly new to webrtc world. Have learned the essentials but when I want to build my own very simple app, I understand I'm missing a lot to start develope.
What I want?
Build a receiver audio node server that receive the audio stream and do with it something
(my main goal is sending the stream to another SIP node after adding some audio background effects, but that can wait for another time)
What the heck is my problem?
I don't know from where to start and what is the best way for me to do it right... I'm kinda lost..
There are already built webrtc servers like Kurento or Janus from one hand,
and (It sound better choice for me, but I'm not sure) some node base webrtc servers like node-webrtc, easyrtc, electron-rtc to the other hand
I also looked at the native API and it is a bit complicated and it is written in CPP that I do not master (but can learn if you guys tell me it is the best way to go)
What choice should I choose for my purpose?
I'm fairly good programmer and can cope with any lang, but still wish the easiest and best option for my purpose.
Please, if anyone was at the same phase as I'm now and passed it,
Or if you know how to help me and set me on the right track.
Please help
As you can see, I'm lost and beg for guidance.
Thank you heros of the world wide web!!
If you want someone using a browser to speak with a SIP user (or another webrtc user), then one of the easiest paths is to setup a Freeswitch server and use its 'verto' webrtc js library. See http://evoluxbr.github.io/verto-docs
The doc above will show you how to make a webrtc call to Freeswitch. You will still need to find a way for the 2nd caller to find what call/session to connect to. Ask about that on the Freeswitch users mailing list.

Real time chat using laravel & redis

I just follow the steps shown in this link http://itsolutionstuff.com/post/laravel-52-chat-message-module-using-socketio-redis-express-and-nodejs-from-from-scratchexample.html to creat a real time chat it works perfictly , but this way it sends messages to all users, I want chat to be one to one.
any suggestions ?
I'm sorry, but i think you should be more specific.
I can't give you the right recipe for a good solution,
but i think you're choosing the wrong platforms to make
a messenger-chat.
Try look at NodeJS and maybe use Socket.io to communicate through.
Socket.io has an example on how to make a simple chat. You can use the example
as a starting point for your project.

how stable is AirBnB node.js rendr?

I wanted to know if anyone has been using AirBnB Rendr and is it stable and ok to use in commercial projects or is it still changing a lot?
I'm developing a website which can run both client and server based, this mean I need to be able to render pages and widgets server and client based.
The server is running Node.js, dust.js and has custom server based code to render the pages and widgets on the server side. I need to pick how to handle it on the client side.
Naturally I want to try and not repeat code, but obviously the client is different I can:
Keep my current page based server rendering and develop custom
client side code.
Use backbone.js on client side and keep my server based code the
same.
Use AirBnB rendr that is based on Node.js and backbone to use the
same code on client and o server. AirBnB Rendr Library
I like the 3rd idea very much, but I'm looking for some input from you guys.
Has anyone used it? any experience with it in terms of stability and/or how often their api changes etc?
I've just started playing around with Rendr. If I ignore the learning curve and oboarding friction, I like it a lot and I plan to write my next large production app using Rendr.
Unfortunately, as bababa listed above, the documentation needs a lot of work. There is an explanation of how Rendr works in its README and the example app's README but beyond that you'll need to source dive in order to figure out how the gears are turning. Currently, there is no forum for questions (other than stack overflow :D) and I've had a hard time figuring out its idioms on my own.
Despite all the struggles, I finally see the light and I'm starting to understand why Rendr is so powerful.
tl;dr - If you're willing to source dive and figure out your own workflow, I would suggest using Rendr. Otherwise, I would recommend going old school by writing a traditional client app with a more mature library. (is it too early to say that? =X)
Well given AirBnb is a successful commercial enterprise, there's some validation that the library works well enough for them. This question is probably best answered by watching their github commit log for breaking changes. Given backbone is 1.0 and essentially stable at this point, rendr will probably quickly stabilize, but honestly your fear of instability is probably unjustified. I think rendr looks compelling and although my current project is using a very similar home-grown solution, I would consider using rendr in a future project or even porting our code to rendr. "Stability" per say is much less important to the web development community compared to other situations like packaged or embedded software.
I used (tried to use) and Rendr on a project and gave up. There are just to many limitations (currently) and the lack of documentation doesn't help. I ended up need to rewrite the source code to accomplish some things I would consider trivial with other frameworks, such as passing multiple collections to a view. It just wasn't possible (at the time I used it) and that was a deal breaker. Not being able to pass a collection of categories and results to a page was to much of a limitation.
I have no doubt it will eventually be ready for production use, but right now I would say unless you are an engineer at AirBnb and know how to hack the source then no, it's not ready.
If you really want to know if it will work for your needs, take a look at the issue list on github. That will give you a good idea where the projects at.

Cross browser COMET realization for node.js

I'm a node.js starter.
The product I want to deliver looks like online chat with 1000+ participants at a time.
I'm looking for a cross-browser demo (IE7, android support) to start with.
The thing I worry about is client side cross browser part. I dream about a library that uses web sockets for supported browsers and iframe for not supported, is well tested, and encapsulates COMET realization.
I have found some solutions in the web, but I'm qurious about your advices.
Thank you
I like to use socket.io which is a quite elaborate tiny library for handling such things. Maybe you want to give it a try as well ;)
I've currently found https://github.com/maccman/juggernaut the best solution. I will come back here in a month and tell about my experience

Resources