Michael Chus f64c4fd6b2 feat: optimize background tasks and fix warehouse pricelist workflow
Optimize task retention from 5 minutes to 30 seconds to reduce polling overhead since toast notifications are shown only once. Add conditional warehouse pricelist creation via checkbox. Fix category storage in warehouse pricelists to properly load from lot table. Replace SSE with task polling for all long operations. Add comprehensive logging for debugging while minimizing noise from polling endpoints.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-16 11:08:10 +03:00
2026-02-07 21:42:26 +03:00
2026-02-07 21:42:26 +03:00
2026-02-08 08:57:52 +03:00
2026-02-08 08:57:52 +03:00
2026-02-08 21:39:59 +03:00
2026-02-08 08:57:52 +03:00

PriceForge

PriceForge — администратор цен и прайслистов для работы с данными MariaDB.

Текущее состояние проекта:

  • Runtime: MariaDB-only
  • Режим запуска: fail-fast (если БД недоступна на старте, сервер завершается)
  • Основной интерфейс: /admin/pricing
  • Порт по умолчанию: 8084

Возможности

  • Администрирование цен компонентов
  • Управление прайслистами (Estimate / Склад / Конкуренты)
  • Импорт складских данных
  • Алерты по ценам и свежести данных
  • Диагностика подключения к БД в UI (online/offline индикатор)

Требования

  • Go 1.22+
  • MariaDB / MySQL с доступом к рабочей базе (например RFQ_LOG)

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

  1. Подготовить конфиг:
cp config.example.yaml config.yaml
  1. Проверить параметры в config.yaml:
  • server.port (по умолчанию 8084)
  • database.host
  • database.port
  • database.name
  • database.user
  • database.password
  1. Запустить сервер:
make run

или

go run ./cmd/pfs
  1. Открыть:

Миграции

Запуск миграций:

go run ./cmd/pfs -migrate

При обычном запуске SQL-миграции из migrations/ также проверяются автоматически.

Сборка

make build
make build-release
make build-all

Проверка версии:

./bin/pfs -version

Release-артефакты

Скрипт сборки релиза:

./scripts/release.sh

Он создает архивы в releases/<version>/ и файл SHA256SUMS.txt.

Запуск на macOS

После скачивания бинарника может сработать Gatekeeper. Выполните:

xattr -d com.apple.quarantine /path/to/pfs-darwin-arm64

После этого бинарник запустится без предупреждения Gatekeeper.

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

make run           # запуск dev-сервера
make build         # локальная сборка
make build-release # релизная сборка
make build-all     # кросс-компиляция для Linux/macOS/Windows
make test          # тесты
make clean         # очистка артефактов

Важно

Проект сейчас не использует SQLite в runtime-потоке сервера pfs. Все ключевые операции выполняются напрямую через MariaDB.

Description
No description provided
Readme 261 MiB
Languages
Go 47.2%
CSS 24.7%
JavaScript 16.2%
HTML 11.5%
Makefile 0.2%
Other 0.2%