This wouldn’t be anything specific to the theme. It sounds like what you’re describing are creating custom post types and taxonomies?
Make sure any code customizations you make come from a Child theme.
Also, you could look into using some sort of already established plugin like bbPress, which is what’s used to create the forum here on this website.
You can also search for more free plugins that provide different kinds of support systems in different ways or possibly hook up to other third-party services.