# 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` 자산은 조회 중인 월의 거래만 계산합니다. - 카테고리와 자산은 삭제보다 비활성화를 우선합니다.