Stack
Frontend stack
The libraries and tooling behind the FinanceLab web app.
The web app is one Next.js 16 (App Router) + React 19 application under frontend/src/.
It serves the marketing landing, the public /indexes pages, the dashboard, and the docs from a
single project.
Core
- Next.js 16 (App Router) with three route groups:
(marketing),dashboard,docs. - React 19.
- TypeScript.
UI and styling
- shadcn/ui (the base-nova style, built on Base UI primitives). Components are added
via the
shadcnCLI, never hand-written. Design rule: use stock shadcn components and official blocks, never hand-invent UI. - Tailwind CSS v4. Design tokens live in the
@theme+:root/.darkblocks inglobals.css. - launch-ui (MIT) template for the landing chrome (
section,glow,mockup,navbar,item), adopted verbatim intocomponents/ui/. - lucide-react for icons (never HTML-entity glyphs).
- next-themes for app-wide light / dark theming (
attribute="class", default light).
Data and content
- TanStack Query for dashboard data fetching against the backend routers.
- Recharts for the public
/indexescharts. - Fumadocs for the docs (MDX under
content/docs/**).
Conventions
- Copy is plain ASCII: no em / en dashes, curly quotes, or ellipsis characters.
--brand(#3a86ff) is an accent only (links / active / rings / chart line); container width ismax-w-container(1280px).