# Ten31Portal Internal system of record for Ten31 entities, holdings, positions, and quarterly valuation sign-off. ## Prerequisites - Python 3.11+ - Node.js 20+ ## Backend ```bash cd backend python -m venv .venv source .venv/bin/activate pip install -e . uvicorn ten31portal.main:app --reload --port 8000 ``` Health check: `GET http://localhost:8000/api/health` ## Frontend ```bash cd frontend npm install npm run dev ``` Opens at `http://localhost:5173`. Proxies `/api` to the backend on port 8000. ## Project structure ``` ten31portal/ backend/ ten31portal/ # FastAPI application main.py # App object and health endpoint config.py # Env-based configuration pyproject.toml frontend/ src/ App.tsx # Main component main.tsx # Entry point vite.config.ts deploy/ # StartOS packaging (Issue 17) SPEC.md # v1 issue specs ```