/xkee-control-angular

Customer management tool

Primary LanguageTypeScript

Control

Приложение для управления территориями, устройствами и клиентами с поддержкой BLE устройств и синхронизации данных.

Технологии

  • Angular 20.3.0 - основной фреймворк
  • TypeScript - язык разработки
  • Bootstrap 5 - UI компоненты и стили
  • FontAwesome - иконки
  • NgBootstrap - Angular компоненты Bootstrap
  • Less - препроцессор CSS
  • Web Bluetooth API - работа с BLE устройствами

Настройка окружения

NodeJS

Устанавливаем утилиту для скачивания:

sudo apt install curl

Скачиваем инсталлятор Node Version Manager и запускаем:

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash

Выбираем нужную версию NodeJS:

nvm list-remote

Устанавливаем нужную версию NodeJS:

nvm install v22.12.0

Angular CLI

Устанавливаем CLI:

npm install -g @angular/cli@20

Приложение

Переходим в каталог репозитория.

Скопируйте каталог .vscode_template в .vscode и внесите правки, соответствующие вашему окружению.

Устанавливаем зависимости:

npm install

Разработка

Запуск сервера разработки:

ng serve

Приложение будет доступно по адресу http://localhost:4200/. Приложение автоматически перезагружается при изменении исходных файлов.

Генерация компонентов

Создание нового компонента:

ng generate component component-name

Также можно использовать:

ng generate directive|pipe|service|class|guard|interface|enum|module

Сборка

Сборка проекта для продакшена:

ng build

Артефакты сборки сохраняются в каталоге dist/.

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

Запуск юнит-тестов:

ng test

Тесты выполняются через Karma.

Docker

Сборка образа

docker build -t angular-control-app .

Запуск контейнера

С настройкой базового URL:

docker run -p 8080:80 -e BASE_URL="https://api.example.com" angular-control-app

Без дополнительных настроек:

docker run -p 8080:80 angular-control-app

Структура приложения

Основные модули

  • src/app/ - основное приложение и конфигурация
  • src/pages/ - страницы приложения (lazy-loaded)
  • src/components/ - переиспользуемые компоненты
  • src/services/ - сервисы для работы с данными

Ключевые возможности

  • Управление территориями - создание, редактирование, удаление
  • Управление устройствами - привязка устройств к территориям
  • Управление клиентами - регистрация, поиск, связывание клиентов
  • Система платежей - регистрация и история платежей
  • BLE устройства - сканирование и управление Bluetooth устройствами
  • Синхронизация данных - обмен данными с внешним API
  • Импорт/экспорт - резервное копирование данных

Хранение данных

Приложение использует localStorage браузера для хранения данных:

  • Территории и их настройки
  • Устройства территорий
  • Клиенты и их связи
  • История платежей

Дополнительная помощь

Для получения дополнительной помощи по Angular CLI используйте:

ng help

Или посетите Angular CLI Overview and Command Reference.