0

I am looking to create a website for my business and need some information about what would be required. We're trying to create a website where users from the general site population could form their own private groups to interact and chat. I use Roll 20 as an example because it allows users to form their own virtual DnD groups. Facebook groups would be another example. (Our business has absolutely nothing to do with DnD or Facebook, not trying to copy them.)

I know very little about coding beyond basic python or java scripting and pretty much nothing about websites beyond basic layout stuff. We're looking to find people to help us build a site, but we need some information first to help us decide what exactly we need and who to look for.

I know that if I ask "what is best," I'll get a whole lot of opinions and probably a bunch of downvotes, so instead I'll ask this: what sort of network sytems would we need to create a website with a large database of members where members could form their own groups and exchange information and interact? Is this the kind of thing that is usually hashed out in HTML, or built in WordPress, or what? What sort of backend systems would you need to process that kind of data and allow such a site to function? Are there existing services that would make this easy to do?

2 Answers 2

0

This is a hard to answer question, so let's start with the answering what we know about the technologies used by https://roll20.net/

Roll20 stack

This website let's you look up what you can determine by looking at the source of the frontend

Which doesn't tell us anything about the backend in this case. Some websites would give away a PHP version or something through its headers.

Building you own

Well you can choose "whatever" nowadays to build a website. And it's always good to take your time to choose the right tool / language / framework for you.

note: This piece of the answer is heavily opinionated and does not take other languages into consideration.

A common tool (CMS in this case) is Wordpress, written in PHP, which will allow you to create (static) pages quickly. However if you want to have some custom features you have to write plugins for it. If the site has a lot of custom features I would suggest to stay clear from Wordpress and build your website from scratch with a framework like Laravel for example (easy to use and good documentation).

0

We're trying to create a website where users from the general site population could form their own private groups to interact and chat

I found these ready to deply solutions:

Double check they fit your requirements.

Aside from those, the closest I can think of are open source social networks. For example Elgg and some of its alternatives.

What sort of network sytems would we need to create a website with a large database of members where members could form their own groups and exchange information and interact?

Two questions:

  • Do you need realtime notifications? (Users see new message appear in real time, no need to refresh the page).
  • If you do, do you need persistence? (Old messages are kept in the page, regardless of people closing the browser or session).

If you do not need realtime notifications, then you can architecture this similar to blog comments or a forum.

If you need the realtime notifications and persistence, you want to use WebSockets so that the server can send notifications to the clients. The main alternative is to let a connection open and process partial responses. Ideally by Using server-sent events.

If you do not need persistence, consider using WebRTC. With WebRTC you can make the connection between the browsers (p2p)※, your web server would assist in the connection, yet the conversions will not pass through the server.

※: Alternatively you can use a relay server. However, at that point, I would suggest to use WebSockets instead.

Is this the kind of thing that is usually hashed out in HTML, or built in WordPress, or what?

If you do not want realtime notifications (or you cannot get p2p connections to work), then the solution is that everything is stored in the server. Then virtually every server side technology will work. In theory, yes, you should be able to do it with WordPress plugins (I'm unware of any that does it).

What sort of backend systems would you need to process that kind of data and allow such a site to function?

You need a database, a server side scripting language, and a web framework would be handy. And if you are going to use WebSockets, I'd strongly recommend to pick a language and framework combo that supports them out of the box, make sure to double check the documentation (there can be extra installation steps, for example).

Are there existing services that would make this easy to do?

Web frameworks, of course.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.