Short bio: Computer Scientist, FOSS supporter (read more)
Tux Machines (TM)-specific
One obvious solution is to approach a software development company and obtain a custom built product.
However to take this approach one needs to first know what features and functionality is desired. Then on the other hand in some instances the need does not warrant the cost of commissioning a custom application.
A plethora of free open source web applications exist today. Regardless of the specific circumstances of the need these applications can quite often prove to be a valuable resource.