- Laravel 11 — PHP-фреймворк
- Vue3 — JS-фреймворк (используем только Composition API)
- Element Plus — Библиотека компонентов для Vue3
- VueUse — Библиотека вспомогательных методов для Vue3
- InertiaJS — JS-фреймворк для монолитного приложения Laravel + Vue3.
- SASS
- CSS Переменные
- PostgreSQL - Основная объектно-реляционная СУБД
- Redis - Нереляционная СУБД, хранящая данные в виде пар «ключ-значение» для быстрого доступа - (а) кэширование из основной СУБД, чтобы снизить нагрузку; (б) хранение промежуточных данных с коротким сроком жизни; (в) брокер сообщений
- TypeScript, т.к. (а) фокусируемся на стартапы — небольшие проекты, которые нужно запустить с максимальной скоростью, а TS сложнее в отладке, и нужно писать больше кода; (б) снижаем порог входа новых разработчиков (большая сложность при изучении TS). По мере роста стартапа TypeScript может быть добавлен по необходимости.
- Vue3 Options API, т.к. в рамках рекомендаций самого Vue при использовании фреймворка в монолитном фронтенде предпочтительнее Composition API
- TailWind CSS, т.к. (а) большая стоимость абстракций; (б) проблема «уродливости» классов
- MySQL, т.к. PostgreSQL предлагает более высокую скорость обработки запросов
- Для форматирования PHP-кода используется стандартный для Laravel PSR-12. Он же реализован в .editorconfig
- Помимо этого мы придерживаемся соглашений по написанию кода
- Постепенно мы дополняем наши соглашения из предыдущего пункта распространенными Laravel Coding Guidelines.
Команда sail будет очень часто использоваться в командной строке. Для удобства её использования полезно добавить локальный алиас в используемую shell-оболочку (на примере bash):
echo "alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'" >> ~/.bash_profile
source ~/.bash_profile
./workflow/install-local.sh
Сразу после установки, проект уже запущен. После этого открываем в браузере http://localhost/
./workflow/up.sh
sail down