Web App (BME-KONZA-web-platform)
The public knowledge-base web app (browse resources, expert Q&A, search, request a manual).
⚠️ Domain — resolved & open.
hq.bme-konza.orgis not this repo — it is the MkDocs developer-documentation site, repoBME-KONZA-HQ(see 18-dev-docs-hq.md). So the domain this Nuxt web app is served on is currently unconfirmed (nothing in the repo pins a hostname).[TODO: which domain serves BME-KONZA-web-platform — e.g. www/app.bme-konza.org — and confirm it's deployed.]
Stack
- Nuxt 3 as a client-side SPA (
ssr: false), Vue 3, Pinia, Tailwind 4, Flowbite, FontAwesome, axios. - Firebase (web SDK) for auth/storage; nuxt-gtag for Google Analytics.
- Extras:
nuxt-easy-lightbox,vue-pdf-embed(view manuals),izitoast/nuxt-toast. - Node 24.
Layout
pages/ # index.vue, resources/, expert_qa/, search/, request-manual.vue, [...all].vue
components/, composables/, layouts/, stores/ (Pinia), services/, plugins/, utils/, types/
server/ # minimal (SPA, no SSR server routes to speak of)
firebaseConfig.ts
nuxt.config.ts
public/, assets/
Configuration
.env (see .env.example):
| Var | Purpose |
|---|---|
VITE_BASE_URL |
API base URL |
VITE_FIREBASE_API_KEY, VITE_FIREBASE_AUTH_DOMAIN, VITE_PROJECTID, VITE_STORAGEBUCKET, VITE_MESSAGINGSENDERID, VITE_APP_ID |
Firebase web config |
VITE_GOOGLE_MEASUREMENT_ID / GOOGLE_MEASUREMENT_ID |
GA measurement ID (nuxt-gtag) |
VITE_ENV |
environment marker |
[TODO: prod values → vault. Confirm which Firebase project the web app points at —(prod) per [11](firebase.md).]
Build & run
npm install # runs nuxt prepare (postinstall)
npm run dev # local dev server
npm run generate # static/SPA build
npm run preview
npm run lint # eslint (CI gate)
Deploy
Tag staging-v* / v* → CI build/lint → Coolify webhook → hq.bme-konza.org. Build method
in Coolify: [TODO: Docker or nixpacks?]. See 03-deploy-and-releases.md.