Как уже написали - JS достаточно по минимуму на стороне браузера, но сейчас лучше применять уже более разработанное решение как Angular.
Angular подразумевает использование (знание хотя бы основных принципов) языков JavaScript или, что предпочтительнее, TypeScript или Dart.
Итак, Ангуляр для управления одной страницей в браузере, это точно.
Однако внешний вид.
Боюсь на голом Ангуляре приятный внешний вид неспециалисту будет сложно сделать.
Я бы предложил использовать CSS-фреймворк, например, хорошо интегрируется с Angular фреймворк Zurb Foundation.
Но Angular используется на клиентское стороне, в браузере. На сервере ему должен кто-то отвечать.
Как правило, это приложение для NodeJS, PHP, Ruby, Python, Go, Java, Perl, другие технологии более экзотичны.
Данные должны где-то храниться.
Для этого нужна база данных - это может быть MySQL, MongoDB и пр. и пр.
Таким образом это будет:
- Клиентское приложение - JavaScript (TypeScript, Dart) и Angular и CSS-framework, например, Zurb Foundation
- Серверное приложение - JavaScript/PHP/Ruby/Python/Go/Java и NodeJS/PHP/Rails/DJango/Revel/Play
- База данных - MongoDB, MySQL, Tarantool с Софией.
К вашему стеку в качестве
обязательного я бы добавил CSS-framework.
Выбор же чего-то вместо NodeJS - при вашем начальном уровне - это больше дело личного удобства, чем строгие технические требования. То же касается и выбора БД. У них есть свои особенности, плюсы и минусы под конкретную задачу, но на начальном этапе ознакомления лучше не влезать в эти тонкости.