Usually things like the number of source files are not decided upon before the project starts. You should plan the general structure of any significant project, but I think it is a mistake to plan to such a fine level of detail.
A BBS runs on a server. In 2016 it probably doesn't make too much sense to write server-side code in C++ unless you have unusual needs. I don't know what the library support situation is for C++ web-development, but I assume there's not too many feasible choices. ("C++" and "web development" don't usually appear in the same sentence).
I have a lot more practice doing bottom-up development then the opposite, so I would probably choose to write the program's beginning first. On the other hand, it's marginally harder for me to write good tests for code written in a top-down style. Maybe my decision would depend on how much infrastructure was needed before I could see visible results.