Appearance
Фронтенд кабинета партнёра
Краткое описание
Кабинет партнёра — это фронтенд-приложение, создаваемое для партнёров компании A-Ceramica, которое предоставляет доступ к персональным скидкам, заказам, управлению контрагентами и другим партнёрским возможностям. Интерфейс ориентирован на удобство и прозрачность взаимодействия с компанией. Архитектура проекта строится на Nuxt 3, Nuxt UI и Tailwind CSS, с акцентом на масштабируемость, модульность и гибкость в настройке
Архитектурные особенности
- UI-стек: интерфейс разрабатывается на базе
Nuxt UIиTailwind CSS, с возможностью кастомизации черезapp.config.tsиtailwind.config.ts - Авторизация: интеграция с Keycloak предполагается через публичного клиента
nuxt-auth, с использованием Direct Access Grant Flow для работы с логином и регистрацией - Взаимодействие с API: запланирована работа с FastAPI-бэкендом через (
server/api/fetch/) и управление состоянием с помощью Pinia
Технологический стек
- Nuxt 3 — основной фреймворк с использованием SSR
- Tailwind CSS — утилитарный CSS-фреймворк с возможностью кастомизации
- Nuxt UI — UI-библиотека, интегрированная в экосистему Nuxt
- Pinia — менеджер состояния
- Keycloak — система авторизации и аутентификации
- FastAPI — бэкенд, обрабатывающий бизнес-логику
Разработка и запуск локально
1. Установка зависимостей
bash
npm install2. Сборка проекта
bash
npm run build3. Запуск в режиме разработки
bash
npm run dev4. Запуск в режиме продакшена
bash
node .output/server/index.mjs⚠️ Не забудь создать
.envи.npmrcс актуальными значениями. См. Шаблоны окружений
Сборка и деплой
Проект деплоится вручную на staging-сервер. Подробнее см. Сборка и деплой фронтендов