A personal portfolio website built with Vite, React, and TypeScript showcasing my professional experience and skills in software engineering and quality assurance.
- Vite
- React 18
- TypeScript
- React Router
- React Helmet Async
- CSS Modules
- Responsive Design
- Theme Switching (Dark/Light Mode)
- Netlify Hosting
- Install Dependencies
npm install- Start Development Server
npm run devThe site will be running at http://localhost:8000
- Build for Production
npm run build- Preview Production Build
npm run previewRun tests with:
npm testWatch mode:
npm test:watchCoverage report:
npm test:coverageThe site is configured for Netlify deployment:
- Build command:
npm run build - Publish directory:
dist - Node version: 20
The build automatically runs tests before creating the production bundle.
This repo is the single source of truth for resume profile data (src/data/profileData.ts). A post-commit hook automatically syncs changes to downstream targets (lobresume, career-ops) when profileData.ts is committed.
After cloning, enable the git hooks:
git config core.hooksPath .git-hookspython3 scripts/sync-career-ops.py # sync all targets
python3 scripts/sync-career-ops.py --check # dry runSee .git-hooks/README.md for details.