I think your question is very broad. There can be many ways you can create Forum application.

Before design, prepare/document all requirements of Forum application.

Requirements can be divided into various sub sections

a. Business Requirements - (how the forum should work from end user perspective for example - do we require to give change password option to User OR do we want system to generate a random new password when ever required etc ).

b. Technical Requirements - Here you decide hardware stack (how many servers required, any need of Load balancing etc ), software stack (which db to use,which programming language to be used, which web framework to be used, which ORM to be used ,which Servlet Container OR JEE containerto be used , which project management tool to be used etc)

Though I did not get the actual answer, thanks for your time for replying.

What Abhay is saying is ... there is a world of difference between writing something that has lots of features, and that may be used by thousands of people, versus say, a tic-tac-toe game that would be used by two people. You are trying to jump in and start from step 100 instead of step 1.

Anyway, coderanch, these forums, is based on JForum software. And interestingly....

The forum for jforum is now hosted by the ranch. So, if you like, take a peek at the jforum forum, see what they discuss about, see what issues come up, maybe even find an early discussion about the design. hopefully, that will help.