ГПН Мониторинг
First usage
Запуск с разворачиванием окружения с помощью docker.
Клонирование проекта:
git clone https://gitflic.ru/project/one/armonsys.git
Установка docker - https://docs.docker.com/engine/install/
В корне проекта необходимо создать файл .env
со следующими переменными:
Обязательно:
DEBUG
- включен ли режим Дебага для FastAPIPOSTGRES_USER
- имя пользователя postgresPOSTGRES_PASSWORD
- пароль для postgresPOSTGRES_HOST
- хост для postgresPOSTGRES_PORT
- порт для postgresREDIS_HOST
- хост для redisREDIS_PORT
- порт для redisREDIS_PASSWORD
- пароль для redisJWT_SECRET_KEY
- секретный ключ для шифрования JWT токеновVITE_API
- путь к апи (пример: http://127.0.0.1/api/v1/)
docker compose up -d --build
Разработка
Бэкенд
Для управления зависимостями используется pipenv. Если pipenv не установлен, установить:
-
MacOS:
brew install pipenv
, -
Linux:
sudo pip install pipenv
, -
Windows:
pip install pipenv
Затем
pipenv install
- Создание нового виртуального окружения и установка зависимостей для разработки.pipenv run pre-commit install
- установка pre-commit скриптов.
Запуск
Запуск локально через Docker:
docker compose up -d --build
Swagger будет доступен по адресу http://127.0.0.1/api/docs/
Админ Панель будет доступна по адресу http://127.0.0.1/api/admin/
Запуск тестов
docker compose -f docker-compose-tests.yml run ams-tests-core pytest
Структура проекта
backend/src
- рабочий каталог, содержит код сервера FastAPI и основной файлmain.py
.env
- необходимо создать. Должен присутствовать в .gitignore! Содержит используемые для работы переменные (об этом ниже). Доступ к переменным из кода получаем с помощьюos.enveron.get('var_name',default_value)
.env.template
- Пример необходимых переменных..gitignore
gitlab-ci.yml
- настройки ci/cd.pre-commit-config.yml
- настройка pre-commit (документация)docker-compose.yml
- конфигурация docker-compose для локального использования.backend/Dockerfile
- конфигурация контейнера для локального использования.docker-compose-dev.yml
- конфигурация docker-compose для использования на сервере разработки.Pipfile
- настройки pipenv, описание зависимостей и тд(заменяет файл requirements.txt).Pipenv.lock
- хранит версии используемых пакетов и их зависимостейpyproject.toml
- хранит настройки некотрых пакетов(pytest, coverage, commitizen)README.md
- этот файл
Переменные окружения
Также в корне проекта необходимо создать файл .env со следующими переменными:
Обязательно:
DEBUG
- включен ли режим Дебага для FastAPIPOSTGRES_USER
- имя пользователя postgresPOSTGRES_PASSWORD
- пароль для postgresPOSTGRES_HOST
- хост для postgresPOSTGRES_PORT
- порт для postgresREDIS_HOST
- хост для redisREDIS_PORT
- порт для redisREDIS_PASSWORD
- пароль для redisJWT_SECRET_KEY
- секретный ключ для шифрования JWT токенов
Фронтенд
Основные используемые библиотеки
Библиотека | Описание |
---|---|
React | Библиотека для создания пользовательских интерфейсов |
ConstaUI | Библиотека интерфейсных компонентов |
TanStack Query | Библиотека для управления запросами данных |
zustand | Стейт менеджер |
Запуск проекта
Переход в директорию проекта
cd frontend
Создание файл .env
touch .env
Добавить в .env файл переменную VITE_API, где VITE_API - адрес API, например:
echo VITE_API=https://example.com/route/to/api > .env
Запуск проекта в Docker
Необходимое ПО
- Docker
Сборка образа
docker build -t monitoring-system-front .
Запуск контейнера
docker run -dp 80:80 monitoring-system-front
Локальный запуск проекта или запуск для разработки
Необходимое ПО:
- Node.js >=18.0.0 <19.0.0
- yarn
Установка зависимостей
Необходимо убедиться, что версия node.js >=18.0.0 <19.0.0
yarn install
Запуск проекта локально
yarn build && yarn preview
Запуск проекта для разработки
yarn dev
Прочие скрипты
Линтинг
yarn lint
yarn prettier
Переменные
Переменная | Значение |
---|---|
VITE_API | Эндпоинт бэкенда в формате http://example.com/route/to/api |