docs: restore README for current PriceForge runtime

This commit is contained in:
2026-02-07 21:50:57 +03:00
parent bf5dce9f18
commit d1ab562282

109
README.md
View File

@@ -1,2 +1,111 @@
# PriceForge
PriceForge — администратор цен и прайслистов для работы с данными MariaDB.
Текущее состояние проекта:
- Runtime: **MariaDB-only**
- Режим запуска: **fail-fast** (если БД недоступна на старте, сервер завершается)
- Основной интерфейс: `/admin/pricing`
- Порт по умолчанию: `8084`
## Возможности
- Администрирование цен компонентов
- Управление прайслистами (Estimate / Склад / Конкуренты)
- Импорт складских данных
- Алерты по ценам и свежести данных
- Диагностика подключения к БД в UI (online/offline индикатор)
## Требования
- Go 1.22+
- MariaDB / MySQL с доступом к рабочей базе (например `RFQ_LOG`)
## Быстрый старт
1. Подготовить конфиг:
```bash
cp config.example.yaml config.yaml
```
2. Проверить параметры в `config.yaml`:
- `server.port` (по умолчанию `8084`)
- `database.host`
- `database.port`
- `database.name`
- `database.user`
- `database.password`
3. Запустить сервер:
```bash
make run
```
или
```bash
go run ./cmd/pfs
```
4. Открыть:
- [http://127.0.0.1:8084/admin/pricing](http://127.0.0.1:8084/admin/pricing)
## Миграции
Запуск миграций:
```bash
go run ./cmd/pfs -migrate
```
При обычном запуске SQL-миграции из `migrations/` также проверяются автоматически.
## Сборка
```bash
make build
make build-release
make build-all
```
Проверка версии:
```bash
./bin/pfs -version
```
## Release-артефакты
Скрипт сборки релиза:
```bash
./scripts/release.sh
```
Он создает архивы в `releases/<version>/` и файл `SHA256SUMS.txt`.
## Запуск на macOS
После скачивания бинарника может сработать Gatekeeper. Выполните:
```bash
xattr -d com.apple.quarantine /path/to/pfs-darwin-arm64
```
После этого бинарник запустится без предупреждения Gatekeeper.
## Основные команды Makefile
```bash
make run # запуск dev-сервера
make build # локальная сборка
make build-release # релизная сборка
make build-all # кросс-компиляция для Linux/macOS/Windows
make test # тесты
make clean # очистка артефактов
```
## Важно
Проект сейчас не использует SQLite в runtime-потоке сервера `pfs`.
Все ключевые операции выполняются напрямую через MariaDB.