ledgerone_backend/docs/feature-list.md
2026-02-24 21:45:18 +00:00

56 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# LedgerOne Feature List
## Implemented
### Backend (NestJS)
- API response wrapper (standardized `data/meta/error` format)
- Transactions API: list + derived update endpoints
- Rules API: list/create/update/execute + suggestion endpoint
- Exports API: CSV generation (raw + derived fields) + export logs
- Accounts API: list + link token stub
- Plaid module: link token + exchange stubs
- Tax module: returns CRUD + export package
- Auth module: register/login using JSON storage
- Storage layer: JSON file persistence (`data/storage.json`)
- Supabase module stub
- Auto-sync service stub
### Frontend (Next.js + Tailwind)
- Landing page UI
- Transactions page
- Rules page + AI suggestions panel
- Exports page
- Tax prep page with all-states selector + John Doe sample dataset
- Login + Register pages
- Next API proxy routes (auth, transactions, rules, exports, tax)
- Liquid / glass UI theme
### Docs & Tests
- Test cases list
- Diagrams (ERD + flows)
- Backend tests: transactions + exports
- Frontend tests: dashboard + transactions
## Partially Implemented / Stubs
- Plaid integration (link/exchange only; no sync)
- Supabase integration (module only)
- Auto-sync service (scaffold only)
- Rules engine: basic conditions/actions only (not full DSL)
- Exporting: JSON/CSV package only (no file storage)
## Not Yet Implemented
- Real database (Postgres) + migrations (Prisma disabled)
- Full CSV import pipeline + deduping
- Rule UI: create/edit/priority drag-drop
- Audit log UI
- MFA + session management
- Stripe billing + plans
- Email integration (Gmail/Postmark)
- Analytics (Plausible)
- Tax e-file provider integration
- Full tax intake flows (W2/1099/deductions/credits)
## Notes
- Current runtime uses JSON storage for dev simplicity.
- Backend endpoints are open (no auth guards enforced).