Frontend NPPWEB на Nuxt 3 + TypeScript + Tailwind CSS + Radix Vue + Apollo GraphQL.
Приложение стартует со страницы авторизации и после входа открывает защищённый интерфейс для мониторинга закупок, источников, запусков, отчётов и пользователей.
Быстрый вариант через общий стек:
cd ../infra
cp .env.example .env
docker compose --env-file .env -f docker-compose.yml -f docker-compose.apps.yml up -d --build backend-api frontendОтдельный запуск только фронта:
npm install
npm run devПо умолчанию приложение доступно на http://localhost:4173.
NUXT_PUBLIC_GRAPHQL_ENDPOINT- публичный GraphQL endpoint для клиента. По умолчанию/graphql.NUXT_GRAPHQL_PROXY_TARGET- backend target для dev-proxy. По умолчаниюhttp://localhost:3000.
Пример:
NUXT_PUBLIC_GRAPHQL_ENDPOINT=/graphql
NUXT_GRAPHQL_PROXY_TARGET=http://localhost:3000/- редирект на/loginили/dashboardв зависимости от сессии./login- публичная страница входа./dashboard- основной dashboard./procurements- список закупок./procurements/:id- карточка закупки./sources- источники и последние запуски./jobs- журнал запусков./reports- список отчётов./profile- профиль текущего пользователя./users- управление пользователями, доступно толькоADMIN.
Если backend поднят с seed из infra, по умолчанию доступны:
admin@admin.ru / 12345678analyst@admin.ru / 12345678user@admin.ru / 12345678
Подсказка с тестовым логином на странице /login отключена, поэтому данные нужно вводить вручную.
npm run typecheck
npm run buildПосле production-сборки приложение запускается так:
node .output/server/index.mjsDockerfile собирает Nuxt .output и запускает production runtime на Node.js.