I am looking for some advice in which direction I should head. I am experienced in HTML and CSS, Joomla and Wordpress, and have some experience in PHP.

Basically I want to create a site where users can register and maintain a profile with an avatar. A registered user can then create a team with it's own custom profile and avatar. Other registered users can then join these teams, thus being shown on the team's profile page. I will want some other features like a forum (integrated with the site's database), a calendar of events, etc.

Do you think I there is existing open source software that will enable me to do this? I'm currently messing with Joomla and Community Builder but it kind of feels like a hack job. I'm currently going to school for programming and will be taking classes on PHP and SQL, so perhaps I should just start from scratch? It would at least be a great learning experience.