Navigation: Client | Back-office | Pogues model
Pogues is a tool that allow to design questionnaires with components that are structural (sequences, questions...) and dynamic (filters, controls, loops...).
This is the repository of the front-end part of Pogues.
For more information on how to use the application, a user documentation is available (French only).
A new client development is currently in progress. It can be accessed in the next folder and will gradually replace the legacy client.
Thanks to Module Federation, both can be deployed at the same time and allow to use new features while keeping the old client in a dedicated page.
New features are developed there if possible.
cd next
pnpm i
pnpm devNeeds a real OIDC issuer and Pogues API (see next/.env).
Without backend / Keycloak (mock auth + fake API):
cd next
pnpm i
pnpm dev:standalone→ http://localhost:5173 — VTL editor via sidebar (variables / codes-lists).
Front and back talk to each other. Fake auth (Guybrush / FAKEPERMISSION), Postgres started with the API (no Docker), one demo questionnaire.
Prerequisites: Java 25, Maven, Node 24, pnpm.
Same commands on macOS, Linux and Windows (PowerShell, Git Bash or cmd).
Terminal 1 — API (from the Pogues-API repo):
mvn spring-boot:runPostgres is started automatically on port 5433. API listens on http://localhost:8081. Swagger: http://localhost:8081/
Terminal 2 — front (from this repo):
pnpm install
pnpm --dir next install
pnpm dev:api→ http://localhost:5173 — questionnaire sheet, variables, code lists. The question editor (legacy) is not loaded in Vite DEV: /questionnaire/:id redirects to /details.
For the full editor (next + legacy) against the same API:
pnpm install:all
pnpm preview:apiTo add a questionnaire, drop a Pogues .json in Pogues-API/local-questionnaires/ and refresh the UI. The file overwrites the same id (on drop and on API restart).
To wipe the local database, stop the API and delete Pogues-API/.local-postgres/.
Config: .env.local-api at the repository root. Details: Pogues-API README.
root, next and legacy each have their own node_modules (not a pnpm workspace).
pnpm install:all
pnpm build
pnpm previewSame without backend / Keycloak:
pnpm install:all
pnpm standalone→ http://localhost:4173 — next + legacy MFE + mock API.
Config: .env.standalone at the repository root.
The legacy client can be launched in standalone if the new client is not needed:
cd legacy
pnpm i
pnpm dev