Как спроектировать архитектуру большого проекта с начальным знанием программирования?
К сожалению с начальным знанием программирования - никак.
Вы не можете привлекать сторонних разработчиков, но уже привлекаете их через Тостер.
Если вы планируете бизнес-проект, попробуйте реализовать проект так, как вы это себе представляете. Чтобы он просто начал работать. Если вы действительно можете это сделать (запустить работающий проект в одиночку с начальными знаниями программирования), то впоследствии, когда проект заработает и начнет приносить прибыль, просто наймете сторонних разработчиков, которые напишут проект с нуля, при этом у вас уже будет какой-то опыт с проекта (статистика, метрики, дополнительные идеи которые пришли уже после старта проекта) и так далее.
Как говорят - оптимизация до оптимизации не нужна.
У меня был опыт запуска интернет-магазина во времена, когда их было десяток на всю страну. Первый интернет-магазин мы писали почти полгода, внедрив в него тысячи фич, которые оказались невостребованными. Через год проект себя отбил, и мы заказали не редизайн а весь магазин с нуля. Разработка шла 2 месяца, обошлась в 4 раза дешевле. Функционал стал гораздо удобнее. И мы поняли, что в первый раз надо было тоже пойти по более простому пути, тогда мы мы запустились на 4 месяца раньше и отбились бы за полгода.
Для начала нужно определиться хотя-бы с минимальным набором функционала, которым должен будет обладать проект. После того, как набросали самые важные пункты, начинаем продумывать, какие данные нам для выполнения понадобятся. Т.е. к примеру обычный вход на сайт:
У нас есть Аккаунт, для него нужно знать id, login, pass, login_time. У каждого аккаунта есть свой User: id, name, eMail, itc. И так далее разбираете каждый пункт функционала и смотрите все ли необходимые данные у нас есть. 
Также при проектировании базы обращайте внимание на типы связей https://technet.microsoft.com/ru-ru/library/ms1906... и опирайтесь на https://habrahabr.ru/post/254773/ . 
После проектирования базы, начинаем писать классы обертки на клиенте/сервере, в зависимости от типа проекта и добавляем необходимые методы по сбору/обновлению/добавлению данных.  И там уже будет точнее видно, есть ли у вас вся необходимая информация для работы или нужно еще что-то.  
В конце берете визуальную часть и связываете ее с моделями. На этом этапе заполнятся все пробелы в моделях, если они останутся