https://github.com/acdh-oeaw/template-app-nuxt

Template repository for Nuxt 3 apps

https://github.com/acdh-oeaw/template-app-nuxt

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.3%) to scientific vocabulary

Keywords

frontend
Last synced: 6 months ago · JSON representation

Repository

Template repository for Nuxt 3 apps

Basic Info
Statistics
  • Stars: 6
  • Watchers: 5
  • Forks: 1
  • Open Issues: 5
  • Releases: 0
Topics
frontend
Created almost 3 years ago · Last pushed 7 months ago
Metadata Files
Readme License

readme.md

app template

template repository for nuxt 3 apps.

how to run

prerequisites:

[!TIP]

you can use pnpm to install the required node.js version with pnpm env use 22 --global

set required environment variables in .env.local:

bash cp .env.local.example .env.local

also, set environment variables required by validation and deployment github actions. use "variables" for every environment variable prefixed with NUXT_PUBLIC_, and "secrets" for all others.

install dependencies:

bash pnpm install

run a development server on http://localhost:3000:

bash pnpm run dev

how to test

generate a production build and run end-to-end tests with:

bash pnpm run build pnpm run test:e2e

visual snapshot tests should be run in the template's devcontainer - or a comparable debian bookworm based linux environment -, and can be updated with:

bash pnpm run test:e2e:update-snapshots

how to deploy

  • ask a sysadmin to create a new acdh kubernetes project.
  • create a new namespace in that project via rancher, and set the KUBE_NAMESPACE github variable to that namespace.
  • adjust the app_name, which will be the name of the deployment in the above namespace.
  • set the PUBLIC_URL github variable to the application's public url (e.g. "https://my-app.acdh-dev.oeaw.ac.at"), and set the KUBE_INGRESS_BASE_DOMAIN to the public url's base domain (e.g. "acdh-dev.oeaw.ac.at").
  • when deploying to a production domain (i.e. a domain not ending in "acdh-dev.oeaw.ac.at"), set HELM_UPGRADE_EXTRA_ARGS to --set 'ingress.annotations.cert-manager\.io/cluster-issuer=acdh-prod' for "acdh.oeaw.ac.at" domains, or to --set 'ingress.annotations.cert-manager\.io/cluster-issuer=letsencrypt-prod' for any other non-oeaw domains, and ensure KUBE_INGRESS_BASE_DOMAIN is set correctly.
  • create a service issue in the acdh redmine issue tracker, and set the SERVICE_ID github variable to the issue number. this should match the NUXT_PUBLIC_REDMINE_ID variable in your .env.local file.
  • ensure required build args (prefixed with NUXT_PUBLIC_) are referenced in both the Dockerfile, as well as the validation and deployment pipelines, and set as github variables.
  • ensure required runtime environment variables are referenced in the validation and deployment pipelines, and set as github secrets. github secrets need to be prefixed with K8S_SECRET_ to be automatically copied to the runtime environment. in case you need secrets in the docker build context, you can mount a secret in the Dockerfile.
  • the NUXT_PUBLIC_BOTS variable defaults to "disabled", which signals to web crawlers that the website should not be indexed. when deploying to a production domain (i.e. a domain not ending in "acdh-dev.oeaw.ac.at") this should be set to "enabled".
  • to enable runtime override of public runtimeConfig build values through runtime env vars note the naming conventions.

[!IMPORTANT]

this is a feature exclusive to nuxt 3. for most deployment scenarios it is not needed, but it can be useful for deploying multiple instances from a single build.

if everything is set up correctly, every git push to the main branch will create a new deployment if the validation pipeline passes.

you can reference the template repository for a working setup.

template variants

Owner

  • Name: Austrian Centre for Digital Humanities & Cultural Heritage
  • Login: acdh-oeaw
  • Kind: organization
  • Email: acdh@oeaw.ac.at
  • Location: Vienna, Austria

GitHub Events

Total
  • Issues event: 2
  • Watch event: 1
  • Delete event: 5
  • Push event: 70
  • Pull request event: 5
  • Create event: 2
Last Year
  • Issues event: 2
  • Watch event: 1
  • Delete event: 5
  • Push event: 70
  • Pull request event: 5
  • Create event: 2

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 7
  • Total pull requests: 16
  • Average time to close issues: 7 months
  • Average time to close pull requests: 3 months
  • Total issue authors: 3
  • Total pull request authors: 4
  • Average comments per issue: 1.57
  • Average comments per pull request: 0.0
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 minutes
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • koeaw (3)
  • stefanprobst (1)
  • kkukelka (1)
Pull Request Authors
  • stefanprobst (12)
  • ctot-nondef (2)
  • kkukelka (2)
  • koeaw (1)
Top Labels
Issue Labels
question (1) bug (1) documentation (1)
Pull Request Labels

Dependencies

.github/workflows/build-deploy.yml actions
  • actions/checkout v4 composite
  • docker/build-push-action v5 composite
  • docker/login-action v3 composite
  • docker/metadata-action v5 composite
  • docker/setup-buildx-action v3 composite
.github/workflows/validate.yml actions
  • actions/cache v3 composite
  • actions/checkout v4 composite
  • actions/setup-node v3 composite
  • actions/upload-artifact v3 composite
Dockerfile docker
  • node 20-slim build
package.json npm
  • @acdh-oeaw/eslint-config ^1.0.4 development
  • @acdh-oeaw/eslint-config-nuxt ^1.0.9 development
  • @acdh-oeaw/eslint-config-vue ^1.0.8 development
  • @acdh-oeaw/prettier-config ^1.0.1 development
  • @acdh-oeaw/stylelint-config ^1.0.5 development
  • @acdh-oeaw/tailwindcss-preset ^0.0.16 development
  • @acdh-oeaw/tsconfig ^1.0.1 development
  • @axe-core/playwright ^4.7.3 development
  • @nuxt/devtools ^0.8.5 development
  • @playwright/test ^1.38.1 development
  • @testing-library/user-event ^14.5.1 development
  • @testing-library/vue ^7.0.0 development
  • @types/node ^20.8.2 development
  • ci-info ^3.9.0 development
  • eslint ^8.50.0 development
  • eslint-plugin-tailwindcss ^3.13.0 development
  • is-ci ^3.0.1 development
  • jsdom ^22.1.0 development
  • lint-staged ^14.0.1 development
  • npm-run-all2 ^6.1.0 development
  • nuxt-vitest ^0.11.0 development
  • postcss ^8.4.31 development
  • prettier ^3.0.3 development
  • schema-dts ^1.1.2 development
  • simple-git-hooks ^2.9.0 development
  • stylelint ^15.10.3 development
  • tailwindcss ^3.3.3 development
  • typescript ^5.2.2 development
  • vue-tsc ^1.8.15 development
  • @acdh-oeaw/lib ^0.1.6
  • @fontsource-variable/inter ^5.0.12
  • @nuxt/content ^2.8.5
  • @nuxt/image ^1.0.0-rc.3
  • @nuxtjs/color-mode ^3.3.0
  • @nuxtjs/i18n ^8.0.0-rc.5
  • cva ^1.0.0-beta.1
  • lucide-vue-next ^0.284.0
  • nuxt ^3.7.4
  • radix-vue ^0.4.1
pnpm-lock.yaml npm
  • 1367 dependencies