Mystery Haunting is a spooky-themed single-page application (SPA) built with Vite and React 18. It serves as a fully animated portfolio website featuring ghost effects, eerie transitions, and multiple route-based pages — all bundled as a static site with no server required. This guide walks you through cloning the repository and installing every dependency so you can run or build the project on your own machine.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/mystery-haunting/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, make sure the following tools are installed and available in your terminal:
- Node.js 18 or later — nodejs.org
- npm (bundled with Node.js), yarn, or pnpm
- Git — git-scm.com
Installation
Clone the repository
Clone the Mystery Haunting repository from GitHub and navigate into the project directory:
Verify the installation
Confirm everything is wired up correctly by running a production build. A successful build outputs a You should see Vite report the generated
dist/ folder containing the fully optimised static bundle:dist/ assets — including assets/main.js and assets/main.css — with no errors. If the build completes cleanly, your local environment is ready.Mystery Haunting is a fully static SPA — there is no backend, database, or server-side runtime to configure. Once dependencies are installed, every feature of the site runs entirely in the browser.
Tech Stack
Mystery Haunting is built on a modern front-end stack. The table below lists each major dependency and its role in the project:| Technology | Role |
|---|---|
| React 18 | UI component library and rendering engine |
| Vite | Lightning-fast dev server and production bundler |
| React Router v6 | Client-side routing between portfolio pages |
| Framer Motion | Declarative animations and page transition effects |
| Tailwind CSS | Utility-first styling, including the spooky dark theme |
| Lucide React | Consistent icon set used throughout the UI |