Writing a scalable chat room service in D

Sönke Ludwig via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Mon Jan 4 09:14:18 PST 2016


Am 04.01.2016 um 16:01 schrieb bachmeier:
> On Monday, 4 January 2016 at 10:19:52 UTC, Sönke Ludwig wrote:
>> Finally published the article that I had prepared in autumn last year.
>> It gives an overview of the basic functionality needed to implement a
>> typical web application using vibe.d. The example uses Redis as a data
>> store - using other storage solutions may be a good topic for a
>> follow-up article.
>>
>> https://vibed.org/blog/posts/a-scalable-chat-room-service-in-d
>>
>> Reddit:
>> https://www.reddit.com/r/programming/comments/3ze948/writing_a_scalable_chat_room_service_in_d/
>>
>
> This is nice work. You've done a good job of showing the power of vibe.d.
>
> Something that comes to mind is that there is a lot of demand for
> self-hosted chat servers. Is there a possibility to make this into an
> example that works out of the box? By that, I mean someone could install
> vibe.d on a DigitalOcean server, type "vibe chat start" at the command
> line, and have a running chat service. That would lead to a lot of
> vibe.d installs, and then when they want to change something, they could
> jump into your tutorial and see how easy it is to do. To my knowledge,
> there is nothing like this available.

That would certainly work, I've uploaded each step of the tutorial to 
GitHub [1]. Something like "git clone 
https://github.com/rejectedsoftware/webchat-tutorial.git && dub 
--root=webchat-tutorial" should do it.

However, there are a lot of details missing that would be desirable for 
a real-world application, such as adding time stamps, restricting 
history length, making a nicer UI and some kind of authentication or 
nickname stealing prevention.

[1]: 
https://github.com/rejectedsoftware/webchat-tutorial/tree/master/tutorial


More information about the Digitalmars-d-announce mailing list