Getting Started
Quick start guide to set up and run the portfolio locally.
Prerequisites
- Node.js 18+ or 20+
- pnpm 10+ (recommended)
- Git
Installation
- Clone the repository:
git clone https://github.com/TentacioPro/legendary-happiness.git
cd legendary-happiness- Install dependencies:
pnpm install- Run development server:
pnpm dev- Open in browser: Navigate to http://localhost:3000 (opens in a new tab)
Available Scripts
Development
pnpm dev # Start development server
pnpm build # Build for production
pnpm start # Start production serverTesting
pnpm test # Run tests in watch mode
pnpm test:run # Run tests once
pnpm test:ui # Open Vitest UI
pnpm test:coverage # Generate coverage reportCode Quality
pnpm lint # Run ESLint
pnpm format # Format code with PrettierDeployment
# Windows
.\scripts\deploy-composite.ps1
# Linux/Mac
./scripts/deploy-composite.shProject Structure
src/
├── app/ # Next.js App Router
│ ├── layout.tsx # Root layout
│ └── page.tsx # Main portfolio page
├── components/ # Reusable components
├── sections/ # Page sections
├── lib/ # Utilities and helpers
└── utils/ # Helper functions
pages/
└── docs/ # Documentation (Nextra)Configuration Files
next.config.mjs- Next.js and Nextra configurationtailwind.config.js- TailwindCSS configurationtheme.config.jsx- Nextra theme configurationtsconfig.json- TypeScript configurationvitest.config.ts- Test configuration
Deployment
Deploy to GitHub Pages with multi-version support:
Windows:
.\scripts\deploy-composite.ps1Linux/Mac:
./scripts/deploy-composite.shWhat it does:
- Builds V2 (current) for root deployment
- Builds V1 (legacy) with
/v1basePath - Merges both into single artifact
- Deploys to
gh-pagesbranch - Creates CNAME for custom domain
Result:
- V2:
https://abishek-maharajan.online - V1:
https://abishek-maharajan.online/v1
See the Deployment Guide → for detailed instructions.