- Stack: Vue 3, Vite, Pinia, Vuetify 3, GSAP, VueUse, vite-plugin-pwa
- Features: Vertical timeline museum with key advancements, cable builder with preview, cross-section views, interactive explorer mode with zoom/animations, quiz trivia dialogs, user passport for progress tracking, dialogs with video/gallery, animated theme, PWA-ready, GitHub Pages friendly
- Museum: Explore cable history through an interactive vertical timeline. Click eras for stories, videos, and facts.
- Cable Builder: Design custom cables by selecting wires, insulation, and connectors. See live SVG preview and specs.
- Passport: Track your exploration progress, view visited eras, and manage saved cables.
pnpm i # or npm i / yarn
pnpm devOpen http://localhost:5173/cable-museum/ if base is applied, or http://localhost:5173 depending on your setup.
pnpm build
pnpm preview- JSON at
public/content/cable_eras.json - Images in
public/images/and icons inpublic/icons/
The app is pre-configured for automatic deployment to GitHub Pages:
- Push your code to the
mainbranch - GitHub Actions will automatically build and deploy to Pages
- Your site will be available at
https://[username].github.io/cable-museum/
npm run deploy # Builds and deploys to gh-pages branch- Base path:
/cable-museum/(configured invite.config.ts) - PWA-ready with service worker caching
.nojekyllfile prevents Jekyll processing- SPA routing compatible with GitHub Pages
- Go to Settings → Pages
- Set source to "GitHub Actions" (recommended) or "Deploy from a branch" →
gh-pages - The site will be live at your GitHub Pages URL
- vite-plugin-pwa is configured for
autoUpdateand caches built assets. - Manifest at
public/manifest.webmanifestand icon atpublic/icons/icon.svg.
- Works on mobile/desktop, keyboard activations on timeline cards, proper color contrast in dark theme.