Правильно ли делать такую структуру проекта?
Для начала делайте как делается, а не как правильно. Всякие RightWay потом учить будете. Пока вам нужно получить общие представления как всё работает, набить СВОИХ шишек и уже с пониманием всего переходить к "тяжёлой артиллерии".
Нет, неправильно. 
- get_functions.php ужасное название, винегрет внутри. все эти функции разложить по своим модулям. 
- inc/main_tpl.php подключается слишком рано. сначала надо закончить работу с данными, а только потом начинать вывод. Это азбука. 
- 'modules/' . $_GET['section'] . '/index.php' инклюдится слишком поздно. модуль надо инклюдить ДО начала вывода.  При этом основной шаблон должен вызываться не в индексе, а в модуле. модуль решает, бует ли он что-то выводить, если да - то присваивает переменной имя своего шаблона и вызывает основной шаблон, который в себе инклюдит шаблон модуля. Подробнее: phpfaq.ru/tech/tpl
- в include 'modules/' . $_GET['section'] . '/index.php' тебе напихают такого, что на ежика станешь похож. имя модуля надо обязательно валидировать. в идеале по белому списку. 
В остальном нормально, только обычно все кроме индекса кладут выше корня.