Задача крайне объемная и требует вначале проработки IA,UX,UI и уже потом программирования... Вот поэтому и такие вопросы возникают, возьмите за основу ВКонтакте и сделайте декомпозицию информационной структуру, потом пользовательского взаимодействия и потом уже интерфейсных фич, структура БД сама собой создастся.