Before you begin, make sure you have Node.js 18 or later and npm installed on your machine. The project uses Vite 8 as its build tool, which requires a modern Node runtime. No other global tools are needed — everything else is installed as a local dependency.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/blairxu13/persona3-website/llms.txt
Use this file to discover all available pages before exploring further.
Install dependencies
Install all npm packages declared in This installs React 19, React Router DOM 7, Framer Motion 12, and all dev dependencies including Vite 8 and
package.json:@vitejs/plugin-react.Add video and image assets
The repository does not include media files. Before the app can render correctly, you must place the following files inside
Image files:
src/assets/:Video files (imported directly in App.jsx):| File | Used by |
|---|---|
Mainn.mp4 | Main menu background (/) |
main1.mp4 | About Me background (/about) |
main2.mp4 | Resume background (/resume) |
main3.mp4 | Socials background (/socials) |
| File | Used by |
|---|---|
char1.png | Character portrait — bar row 1 |
char2.png | Character portrait — bar row 2 |
char3.png | Character portrait — bar row 3 |
mainm.jpeg | About Me reveal portrait 1 |
mainm2.jpeg | About Me reveal portrait 2 |
mainf.jpeg | About Me reveal portrait 3 |
hero.png | Hero image |
icon1.png | Stat bar icon — platform 1 |
icon2.png | Stat bar icon — platform 2 |
icon3.png | Stat bar icon — platform 3 |
newsign.png | ”New” badge overlay on Socials bars |
card.png | Card asset |
The original assets are shared via Google Drive. If you are customizing this for your own portfolio, you can substitute any MP4 videos and PNG/JPEG images of your choice as long as the filenames match those listed above, or update the import paths in the relevant component files.
Available Scripts
All scripts are defined inpackage.json and run through npm:
| Script | Command | Description |
|---|---|---|
dev | vite | Starts the Vite dev server with hot module replacement |
build | vite build | Produces a production-optimised static bundle in dist/ |
build:watch | node scripts/watch-build.mjs | Runs a production build and re-builds automatically whenever source files change |
preview | vite preview | Serves the dist/ build locally to preview the production output |
lint | eslint . | Runs ESLint across the entire project |
Vite Configuration
The project uses a minimal Vite config that enables the React plugin for JSX and fast refresh:vite.config.js