I've got a question, wanting to know the best way to approach a project.

Let's say, hypothetically speaking, you want to build a website with the following functionality:

Users create accounts. From their account, they can post images and those images can be "upvoted" depending on popularity. The highest voted images show on the home page. Users can also have a "shop" to sell products. This shop will be on a separate domain such as "shop.website.com" hosted on a different server for load management.

CMS platform - Joomla
Social Network platform - Jomsocial or Community Builder
Shop platform - Magento
Dedicated servers for both

Now this is where things get a bit hairy. Let's say, hypothetically speaking, you have the backing of a few celebrities that have combined approximately 2 million followers between instagram & twitter. When a post is made by them to promote the project, you'll of course experience a spike in traffic, so this site can't be built with the same practices that you're used to.

Does anyone have any suggestions/advice for approaching a project like this? I have a Linux Systems Administrator background so i'm pretty technical, I just haven't had to approach a web project on a larger scale than the typical small business so i'm wondering what suggestions/resources, etc you guys may have. I'm looking for scalability and stability.