How to Create a wall of activities (like Facebook wall) in my site, for each user? I am building a social network site.
My plan is that every user would be able to write articles, tips, upload pictures, comment to others, like other posts etc.

My question is how can I aggregate all the user different activities in to one page (e.g. wall), so the user and all the other users can see all the activities in one page (similar to facebook wall)? 

Thanks in advance.
You need to give the ability to users to create a relationships.
https://drupal.org/project/user_relationships. You can set up what kind of content is shareable. 

Then using https://drupal.org/project/heartbeat you can get activity streams. 

Really do yourself a favor and get https://drupal.org/node/1849900. It can save up huge amounts of time, allowing you to set up a facebook-like network in a few hours!