Переработка старого самописного сайта на Laravel 7

Веб-программирование
208 просмотров
26.06.2020
987×66885 КБ
screenshot-spendy.co-2020.06.26-12_32_30.png
1299×62066 КБ
screenshot-spendy.co-2020.06.26-12_36_17.png
1732×826455 КБ
screenshot-spendy.co-2020.06.26-12_36_49.png
992×820136 КБ
screenshot-spendy.co-2020.06.26-12_37_27.png
1732×826163 КБ
screenshot-spendy.co-2020.06.26-12_37_50.png

Сайт: [url=https://spendy.co/]https://spendy.co/[/url] Проект: [url=https://www.weblancer.net/projects/veb-programmirovanie-31/razobratysya-v-chuzhom-kode-vnesti-pravki-v-php-kod-pochinit-sajt-1043936/]https://www.weblancer.net/projects/veb-programmirovanie-31/razobratysya-v-chuzhom-kode-vnesti-pravki-v-php-kod-pochinit-sajt-1043936/[/url] Суть задачи: разобраться в функционале старого самописного сайта, починить и кое-что доделать. Старый сайт был написан без каких либо бек-енд фреймворков, в качестве шаблонов было использовано Smarty. Данные тянулись напрямую через запросы используя [b]mysql_*[/b] функции, без статического или синглтон обьекта базы. Верстка [i]Datepicker[/i]-а отдалался фронту через AJAX запрос и формировался на бек-енде. Было принято решение перейти из старого PHP [b]5.6[/b] -> [b]7.2 [/b]и использовать [b]Laravel Framework 7 [/b]для более быстрой, стабильной и безопасной разработки. Плюс к этому добавляеться возможность использовать много [b]open-source[/b] библиотек для готовых решений, чтобы не выдумивать велосипед заново.  Оригинальная верстка сохранена, весь фронт-енд упакован в несколько файлов с помощью [b]Laravel Mix. [/b]Все стили проекта компилируються в файл [b]app.css[/b], а стили библиотек в vendor.css (которые всегда актуальные, так как тянуться с [i]node_modules/[/i]). Также все оригинальные стили проекта перекомплилированые в SCSS, для удобной разработки. Скрипты JavaScript аналогично упакованы в [b]app.js[/b] и [b]vendor.js.[/b]  Добавление/редактирование обьектов, пагинация, фильтры (параметры обновляються в строке адреса) сделаны через AJAX, таблицы имеею фронт енд сортирование. Также сохраняються AJAX переходы между страницыми, с правильной навигацией назад. Реализирован [b]експорт[/b] таблицы "Reports" в [b]CSV, JSON, Excel[/b]. В общем из старого жигуля проект превратился в новый Daewoo Lanos (Если ещё [b]Vue.js[/b] использовать для фронта, то была бы [i]Tesla Model S[/i])
AJAXJavaScriptLaravelPHPSCSSVue.js