27 lines
739 B
Markdown
27 lines
739 B
Markdown
# Architecture
|
|
|
|
## Stack
|
|
|
|
- Nuxt 3 + Vue 3 + TypeScript
|
|
- Tailwind CSS
|
|
- Prisma ORM
|
|
- PostgreSQL
|
|
- Docker Compose
|
|
- PWA via `@vite-pwa/nuxt`
|
|
|
|
## Routes
|
|
|
|
- `/login`: 로그인
|
|
- `/`: 월별 거래 내역
|
|
- `/add`: 수입/지출 입력
|
|
- `/stats`: 월별 요약과 카테고리 합계
|
|
- `/settings`: 자산/카테고리 관리
|
|
|
|
## Data Principles
|
|
|
|
- 거래 데이터가 금액 계산의 Source of Truth입니다.
|
|
- 자산 잔액은 DB에 현재값으로 저장하지 않고 거래 합계로 계산합니다.
|
|
- `cumulative` 자산은 최초 잔액과 전체 거래 합계로 계산합니다.
|
|
- `monthly_reset` 자산은 조회 중인 월의 거래만 계산합니다.
|
|
- 카테고리와 자산은 삭제보다 비활성화를 우선합니다.
|