Files
finance/CONTEXT.md
T
k1nq d582f15681 feat: add tests for import polling, login page, money utilities, and query keys
- Implemented tests for import polling functionality, ensuring correct behavior for active and terminal import statuses.
- Created tests for the login page, validating user interactions and error handling.
- Added unit tests for money utility functions, covering parsing, formatting, and summation of monetary values.
- Developed tests for query keys, ensuring proper scoping and invalidation roots.

chore: setup testing environment and configuration

- Added setup file for testing with Vitest and Testing Library.
- Configured TypeScript and Vite for the frontend project.
- Created Docker and Nginx configurations for local development and production environments.
- Established a PostgreSQL initialization script for setting up application roles.

docs: add README and environment configuration for infra

- Included README for the infra directory, detailing local development setup and service descriptions.
- Created an example environment configuration file for local development with placeholders for sensitive information.
2026-09-14 09:26:33 +05:00

4.1 KiB

Domain Context

  • Пользователь (User): подтверждённая личность, которая входит в приложение.
  • Финансовое пространство (Financial Space): единая граница владения счетами, операциями, бюджетами и справочниками.
  • Участие (Membership): связь пользователя с финансовым пространством и ролью owner либо member.
  • Финансовый счёт (Financial Account): место учёта собственных денег либо долга; карта является банковским инструментом, а не счётом.
  • Операция (Operation): пользовательский финансовый факт: расход, доход, внутренний перевод или возврат.
  • Проводка (Posting): изменение остатка одного внутреннего финансового счёта в рамках операции.
  • Внутренний перевод (Internal Transfer): одна операция с двумя противоположными проводками по собственным счетам; не доход и не расход.
  • Возврат (Refund): отдельная операция, полностью или частично связанная с исходным расходом; не доход.
  • Импорт выписки (Statement Import): загруженный документ и процесс его проверки и применения.
  • Попытка разбора (Parse Run): версионированный результат конкретного parser adapter для одного документа.
  • Исходная запись (Source Record): неизменяемый извлечённый банковский факт с происхождением в документе.
  • Получатель (Payee): нормализованное пространство-локальное имя магазина, сервиса или человека с алиасами исходных описаний.
  • Бюджетный период (Budget Period): календарный месяц в часовом поясе пользователя со статусом open либо closed.
  • Общий пул (General Pool): фактически доступные, но ещё не распределённые деньги пространства; может быть отрицательным.
  • Плановое назначение (Plan Assignment): доля текущих и ожидаемых денег, которую пользователь намерен направить категории.
  • Обеспечение (Funding): фактически поступившие деньги, перемещённые из общего пула в категорию или резерв.
  • Месячная категория (Monthly Category): назначение расходов, остаток которого при закрытии сворачивается в общий пул.
  • Накопительный конверт (Savings Envelope): виртуальный обеспеченный резерв без обязательной цели или срока, переносимый между месяцами.
  • Резерв кредитки (Credit Reserve): постоянный системный резерв конкретной кредитки для будущего погашения долга.
  • Ожидаемый доход (Expected Income): плановое поступление с датой, суммой и источником, отдельно сопоставляемое фактическим доходам.
  • Источник дохода (Income Source): необязательная классификация происхождения фактического или ожидаемого поступления.