Hey, check out what I’ve created with meteor: www.heahy.com - web chat (yeah another one), but it has 4chan like reply system, easy sharing of media and you can even record video with you webcam.
I had initial version quite a while ago (~meteor 1.10) then had a pause and later came back and finished it. Let me know what you think
Is this project Open Source?
It’s not clear what it does - You might need to add some kind of intro, so that new visitors (like me) can understand what they are looking at
It’s not open source right now.It’s just an online chat platform. Here is the thread with some explanation on how reply system works: https://www.heahy.com/channel/homepage/thread/3900adb9e441a09abc757461
Basically you can create channels, threads and in threads have text based chat or share various media. I guess closest thing to it would be Discord.
Just normal pus/sub, no need for package for something that’s so easy. I set indexes for collections, use redis-oplog and had done some light profiling to eliminate performance bottlenecks on rendering and back-end.
Fun fact - the application was feeling really slow and besides a few other smaller things I found biggest one was Font Awesome 5. I used it with this dom tracking which felt really weird for me at a time. In general it seemed so complicated for something so simple - icons, but I got it working and forgot about it. After finally checking performance I found that it’s really slowing down rendering (we talking seconds here), so I just removed it completely and simply pasted boostrap-icons svgs into html and application started flying. That also had another benefit of cutting down on bundle size because even though I imported only icons I needed it still added more that a fair share for such a simple need.
ClusterWS seems like a risky library when reading comments, but could be worth a try if we get modular DDP stream server. Maybe then it would be also possible to use sockets.io too if someone implements it. I don’t think it would be much faster than current solution though.
I did not do anything special for redis-oplog, just quick setup as written in their github repo.
Light profiling is simply quickly checking in browser devtools performance tab and in kadira profiler if there aren’t any glaring issues there, but not diving deep into it. Hopefully some time in the future I will setup load tests and check everything much deeper.