Сейчас занимаюсь разработкой первого нормального сайта (учебный проект) и немного запутался с архитектурой, а именно: что должно лежать в папке public? Как я понял там должны быть php файлы для авторизации или обратной связи, так?
И нужно ли на сервер выгружать sass файлы?
Леонид Роженцев, я исхожу из того, что у вас public - это DOCUMENT_ROOT web-сервера/ директория, доступная из интернета.
Все что выше — недоступно по http/ Вот там и лежит весь код, исходники, сборщики вендорные пакеты и т.п.
Как-то так:
/ <-- корень сервера (корневая папка для сайта, не Unix Root конечно)
public/ <-- DOCUMENT_ROOT
css/
js/
img/
index.php
robots.txt
и т.п.
src/ <-- исходники для фронта
sass/
js/
app/ <-- php файлы/классы и т.п.
vendor/ <-- пакеты из композера
node_modules/ <-- пакеты из npm для фронта
…любые другие файлы и папки
Если вы используете какой-то фреймворк, то там уже задана структура директорий.
Если вы используете CMS, то там всё лежит в document root и хрен что с этим сделаешь.
/ Корень проекта
/public - артефакты после сборки, по идее это ваш фронт
/src - все что учавствует в сборке
/sql - все что относится к БД
/docs - документы и прочее
дальше во вложенности разбирайтесь сами, но рекомендую быть разумным и отделять мух от котлет