Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Jun 15:43

[v1.0.0]

Первый стабильный релиз self-hosted приложения для личного учёта финансов.

Добавлено

Установка и инфраструктура

  • Три способа установки: сборка из исходников (make build), Docker (GHCR), бинарники GitHub Releases (Linux, Windows, macOS; amd64 и arm64)
  • Первый запуск через /setup: администратор, пароль с подтверждением, опциональная регистрация
  • Автоматические миграции SQLite (goose) при старте; схема 001019 (одна таблица — один файл)
  • Синхронизация версии приложения в БД (app_version / previous_app_version) при обновлении бинарника
  • Переменные окружения (BUHGALTER_ADDR, BUHGALTER_DATA_DIR, BUHGALTER_LOCALES_DIR, …)
  • Пример nginx reverse proxy + HTTPS; поле внешний URL в админке для работы за прокси
  • CI/CD: тесты, линтеры, сборка Docker-образа при git tag; GoReleaser для релизов

Пользователи и безопасность

  • Регистрация (если разрешена), сессии в cookie (10 дней неактивности)
  • API-токены (Bearer), GET /auth/verify
  • Правила сложности пароля при setup, смене пароля и создании пользователя
  • Изоляция данных по user_id; админ-панель: пользователи, системные настройки, бэкапы, восстановление, диагностика
  • Секретный ключ шифрования токенов уведомлений (set-only в админке)
  • Audit log в logs/audit/YYYY-MM-DD.jsonl

Финансовый учёт

  • Счета: банковские (справочник банков РФ) и наличные, архивация, основной счёт (★)
  • Категории и подкатегории доходов/расходов с иконками, drag-order, главная категория на тип
  • Операции: расход, доход, переводы; плановые операции (future) с активацией по дате
  • Двойной баланс на главной: текущий и прогноз с учётом будущих операций за месяц
  • Долги: единый список должников, погашение, виджет на главной, уведомления по срокам
  • Кредиты: график платежей, автосписание в полночь по timezone пользователя, досрочные платежи, закрытие и удаление

Импорт, экспорт, аналитика

  • Импорт CSV/XLSX с маппингом колонок (preset Cubux)
  • Экспорт операций в CSV
  • Статистика по типам, категориям и периодам; поиск по операциям и комментариям
  • Контекстная сводка на страницах со списками операций

Уведомления

  • Telegram и MAX (official API platform-api2.max.ru); настраиваемые шаблоны и время отправки
  • Уведомления по долгам («я должен» / «мне должны») с учётом timezone

Интерфейс

  • SvelteKit UI: светлая и тёмная тема, русский и английский (svelte-i18n)
  • Настройки: профиль, пароль, счета, категории, импорт, уведомления, API-токены
  • Адаптивная вёрстка, PWA (manifest, service worker, иконки)
  • Toast-уведомления, пустые состояния, единые диалоги (без window.confirm)

API и документация

  • REST API /api/v1/… с полным OpenAPI (описания на русском)
  • Интерактивная документация: Redoc на /docs
  • Документация в docs/: установка, модель данных, UI-гайды, импорт Cubux

База данных

  • Все изменения в базе данных - через миграции

Локализация

  • Локали сервера вынесены из бинарника (server/locales/, volume в Docker)

Техническое

  • Стек: Go 1.26+, SQLite, SvelteKit, встроенный статический фронтенд (embedstatic)
  • Команда make version vX.Y.Z — единая простановка semver во всех артефактах (VERSION, OpenAPI, Dockerfile, …)

Коммиты

Changelog

  • 0bc2ef8 Release v1.0.0: первый стабильный релиз.

Docker

Вложения docker-compose.yaml и .env — тот же compose из репозитория; .env задаёт BUHGALTER_IMAGE_TAG=1.0.0.

docker pull ghcr.io/kai-zer-ru/buhgalter:1.0.0
docker compose -f docker-compose.yaml up -d

Или без compose:

docker run -d --name buhgalter \
  -p 8765:8765 \
  -v buhgalter-data:/app/data \
  -v buhgalter-backups:/app/backups \
  --restart unless-stopped \
  ghcr.io/kai-zer-ru/buhgalter:1.0.0