I strongly recommend reading this excellent article on best practices for community specific design. From a design perspective and to ensure you allow for easy collaboration and contribution, To quote the article :
Community sites, like any other website, need to facilitate browsing using design tactics > that immediately tell the
user the purpose of the community and answer the question, “Should I
stay?” At first glance, the community visual design should welcome the
visitor and communicate the brand. Clear headlines, content previews
with links to full posts, thumbnail imagery, meaningful organization
of information, faceted search, and calls-to-action can help users
browse and engage beyond browsing.
Community search should help users find useful and relevant
topics by allowing them to refine faceted searches based on content
types, members, topics, recency, and user ratings.
Community contribution depends on the community access.
Some communities, especially those requiring paid access, are closed,
requiring a login to view content. Others let visitors browse for
free, but contribution requires registration. For either scenario, the
contribution process must be effortless; otherwise users will leave,
thinking it’s not worth the effort.
With regards to defining the information architecture, the article has this to say:
A Broad and Flexible Information Architecture
Communities are made up of a set of members and content that is
constantly changing. A hierarchical site taxonomy and information
architecture create a sense of place for the user, but content and
contributions are typically not tied to one topic, so the information
architecture needs to be flexible. Community information architecture
(IA) should account for the big buckets—the high-level categories
where all discussion, curation, and collection can take place in a
manner that makes sense for the community. Then, at sub-category
level, tagging, recency, and ratings can help surface the most
valuable content within the category.
A community site’s nomenclature should be consistent with the user’s
terminology and not the company’s. Communities can assign their own
nomenclature with tagging and categorization that evolve with as
discussions in the community grow.
Since the community is a collective of people, a “members” category
should be part of the top-level navigation as a place where people can
learn about each other and manage their own member profiles. Depending
on the topic and realm of the community, consider describing members
in more specific terms. For example, a golf community can have a
member’s category called “Golfers” and a software community can have a
category called “Developers.”