В этом репозитории представлен пример простейшего фронтенд-сервиса с Vue.js.
Большая часть команд и инструкций написаны для операционных систем Linux и MacOS.
- Node.js v18 или выше – среда исполнения JavaScript/TypeScript
- PNPM – менеджер пакетов (можно использовать NPM, но мы рекомендуем PNPM)
- Vue.js – фреймворк для фронтенда
- Vite – инструмент сборки и локального dev-сервера
- Docker – для сборки и деплоя
Фронтенд (англ. front end, frontend) — презентационная часть web-приложения, её интерфейс и компоненты.
В примере используется Vue.js и TypeScript.
Для удобства разработки в VS Code можно использовать workspace с преднастроенными командами и рекомендуемыми расширениями.
- Установи зависимости:
pnpm install - Запусти локальный dev-сервер:
pnpm dev
Приложение предполагает, что ты запускаешь его из среды «Твой ФФ». Чтобы имитировать запуск:
- Зарегистрируйся в тестовой среде Твой ФФ!
- Перейди в панель администрирования: https://app.test.profcomff.com/admin
- Нажми «скопировать параметры приложения».
- Запусти серве и перейди по ссылке (обычно
localhost:5173), а потом добавь в конце скопированные параметры. - Код, который обрабатывает данные пользователя из URL, находится в
src/store/profileStore.ts.
Также есть методы для локальной авторизации с тестовым токеном (VITE_TVOI_FF_TOKEN в .env.development):
- await setupDevAdminSession(null); // админская сессия
- await setupDevUserSession(null); // юзерская сессия
Эти методы описаны в /src/store/profileStore.ts. Там же можно описать, какими скоупами будет обладать та или иная сессия -- для этого эти скоупы должны иметься у сессии в Твой ФФ.
- Проверь, что выполняются стили:
pnpm check - Опционально: сложная версия
pnpm check:hard - Заполни шаблон пулл-реквеста: что, как и зачем сделано
- Запроси ревью у члена команды
- (Опционально) Сначала можешь сделать Fork репозитория на GitHub.
- Открой терминал и перейди в папку, в которой будешь создавать папку проекта:
- Windows:
cd %userprofile%/Desktop/ - Linux/MacOS:
cd ~/Desktop/
- Windows:
- Склонируй репозиторий:
git clone https://github.com/profcomff/app-template.git my_app, где my_app -- название папки.
Открой код в твоем редакторе -- мы рекомендуем VS Code. Для удобства в проекте есть frontend.code-workspace с настройками и рекомендованными расширенями -- открой этот файл через File > Open workspace from file....
- Открыть файл с расширением
.vue. - Открыть палитру команд (Help > Show All Commands или
Ctrl+Shift+P) - Ввести и выбрать
Format document with. - Выбрать
Configure Default Formatter. - Выбрать
Prettier.
Теперь можно форматировать файлы с помощью Shift+Alt+F. Еще можно настроить автоформатирование при сохранении файла (File > Preferences > Settings, Format on save).
Сборка производится через Docker, что создаёт независимый от ОС пакет.
make # сборка Docker образа
make run # запуск контейнера.env содержит базовый URL API:
VITE_API_BASE_URL=https://api.example.comКоммит в main запускает автоматическую сборку через GitHub Actions: .github/workflows/build_and_publish.yml
Проверки кода на PR: eslint, prettier, stylelint. Настройки: .github/workflows/checks.yml
Можно разместить приложение на любом хостинге с HTTPS. Рекомендуем использовать VPS на Linux с Docker.
Для SSL можно использовать letsencrypt.com или веб-серверы с встроенной поддержкой сертификатов (Traefik, Caddy).
Dockerfile и docker-compose уже настроены для быстрого деплоя с включённым HTTPS.