feat(frontend): Next.js 15 + React 19 + Tailwind 4 + lightweight-charts scaffold - #65
Merged
Merged
Conversation
…ts scaffold Pin pnpm@9.15.0 + Node 22. Wire app router with five routes (/, /api, /chart/[index], /methodology, _not-found). Tailwind 4 via @tailwindcss/postcss; lightweight-charts available for #27. ESLint flat config bridges to next/core-web-vitals via FlatCompat. Prettier configured with 100-col width, double quotes, trailing comma. tsconfig strict, paths @/* → ./*, noEmit. Build clean (5 static + 1 dynamic route), pnpm dev serves :3000 with Tailwind classes resolving.
Next.js convention treats app/api/ as the parent directory for route handlers (route.ts files). Having a page.tsx directly at app/api/ creates ambiguity if a future feature adds app/api/route.ts. Rename to app/docs/ to keep the placeholder route stable and free the app/api/ namespace for any future API-side work.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Frontend skeleton lands. First TypeScript surface in the repo. Establishes the Next.js + Tailwind + lightweight-charts stack the landing (#26) and chart (#27) issues build on.
Stack
@tailwindcss/postcss)next/core-web-vitals+next/typescriptviaFlatCompatRoutes
App router file layout:
Five user-facing routes plus
_not-found. Every body is a thin placeholder — copy + chart UI land in #26 / #27. Scaffold ships first so those issues don't have to do scaffold work + their own work in one PR.Verification
pnpm installpnpm typecheck(tsc --noEmit)pnpm lint(next lint)pnpm buildpnpm devsmokecurl :3000/→ 200, 29152 bytes, Tailwind classes render,<title>VolX</title>First-attempt build error (resolved)
@tailwindcss/postcss@4.0.0is incompatible with the postcss version Next 15.1 ships — build failed withMissing field 'negated' on ScannerOptions.sources. Bumped bothtailwindcssand@tailwindcss/postcssto4.0.17; build clean. Noted for future Tailwind 4 + Next 15 work.Out of scope
/chart/[index]candle rendering + WS subscribe (Frontend:/chart/[index]candle chart + live WS #27)/methodologybody (M0 DraftMETHODOLOGY.md#6 content goes here later)/apibody (M3+ if API keys revive)Notes
@theme inlineinglobals.css) — notailwind.config.ts. This is the v4 way.next.config.tshasexperimental.typedRoutesenabled so future<Link href="/chart/bvol">gets compile-time path validation.pnpm-lock.yaml).node_modulesexcluded via existing.gitignore.next-env.d.tsregenerated bynext lint; matches the upstream skeleton with the/api-reference/config/typescriptdoc link form.Test plan
pnpm installcleanpnpm typecheckcleanpnpm lintcleanpnpm buildcleanpnpm devserves :3000 with HTTP 200/,/methodology,/api,/chart/bvol,/chart/evol— all render placeholderFixes #25