HitKeep's dashboard is an Angular 21 application that also builds the lightweight tracking snippet (hk.js).
To start a local development server, run:
ng serveOnce the server is running, open your browser and navigate to http://localhost:4200/. The application will automatically reload whenever you modify any of the source files.
From the repo root, make dev starts both the Go backend and this dashboard together. make dev-seed does the same with seeded demo data.
Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
ng generate component component-nameFor a complete list of available schematics (such as components, directives, or pipes), run:
ng generate --helpTo build the dashboard only, run:
ng buildThis will compile your project and store the build artifacts in the dist/ directory. By default, the production build optimizes your application for performance and speed.
To build the production dashboard bundle, optimize translations, rebuild hk.js, and sync the result into the Go app's embedded public/ directory, run:
npm run build:prodThe Scalar API Reference runtime (vendor/scalar/standalone.js) is copied into the build output from node_modules/@scalar/api-reference/dist/browser/standalone.js via Angular assets configuration, so it always matches the installed npm package version.
To execute unit tests, use:
ng testFor the real seeded end-to-end suite, run:
ng e2eThis workspace wires ng e2e to the Playwright suite that CI uses. The launcher:
- builds the production dashboard bundle
- builds the Go binary
- seeds realistic demo data
- starts a disposable local HitKeep instance
- runs the browser journeys against the real app
If you want to call Playwright directly while iterating on a focused spec, use:
npm run test:e2e -- e2e/auth.seeded.spec.js --workers=1On a fresh machine, install the browser dependency first:
npx playwright install --with-deps chromiumFor more information on using the Angular CLI, including detailed command references, visit the Angular CLI Overview and Command Reference page.