Issue 1: repo scaffold and project structure
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# Ten31Portal — v1 Issue Specs
|
||||
|
||||
Internal system of record for Ten31 entities, holdings, positions, and quarterly valuation sign-off. Replaces Carta for internal use. Self-hosted on StartOS.
|
||||
|
||||
## Stack (baked in, override if you disagree)
|
||||
|
||||
- Backend: FastAPI, SQLModel, SQLite, Alembic migrations
|
||||
- Frontend: React, Vite, Tailwind
|
||||
- Auth: session cookies, server-side sessions, bcrypt or argon2 password hashing
|
||||
- Money: stored as integer cents. Never float in the DB. Format to dollars only at the view layer.
|
||||
- Dates: `investment_date` is a date. Valuation quarter is stored as a quarter-end date (e.g. 2026-06-30).
|
||||
- Packaging: StartOS 0.4.0 service, single data volume, platform backups cover the DB.
|
||||
|
||||
## Conventions (every issue)
|
||||
|
||||
- One concern per commit. YAGNI. No speculative abstraction.
|
||||
- Type hints everywhere. Pydantic/SQLModel for all shapes crossing a boundary.
|
||||
- No PRs. Build directly.
|
||||
- House style in any user-facing copy: short sentences, no hype, no em-dashes.
|
||||
|
||||
## Scope guard for all of v1
|
||||
|
||||
In: entities, holdings, positions, valuation rounds, sign-off workflow, audit log, four roles, CSV import, three read views, one workflow view, StartOS packaging.
|
||||
|
||||
Out (phase 2, do not build): LP access and per-LP isolation, the partner / capital-account side (capital calls, allocations, K-1s), IRR / TVPI / DPI / RVPI computation, BTC or sats denomination, charts.
|
||||
Reference in New Issue
Block a user