Skip to content

Быстрый старт

Эта страница поможет вам быстро начать работу с SaaS Admin.

Требования

Перед началом работы убедитесь, что у вас установлены:

  • Node.js 22 или выше
  • npm 10 или выше
  • Angular CLI 21 или выше
  • Doppler CLI (для управления секретами)
bash
node --version  # должен быть >= 22
npm --version   # должен быть >= 10
ng version      # должен быть >= 21

Установка

1. Клонирование репозитория

bash
git clone git@github.com:Happ-AI/saas-admin.git
cd saas-admin

2. Установка зависимостей

bash
npm install

3. Генерация переменных окружения

Проект использует генерацию environment файлов через Doppler.

Сгенерируйте environment файлы:

bash
npm run generate:env -- local

Важно

Этот шаг обязателен перед первым запуском проекта. Без генерации environment файлов приложение не запустится.

Подробнее о секретах

См. Секреты и Doppler для полного списка переменных, примеров значений для local/dev/prod и инструкций по настройке Doppler.

4. Загрузка типов с бэкенда (опционально)

Если бэкенд (saas-api) запущен, можно загрузить актуальные типы:

bash
npm run generate:types

TIP

Этот шаг опциональный. Типы уже есть в репозитории, но если бэкенд обновился — запустите эту команду для синхронизации.

5. Запуск dev сервера

bash
npm start

Приложение будет доступно по адресу http://localhost:4200

Быстрый старт (все команды)

bash
git clone git@github.com:Happ-AI/saas-admin.git
cd saas-admin
npm install
npm run generate:env -- local
npm run generate:types      # опционально, если saas-api запущен
npm start

Основные команды

Разработка

bash
npm start           # Запуск dev сервера
npm run start:dev   # Запуск на порту 4200
npm run watch       # Сборка с watch mode

Production сборка

bash
npm run build:prod  # Production сборка с SSR

Проверка кода

bash
npm run lint:check    # Проверка ESLint
npm run lint:fix      # Автоисправление ESLint

npm run slint:check   # Проверка Stylelint
npm run slint:fix     # Автоисправление Stylelint

npm run format:check  # Проверка Prettier
npm run format:fix    # Форматирование Prettier

npm run typecheck     # Проверка TypeScript

Кодогенерация

bash
npm run generate:env -- local   # Генерация environment.ts
npm run generate:types          # Загрузка типов с бэкенда
npm run generate:swagger        # Загрузка Swagger спецификации
npm run codegen                 # GraphQL codegen

Тестирование

bash
npm test            # Запуск тестов

Структура проекта

saas-admin/
├── src/
│   ├── app/
│   │   ├── core/              # Ядро приложения
│   │   │   ├── config/        # Конфигурация
│   │   │   ├── guards/        # Auth guards
│   │   │   ├── interceptors/  # HTTP interceptors
│   │   │   ├── interfaces/    # TypeScript интерфейсы
│   │   │   ├── services/      # Core сервисы (25)
│   │   │   ├── routes/        # Определение роутов
│   │   │   └── utils/         # Утилиты
│   │   ├── admin/             # Админ секция
│   │   │   ├── layout/        # Layout компонент
│   │   │   ├── components/    # Sidenav компонент
│   │   │   └── pages/         # Страницы (features)
│   │   ├── shared/            # Shared компоненты (35+)
│   │   │   ├── components/    # Переиспользуемые компоненты
│   │   │   ├── classes/       # Общие классы
│   │   │   ├── constants/     # Константы
│   │   │   ├── pipes/         # Angular pipes
│   │   │   └── utils/         # Утилиты
│   │   └── app.component.ts   # Root компонент
│   ├── environments/          # Конфигурации окружений
│   ├── assets/                # Статические ресурсы (i18n, стили)
│   ├── styles.scss            # Глобальные стили
│   ├── main.ts                # Browser entry point
│   ├── main.server.ts         # Server entry point
│   └── server.ts              # Express SSR server
├── docs/                      # Документация (VitePress)
├── scripts/                   # Утилитарные скрипты
├── angular.json               # Angular конфигурация
├── tsconfig.json              # TypeScript конфигурация
└── package.json               # NPM dependencies

Первые шаги

1. Запустите приложение

bash
npm start

2. Откройте браузер

Перейдите на http://localhost:4200

3. Войдите в систему

Используйте admin credentials для входа. Пользователь должен иметь role: admin.

Настройка API

По умолчанию приложение подключается к API по адресу http://localhost:3001/api.

ОкружениеAPI URL
Localhttp://localhost:3001/api
Devhttps://api.dev.happ.tools/api
Prodhttps://api.happ.tools/api

Чтобы изменить адрес API, используйте Doppler или обновите переменную API_URL.

Git Hooks

Проект использует Husky для автоматической проверки кода перед коммитом:

bash
npm run husky:prepare   # Установка hooks

При коммите автоматически выполняется:

  • ESLint проверка и автоисправление
  • Prettier форматирование
  • Stylelint проверка SCSS
  • Удаление комментариев
  • Удаление return types

Что дальше?

SaaS Admin Documentation