Быстрый старт
Эта страница поможет вам быстро начать работу с SaaS Admin.
Требования
Перед началом работы убедитесь, что у вас установлены:
- Node.js 22 или выше
- npm 10 или выше
- Angular CLI 21 или выше
- Doppler CLI (для управления секретами)
node --version # должен быть >= 22
npm --version # должен быть >= 10
ng version # должен быть >= 21Установка
1. Клонирование репозитория
git clone git@github.com:Happ-AI/saas-admin.git
cd saas-admin2. Установка зависимостей
npm install3. Генерация переменных окружения
Проект использует генерацию environment файлов через Doppler.
Сгенерируйте environment файлы:
npm run generate:env -- localВажно
Этот шаг обязателен перед первым запуском проекта. Без генерации environment файлов приложение не запустится.
Подробнее о секретах
См. Секреты и Doppler для полного списка переменных, примеров значений для local/dev/prod и инструкций по настройке Doppler.
4. Загрузка типов с бэкенда (опционально)
Если бэкенд (saas-api) запущен, можно загрузить актуальные типы:
npm run generate:typesTIP
Этот шаг опциональный. Типы уже есть в репозитории, но если бэкенд обновился — запустите эту команду для синхронизации.
5. Запуск dev сервера
npm startПриложение будет доступно по адресу http://localhost:4200
Быстрый старт (все команды)
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Основные команды
Разработка
npm start # Запуск dev сервера
npm run start:dev # Запуск на порту 4200
npm run watch # Сборка с watch modeProduction сборка
npm run build:prod # Production сборка с SSRПроверка кода
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Кодогенерация
npm run generate:env -- local # Генерация environment.ts
npm run generate:types # Загрузка типов с бэкенда
npm run generate:swagger # Загрузка Swagger спецификации
npm run codegen # GraphQL codegenТестирование
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. Запустите приложение
npm start2. Откройте браузер
Перейдите на http://localhost:4200
3. Войдите в систему
Используйте admin credentials для входа. Пользователь должен иметь role: admin.
Настройка API
По умолчанию приложение подключается к API по адресу http://localhost:3001/api.
| Окружение | API URL |
|---|---|
| Local | http://localhost:3001/api |
| Dev | https://api.dev.happ.tools/api |
| Prod | https://api.happ.tools/api |
Чтобы изменить адрес API, используйте Doppler или обновите переменную API_URL.
Git Hooks
Проект использует Husky для автоматической проверки кода перед коммитом:
npm run husky:prepare # Установка hooksПри коммите автоматически выполняется:
- ESLint проверка и автоисправление
- Prettier форматирование
- Stylelint проверка SCSS
- Удаление комментариев
- Удаление return types
Что дальше?
- Секреты и Doppler — настройка переменных окружения для local/dev/prod
- Архитектура — изучите архитектуру приложения
- Правила кода — изучите правила написания кода
- Зависимости — полный список зависимостей с документацией