Не совсем "полный ответ", но, надеюсь, немного пищи для размышлений.
Я использую этот проект в качестве упражнения для разработки масштабируемого / безопасного / быстрого веб-приложения с использованием инструментов с полностью открытым исходным кодом ...
Это великолепно, поэтому мой вопрос: зачем беспокоиться об архитектуре? Я признаю, что это немного странно, если исходить от того, кто считает себя сторонником архитектуры, но «изучение архитектуры» и изучение новых технологий могут быть сложными. Может быть, вы просто хотите сначала ускориться, а затем заняться другим?
Архитектура, проектирование и создание системы, которая «масштабируема / безопасна / быстра», не тривиальна. В «реальном» бизнес-кейсе вы должны соответствовать системному контексту и нефункциональным требованиям: это может предложить другой технологический стек. Различные ключевые драйверы будут иметь огромное влияние на то, как вы подходите к вещам и какие решения принимаются - и, конечно, вокруг этого будет строиться архитектура.
Изменить:
Я бы начал с того, что было для вас важнее; затем, когда я начну с «другой» темы, я буду постоянно проверять то, что я изучил / мои предположения.
В зависимости от двух предметов могут быть некоторые «синергии», которые предполагают другой подход. Часть меня хочет порекомендовать сделать достаточно для одной, чтобы получить хорошее базовое понимание, а затем поднять другую до аналогичного уровня, а затем двигаться дальше. Таким образом, вы будете более последовательны.
Другая часть меня говорит - просто делай то, что интереснее!
Должен ли я исследовать глубины заданного технологического стека, прежде чем двигаться вперед, или получить план прямо с точки зрения независимости от инструмента?
Для начала вам бы определенно хотелось получить широкое, но поверхностное представление; возможно, рассмотрим некоторые конкретные области более подробно, если они имеют для вас особое значение.
Или мой план изменится из-за технологических ограничений?
Под этим я предполагаю, что вы имеете в виду, что: если вы обнаружите, что «данная технология работает таким образом» и как она работает, отличается от того, что вы ожидали - тогда это повлияет на план?
Это может сработать - поэтому широкий, но неглубокий взгляд на соответствующие технологии должен помочь вам избежать худших / наиболее очевидных ошибок. Я также предполагаю, что у вас достаточно общего опыта, чтобы знать, на что вы смотрите, когда начинаете это делать - что вы можете распознать область, которая требует более детального изучения, прежде чем приступить к проектированию.
На высоком уровне все, что вам нужно сделать, это убедиться, что вы не ограничиваете варианты в дальнейшем.