Next.js App Router frontend for FrameFlux.
- Next.js 16.3.4
- React 19.2.8
- TypeScript
- npm
- Playwright
For local development:
- Node.js 22+
- npm
For Docker:
- Docker
- Docker Compose
The backend is maintained in a separate repository and must be running separately when the frontend makes API requests.
Install dependencies and start the existing Next.js development server:
npm install
npm run devThe frontend runs at:
http://localhost:3000
The existing API client reads:
NEXT_PUBLIC_API_URL
The application uses this value for browser-to-backend API requests.
For the default local backend:
NEXT_PUBLIC_API_URL=http://localhost:8000
Do not hardcode the backend URL into Docker configuration outside the environment/build-argument mechanism.
Because this is a NEXT_PUBLIC_ variable, the value is embedded into the Next.js client bundle during the build.
The frontend repository is completely independent from the backend repository.
Run:
docker compose up --buildThe container:
- Installs dependencies with the existing
package-lock.jsonusingnpm ci. - Runs the existing
npm run buildcommand. - Runs the existing
npm run startcommand. - Exposes port
3000.
The frontend is available at:
http://localhost:3000
No backend, PostgreSQL, Redis, worker, or other service is started by this repository.
Set the API URL at build time when the backend is exposed on a different host/port:
NEXT_PUBLIC_API_URL=http://localhost:8000 docker compose up --buildThe default is already http://localhost:8000.
docker compose downdocker compose up --build| Variable | Required | Purpose |
|---|---|---|
NEXT_PUBLIC_API_URL |
No | Base URL of the separately running FrameFlux backend. |
No secrets are required by the frontend container itself.
Start the backend separately from FrameFlux-Backend before using API-backed features:
cd FrameFlux-Backend
python run.pyThen start the frontend from this repository with either npm run dev or Docker Compose.