d582f15681
- 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.
4.1 KiB
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): необязательная классификация происхождения фактического или ожидаемого поступления.