Skip to main content
The frontend is a Next.js app that lives in apps/web. It communicates with the NestJS backend over HTTP and proxies auth requests.

Prerequisites

  • Repo cloned and dependencies installed (bun install)
  • Backend running at http://localhost:3001

Environment variables

Copy the example file:

App URLs

Authentication


Start the development server

The app is available at http://localhost:3000.
Running @zuko/web:dev also starts the backend automatically. To start only the Next.js process, use bun nx run @zuko/web:next:dev.

Verify your setup

Open http://localhost:3000 — you should see the Zuko login page.

Sign in with Google

Requires Google OAuth configured in the backend. Click Sign in with Google and authorize the app.

Sign in with email

After seeding the database, log in with e2e@example.com / TestPassword123!.

Useful commands


Troubleshooting

  • Confirm NEXT_PUBLIC_BACKEND_URL=http://localhost:3001 in apps/web/.env
  • Make sure the backend started without errors before opening the frontend
  • Check the backend terminal for startup errors
  • Ensure NEXT_PUBLIC_BETTER_AUTH_INCLUDE_EMAILS_AUTH matches BETTER_AUTH_INCLUDE_EMAILS_AUTH in apps/backend/.env
  • Clear browser cookies and retry
  • Confirm NEXT_PUBLIC_USE_AUTH_PROXY=true is set so auth requests route through the Next.js proxy