Skip to content
/ virens Public

Homebrew Hub web frontend, in Nuxt 3. Powered by webassembly builds of binjgb and mGBA.

License

Notifications You must be signed in to change notification settings

gbdev/virens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

19c6359 · Jan 15, 2025
Sep 18, 2024
Jun 3, 2024
Dec 18, 2024
May 5, 2022
Apr 14, 2024
Jan 15, 2025
Jan 15, 2025
Dec 14, 2024
May 3, 2022
May 26, 2022
Mar 14, 2023
Apr 14, 2024
Jan 15, 2025
Apr 14, 2024
Dec 14, 2024
Dec 10, 2024
Dec 14, 2024
Apr 14, 2024
May 3, 2022
Apr 14, 2024

Repository files navigation

virens

build + deploy

Experimental Homebrew Hub frontend in Nuxt 3, consuming the new Homebrew Hub API.

The GB/GBC emulation is powered by the binjgb emulator, running in the browser via WebAssembly. The GBA emulation is provided in a similar fashion by mGBA.

The UI component library used is PrimeVue.

Setup

Install dependencies:

yarn

Development Server

Start the development server on http://localhost:3000

yarn dev

By default, the base API is set to https://hh3.gbdev.io, you customise this by setting the BASE_API_URL environment variable to an instance of the Homebrew Hub API (be sure to have CORS set up correctly on that side).

E.g., if you're running the backend server locally:

BASE_API_URL=http://localhost:8000 yarn dev

Production

Build the application for production:

yarn build

Locally preview production build:

yarn preview

Deploy

Deployment to hh.gbdev.io is handled by a GitHub Action:

  • This GitHub repository has Pages set up to serve from the gh-pages branch;
  • A CNAME DNS record on hh.gbdev.io points to GitHub servers;
  • Every time there's a push to the master branch, the deploy.yml GitHub Action gets triggered, running npm run build and uploading the result build in the gh-pages branch of this repository which in turns gets served by GitHub Pages;
  • A "CNAME" file is in the build directory, containing "hh.gbdev.io";
  • A '.nojekyll' file is needed to allow the _nuxt folder to be statically served (otherwise ignored by a standard Jekyll build).

Acknowledgements

@binji for the emulator and the additional browser code to make the wasm build work. mrioa and aes for their nuxt knowledge.

Virens? The name of this project comes from Flavo-virens and Atro-virens, two colors from Saccardo's chromotaxy scale, proposed by an Italian mycologist in 1894, for standardizing color naming of plant specimens. They are similar to the shades in the original Game Boy palette.