commit fbd8560cb37761e57f29ca59fb53e866cb47b8ff Author: Robonen Date: Thu Mar 31 23:44:02 2022 +0700 Init commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..62c8935 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..5ad7c12 --- /dev/null +++ b/README.md @@ -0,0 +1,133 @@ +# Metr Frontend + +

+ + Logo + +

+ +

+ + + + + + +

+ +## Git Flow ⚠ + +Продакшен ветка - `master` + +Ветка для разработки - `dev-x.x.x` + +### Порядок работы с репозиторием +- Создать ветку с версией dev-x.x.x +- После окончания работы над версией и успешным прохождением тестов выполнить слияние с master веткой +- Для создания нового релиза перейти в раздел Releases, заполнить описание версии и добавить тег +- После успешного релиза нужно проверить корректность + +## Установка проекта + +```bash +git clone https://github.com/robonen/metr-frontend.git +cd frontend +npm install +``` + +### Запуск в режиме разработки + +```bash +npm run serve +``` + +### Компиляция продакшен сборки + +```bash +npm run build +``` + +## Правила структурирования проекта + +### Компоненты (`src/components`) + +``` +AppButton.vue +AppPopup.vue +AppToastNotification.vue +BaseButton.vue +BasePopup.vue +ClientForm.vue +ClientList.vue +SearchWidget.vue +SearchWidgetInput.vue +SearchWidgetList.vue +``` + +1. Каждый компонент должен быть определен в отдельном файле +2. Имена файлов компонентов должны быть в PascalCase +3. Все базовые компоненты должны начинаться с одного префикса +4. Имена компонентов всегда должны быть многословными, чтобы не конфликтовать с существующими или будущими элементами HTML +5. Сильно связанные дочерние компоненты должны иметь префикс с именем их родительского компонента + +### Страницы (`src/views`) + +``` +UsersIndex.vue +UsersCreate.vue +UsersShow.vue +UsersEdit.vue +SignIn.vue +Settings.vue +``` + +1. Каждая страница должна быть определена в отдельном файле +2. Имена файлов компонентов должны быть в PascalCase +3. Все страницы, относящиеся к одной сущности должны начинаться с одного префикса +4. Страницы, на сколько это возможно, строятся из компонентов, чтобы избежать дублирование кода + +### Стили + +1. Глобальные переменные, модули, миксины выносятся в папку `/assets/scss` и подключаются в `vue.config.js` + +```javascript +// vue.config.js + +module.exports = { + css: { + loaderOptions: { + scss: { + prependData: `@import "~@/assets/scss/variables.scss";`, + }, + }, + }, +}; +``` + +```html + + + +``` + +2. Стили модуля задаются в файле модуля + +```html + + + +``` \ No newline at end of file diff --git a/public/logo.svg b/public/logo.svg new file mode 100644 index 0000000..8f52d17 --- /dev/null +++ b/public/logo.svg @@ -0,0 +1,7 @@ + + + + + + +