Web application built for algowars. This project uses Nextjs, tailwindcss, shadcn, vitest, and playwright.
- Node.js 24.5 (matches CI).
- pnpm 11.10.0 — pinned via
packageManagerinpackage.json;corepack enablewill pick it up automatically. - A running
algowars/serverAPI, unless you're pointingNEXT_PUBLIC_API_SERVER_URLat a shared dev environment instead. Seeplaywright/README.mdfor the local Postgres/RabbitMQ/API bootstrap steps.
This project uses pnpm. To install packages, run this command:
pnpm iTo get started you first need create environment variables by running:
cp .env.example .envAnd this will make a copy of the empty .env file. Then fill in:
AUTH0_*— go into Auth0 and create a Next.js web application and an API, then fill in the resulting values.AUTH0_SECRETcan be generated withopenssl rand -hex 32.NEXT_PUBLIC_API_SERVER_URL— where thealgowars/serverAPI is reachable (http://localhost:5041for a locally-running instance).NEXT_PUBLIC_CODEPREVIEW_ORIGIN— the origin serving the React-component-preview iframe runtime (seecodepreview/). This is required: the app throws on startup if it's unset. Unless you're specifically working on that feature, point it at the shared dev deployment — ask a teammate for the current URL, or check thePreviewGitHub Environment's variables.NEXT_PUBLIC_APPLICATIONINSIGHTS_CONNECTION_STRINGis optional — telemetry is skipped when it's unset.
pnpm devServes the app at http://localhost:3000.
pnpm lint # ESLint
pnpm format # Prettier, writes changes
pnpm format:check # Prettier, check onlypnpm build
pnpm startTo test this project run these commands:
pnpm testpnpm test --watchpnpm test:coverageCLI tool for more information: https://vitest.dev/guide/cli
End-to-end tests run against the real, integrated app (a running API, database, and
Auth0 tenant) using Playwright. See playwright/README.md
for prerequisites, how to run them locally, and the tagging system (@smoke,
@regression, @critical).