Self-service portal for Labs64.IO end-users — a Vue 3 single-page app for managing
accounts, subscriptions, and their interactions with the ecosystem's services.
Authentication is handled at the edge via the Traefik auth-proxy (OIDC/JWT). A Java
backend is planned but not yet implemented; see AGENTS.md for the
current layout and developer guide.
- Vue 3 (Composition API) SPA with Bootstrap 5 + Bootstrap Vue Next.
- Runtime configuration injected via a mounted
env.jsonConfigMap — the same image runs in every environment. - Module federation support (
@originjs/vite-plugin-federation) for composing micro-frontends. - Multi-stage Docker build (Node for building, Nginx for serving).
This project includes a ready-to-use Dockerfile for a multi-stage production build using Node.js (for building) and Nginx (for serving the built files).
- Build the frontend assets:
npm run build- Build the Docker image (if needed):
docker build -t customer-portal .- Start the container using Docker Compose, which mounts the local dist folder into the container:
docker compose up -dSee Vite Configuration Reference.
npm installnpm run devnpm run buildRun Unit Tests with Vitest
npm run test:unitRun End-to-End Tests with Cypress
npm run test:e2e:devThis runs the end-to-end tests against the Vite development server. It is much faster than the production build.
But it's still recommended to test the production build with test:e2e before deploying (e.g. in CI environments):
npm run build
npm run test:e2eLint with ESLint
npm run lintThe core of the Labs64.IO Ecosystem is entirely open source and free forever. Community modules are licensed under Apache License 2.0.
