Loan Review Practice is a lightweight full-stack TypeScript app for live-coding interview prep. It includes a seeded in-memory loan review dashboard, list/detail workflow, status updates, note creation, and a small lint/test/typecheck layer built with ESLint and Vitest.
client/React + Vite frontendserver/Express backend with in-memory application data, run viatsxdocs/interview exercise prompts and facilitator noteseslint.config.mjsshared flat ESLint config
Install dependencies from the repo root:
npm installStart both apps from the repo root:
npm run devDefault URLs:
- Client:
http://localhost:5173 - Server health:
http://localhost:3001/api/health
If 3001 or 5173 are already in use, use override ports:
PORT=4101 CLIENT_PORT=4173 API_TARGET=http://127.0.0.1:4101 npm run devnpm run devstarts the backend and frontend togethernpm run dev:serverstarts only the Express server withtsx watchnpm run dev:clientstarts only the Vite clientnpm run lintruns ESLint across the reponpm run testruns backend and frontend testsnpm run buildbuilds the frontendnpm run typecheckruns the frontend and backend TypeScript checksnpm run checkruns the full repo gate: lint, tests, frontend build, and workspace typechecks
- Application data is stored in memory and resets on server restart.
- Search and filtering stay client-side because the dataset is intentionally small.
- The test suite is intentionally compact and focused on high-value behavior instead of exhaustive coverage.
- The note author is fixed on the server to keep the feature set interview-sized.
- The backend uses
tsxat runtime rather than a compiled server build to keep the repo simple for interview prep.