# UTMS Next.js Frontend Setup ## Install ```bash npm install ``` ## Environment Create `.env.local` from `.env.example`: ```bash NEXT_PUBLIC_API_BASE_URL=http://localhost:9191 NEXT_PUBLIC_DEFAULT_TENANT=acme NEXT_PUBLIC_LOCALE=en NEXT_PUBLIC_AUTH_MODE=local ``` ## Run ```bash npm run dev ``` Application opens on: - `http://localhost:3000/login` for sign-in - `http://localhost:3000/dashboard` for admin pages ## Notes - JWT token and tenant are persisted in localStorage via Zustand. - `tenant` and `locale` are kept across refresh. - 401 and 403 are handled globally in Axios interceptor with redirect/toast. - `LOGIN` errors show backend message directly, including lockout and LDAP provisioning errors.