A modern interview preparation platform built with Next.js (App Router), TypeScript, and Tailwind CSS.
- ▲ Next.js 16 (App Router) - server-rendered routes, per-page SEO metadata
- ⚛️ React 18 - Latest React features
- 🎨 Tailwind CSS - Utility-first CSS framework
- 🎭 shadcn/ui - Beautiful, accessible components built with Radix UI
- 📝 TypeScript - Type safety and better developer experience
- 💅 Prettier - Code formatting with import sorting
- 🔍 ESLint - Code linting for best practices
- 🎣 Husky & lint-staged - Pre-commit hooks for code quality
- 📦 Production-ready - Optimized build configuration
power-interview-hero/
├── src/
│ ├── app/ # Routes (Next.js App Router - file-based routing)
│ ├── assets/ # Static assets (images, fonts, etc.)
│ ├── components/ # Reusable React components
│ │ ├── docs/ # Docs section layout/sidebar/markdown rendering
│ │ ├── sections/ # Home page section components
│ │ └── ui/ # shadcn/ui components
│ ├── config/ # Configuration files
│ ├── content/docs/ # Markdown documentation content
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility libraries (cn function, metadata, docs)
│ ├── styles/ # Global styles
│ └── types/ # TypeScript type definitions
├── public/ # Public static files
└── package.json # Project dependencies and scripts
- Node.js 18+ and pnpm
-
Clone the repository:
git clone https://github.com/yourusername/power-interview-hero.git cd power-interview-hero -
Install dependencies:
pnpm install
Start the development server:
pnpm devThe application will be available at http://localhost:3000
Build the application:
pnpm buildServe the production build locally:
pnpm startFormat code with Prettier:
pnpm formatCheck formatting:
pnpm format:checkLint code:
pnpm lintThis project uses shadcn/ui for beautiful, accessible UI components.
- Button - Versatile button with multiple variants (default, destructive, outline, secondary, ghost, link)
- Card - Flexible card component for content grouping
Due to peer dependency conflicts, components are added manually:
-
Install required dependencies:
pnpm add @radix-ui/[package-name]
-
Copy component code from ui.shadcn.com to
src/components/ui/ -
Export the component in
src/components/index.ts
For detailed instructions, see src/components/ui/README.md.
import { Button, Card, CardContent, CardHeader, CardTitle } from '@/components';
<Button variant="default" size="lg">
Click me
</Button>
<Card>
<CardHeader>
<CardTitle>Title</CardTitle>
</CardHeader>
<CardContent>
Content goes here
</CardContent>
</Card>This project deploys to Vercel, which auto-detects Next.js - no custom build configuration needed beyond vercel.json's build command.
See next.config.ts for Next.js configuration options.
See tailwind.config.js for Tailwind CSS customization.
See .prettierrc for code formatting rules.
This project is licensed under the MIT License.
Contributions are welcome! Please feel free to submit a Pull Request.
- Discord: Join our Discord community
- Telegram: @power_interview_ai
- GitHub: PowerInterviewAI/client-app
- Email: team@vectorleappulse.xyz