Скорее всего в том, что вставленные куски кода не скомпилированы.
Вам нужно использовать $compile, чтобы angular узнал о новых элементах.
Что-то вроде этого:
var elem1 = zamena.replaceWith('<input type="text" ng-model="name" id="inputNewName" autofocus>');
var elem2 = $('#inputNewName').after('<p id="trash" class="ng-binding">{{name}}</p>');
$compile(elem1)($scope);
$compile(elem2)($scope);
Все просто - делаете 5 модулей, которые зависимостями выносите в один - главный.
У каждого модуля свой функционал, свои директивы, свои контроллеры.
Если нужна связь между главным контроллером и дочерними через общие объекты - просто объявляете эти объекты в главном, а используете в дочерных(принцип замыкания по сути).
Если нужны общие объекты между директивами, используете изолированный scope у директив, указывая какие именно объекты будут поданы наружу.
Все.
Есть такой подкласс CMS - называются CMS на файлах. Обычно написаны на php и не имеют БД, крайне просты и рассчитаны на маленькие сайты с количеством страниц в пределах сотни-двух.
Поищите в интернете.
Но если вам нужна БД, то можете взять Wordpress, использовать его админку, а вывод дынных делать своими скриптами, из БД, выкидывая все лишнее, что он выдает наружу по-умолчанию.
Для понимания js лучше чем https://learn.javascript.ru/ пока ничего нету. Поймете очень много нюансов, с которыми "вроде как" уже давно работали.
А в продолжение - все таки дока ангуляра в итоге оказалось самой адекватной, несмотря на безобразность структуры и отсутствие линейной упорядоченности уровней сложности на первый взгляд.
Но чтобы "щелкнуло" возьмите любой курс по angular на 2-3 видео с ютуба и дальше дока уже вам будет по силам.