f64c4fd6b28d09403aaa72cb325af5d5c053ac79
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>
PriceForge
PriceForge — администратор цен и прайслистов для работы с данными MariaDB.
Текущее состояние проекта:
- Runtime: MariaDB-only
- Режим запуска: fail-fast (если БД недоступна на старте, сервер завершается)
- Основной интерфейс:
/admin/pricing - Порт по умолчанию:
8084
Возможности
- Администрирование цен компонентов
- Управление прайслистами (Estimate / Склад / Конкуренты)
- Импорт складских данных
- Алерты по ценам и свежести данных
- Диагностика подключения к БД в UI (online/offline индикатор)
Требования
- Go 1.22+
- MariaDB / MySQL с доступом к рабочей базе (например
RFQ_LOG)
Быстрый старт
- Подготовить конфиг:
cp config.example.yaml config.yaml
- Проверить параметры в
config.yaml:
server.port(по умолчанию8084)database.hostdatabase.portdatabase.namedatabase.userdatabase.password
- Запустить сервер:
make run
или
go run ./cmd/pfs
- Открыть:
Миграции
Запуск миграций:
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
Languages
Go
47.2%
CSS
24.7%
JavaScript
16.2%
HTML
11.5%
Makefile
0.2%
Other
0.2%