A complete, fully functional frontend for the InterviewLytics AI-powered hiring platform, built according to detailed specifications with Next.js, TypeScript, Tailwind CSS, and Chart.js.
- Modern hero section with animated elements
- Features showcase with AI-powered capabilities
- How it works process explanation
- User testimonials and success stories
- Pricing plans (Free, Pro, Enterprise)
- Responsive design for all devices
- Separate login pages for candidates and recruiters
- Dedicated signup forms with role selection
- Form validation and error handling
- Password visibility toggle
- Social login options (Google, Twitter)
- Secure authentication context
- Dashboard with key metrics and analytics
- Jobs Management - Create, edit, delete job postings
- Applicants Management - Review and manage candidates
- Analytics - Charts and insights with Chart.js
- Profile Settings - Account management
- Dashboard with application tracking
- Applications - View all job applications
- AI Interview - Chat-style interview interface
- Feedback - Detailed performance analysis with radar charts
- Profile - Resume upload and account settings
- Bar charts for application trends
- Radar charts for skills assessment
- Real-time metrics and KPIs
- Interactive dashboards
- Framework: Next.js 14 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- Charts: Chart.js with react-chartjs-2
- Animations: Framer Motion
- Icons: Lucide React
- Forms: React Hook Form
- Notifications: React Hot Toast
- State Management: Zustand + React Context
Frontend/
βββ app/
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout with providers
β βββ page.tsx # Landing page
β βββ about/page.tsx # About page
β βββ contact/page.tsx # Contact page
β βββ pricing/page.tsx # Pricing page
β βββ features/page.tsx # Features page
β βββ login-candidate/page.tsx # Candidate login
β βββ login-recruiter/page.tsx # Recruiter login
β βββ signup-candidate/page.tsx # Candidate signup
β βββ signup-recruiter/page.tsx # Recruiter signup
β βββ recruiter/
β β βββ layout.tsx # Recruiter layout with sidebar
β β βββ dashboard/page.tsx # Recruiter dashboard
β β βββ jobs/page.tsx # Jobs management
β β βββ applicants/page.tsx # Applicants management
β β βββ analytics/page.tsx # Analytics dashboard
β β βββ profile/page.tsx # Profile settings
β βββ candidate/
β βββ layout.tsx # Candidate layout with sidebar
β βββ dashboard/page.tsx # Candidate dashboard
β βββ applications/page.tsx # Applications tracking
β βββ interview/page.tsx # AI interview interface
β βββ feedback/page.tsx # Performance feedback
β βββ profile/page.tsx # Profile settings
βββ components/
β βββ Navbar.tsx # Main navigation
β βββ Sidebar.tsx # Dashboard sidebar
β βββ ui/ # Reusable UI components
β β βββ Button.tsx
β β βββ Card.tsx
β β βββ Modal.tsx
β β βββ FormInput.tsx
β βββ charts/ # Chart components
β β βββ BarChart.tsx
β β βββ RadarChart.tsx
β βββ [other components]
βββ context/
β βββ AuthContext.tsx # Authentication context
βββ utils/
β βββ apiClient.ts # Mock API client
βββ lib/
βββ utils.ts # Utility functions
- Node.js 18+
- npm or yarn
- Navigate to the frontend directory:
cd Frontend- Install dependencies:
npm install- Run the development server:
npm run dev- Open your browser:
Visit
http://localhost:3000
- Landing page with all sections
- Separate auth pages for candidates/recruiters
- Role-based dashboards with sidebars
- All specified pages and functionality
- Role-based access control
- Protected routes for dashboards
- Login/signup forms with validation
- User context and state management
- Recruiter: Jobs, applicants, analytics, profile
- Candidate: Applications, interview, feedback, profile
- Real-time data with mock API
- Interactive charts and visualizations
- Reusable component library
- Responsive design
- Modern animations
- Toast notifications
- Modal dialogs
- Form components
- Bar charts for trends
- Radar charts for skills
- Interactive dashboards
- Real-time metrics
# Development
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint- Mobile-first approach
- Tablet and desktop optimized
- Touch-friendly interfaces
- Accessible navigation
Update tailwind.config.js:
colors: {
primary: { /* Your primary colors */ },
secondary: { /* Your secondary colors */ }
}All components are modular and easily customizable in the components/ directory.
- Push to GitHub
- Connect to Vercel
- Deploy automatically
npm run build
npm run startThe application includes comprehensive mock data for:
- Job postings and applications
- User profiles and authentication
- Interview messages and feedback
- Analytics and metrics
- Role-based access control
- Protected routes
- Form validation
- Secure authentication flow
- Optimized for speed and SEO
- Lazy loading for components
- Efficient state management
- Minimal bundle size