Skip to content

Ravi0529/HireIQ

Repository files navigation

HireIQ - AI-Powered Interview Platform

Next.js TypeScript Prisma PostgreSQL Redis Docker

πŸš€ Overview

HireIQ is a comprehensive AI-powered interview platform that revolutionizes the hiring process by providing structured, intelligent interviews with real-time feedback and analysis. The platform serves both recruiters and applicants with role-based access, enabling seamless job posting, application management, and AI-conducted interviews.

✨ Key Features

  • πŸ€– AI-Powered Interviews: Conduct structured 5-minute interviews with intelligent question generation
  • πŸ“Š Real-time Analysis: Get instant feedback and scoring on interview responses
  • πŸ‘₯ Dual User Roles: Separate workflows for recruiters and applicants
  • πŸ“ Resume Parsing: Automatic extraction and analysis of candidate information
  • 🎀 Voice Integration: Speech-to-text capabilities with live transcription
  • πŸ“ˆ Analytics Dashboard: Comprehensive insights and performance metrics
  • πŸ” Secure Authentication: NextAuth.js with Google OAuth and credentials
  • 🎨 Modern UI: Built with shadcn/ui, Tailwind CSS, and Framer Motion

πŸ—οΈ Architecture

Tech Stack

  • Frontend: Next.js 15.4.6, React 19, TypeScript
  • Styling: Tailwind CSS 4, shadcn/ui components
  • Animations: Framer Motion
  • Database: PostgreSQL 16 with Prisma ORM
  • Caching: Redis Stack
  • Authentication: NextAuth.js
  • AI Integration: OpenAI GPT-4, Google Gemini
  • Containerization: Docker & Docker Compose

Database Schema

The platform uses a comprehensive PostgreSQL schema with the following main entities:

  • Users: Role-based (recruiter/applicant) with profiles
  • Jobs: Job postings with requirements and status tracking
  • Applications: Application management with interview scheduling
  • InterviewInfo: Interview sessions with Q&A tracking
  • Feedback & Analysis: AI-generated insights and scoring

πŸš€ Quick Start

Prerequisites

  • Docker and Docker Compose
  • Node.js 20+ (for local development)
  • pnpm (recommended package manager)

Environment Setup

  1. Clone the repository

    git clone HireIQ
    cd HireIQ
  2. Create environment file

    cp .env.example .env
  3. Configure environment variables

    # Database
    DATABASE_URL="postgresql://postgres:postgres@localhost:5432/hire-iq"
    
    # Authentication
    AUTH_SECRET="your-auth-secret"
    GOOGLE_CLIENT_ID="your-google-client-id"
    GOOGLE_CLIENT_SECRET="your-google-client-secret"
    
    # AI Services
    OPENAI_API_KEY="your-openai-api-key"
    GEMINI_API_KEY="your-gemini-api-key"
    
    # Redis
    REDIS_URL="redis://localhost:6379"

🐳 Docker Setup (Recommended)

  1. Start all services

    docker-compose up -d
  2. Run database migrations

    docker-compose exec app pnpx prisma migrate deploy
  3. Access the application

πŸ’» Local Development

  1. Install dependencies

    pnpm install
  2. Start PostgreSQL and Redis

    docker-compose up -d db redis
  3. Run database migrations

    pnpx prisma migrate deploy
  4. Start development server

    pnpm dev

πŸ“± Platform Features

For Recruiters

  • Job Management: Create, edit, and manage job postings
  • Application Review: View and analyze candidate applications
  • Interview Analytics: Comprehensive insights and scoring metrics
  • Company Profiles: Manage company information and branding

For Applicants

  • Job Discovery: Browse and apply to relevant positions
  • Interview Practice: AI-conducted mock interviews
  • Resume Upload: Automatic parsing and skill extraction
  • Performance Tracking: Monitor interview performance over time

AI Interview System

  • Smart Question Generation: Context-aware questions based on resume and job requirements
  • Real-time Feedback: Instant analysis of responses
  • Voice Integration: Speech recognition and text-to-speech
  • Structured Scoring: Multi-dimensional evaluation (communication, technical, relevance, problem-solving)

πŸ—‚οΈ Project Structure

src/
β”œβ”€β”€ app/                    # Next.js App Router
β”‚   β”œβ”€β”€ (app)/             # Protected routes
β”‚   β”‚   β”œβ”€β”€ analysis/      # Interview analytics
β”‚   β”‚   β”œβ”€β”€ companies/     # Company management
β”‚   β”‚   β”œβ”€β”€ feedback/      # Interview feedback
β”‚   β”‚   β”œβ”€β”€ job/           # Job management
β”‚   β”‚   └── profile/       # User profiles
β”‚   β”œβ”€β”€ (auth)/            # Authentication pages
β”‚   └── api/               # API routes
β”œβ”€β”€ components/            # Reusable UI components
β”‚   β”œβ”€β”€ ui/               # shadcn/ui components
β”‚   β”œβ”€β”€ interview/        # Interview-specific components
β”‚   β”œβ”€β”€ jobs/             # Job-related components
β”‚   └── profile/          # Profile components
β”œβ”€β”€ lib/                  # Utility libraries
β”œβ”€β”€ types/                # TypeScript type definitions
└── context/              # React contexts

πŸ”§ Available Scripts

# Development
pnpm dev              # Start development server with Turbopack
pnpm build            # Build for production
pnpm start            # Start production server
pnpm lint             # Run ESLint

# Database
pnpm prisma generate  # Generate Prisma client
pnpm prisma migrate   # Run database migrations
pnpm prisma studio    # Open Prisma Studio

🐳 Docker Services

The platform runs on a multi-container setup:

  • app: Next.js application (Port 3000)
  • db: PostgreSQL database (Port 5432)
  • redis: Redis Stack with RedisInsight (Ports 6379, 8001)

Docker Commands

# Start all services
docker-compose up -d

# View logs
docker-compose logs -f app

# Stop services
docker-compose down

# Rebuild and restart
docker-compose up --build -d

πŸ” Authentication & Security

  • NextAuth.js: Secure session management
  • Role-based Access: Separate workflows for recruiters and applicants
  • Password Hashing: bcryptjs for secure password storage
  • Environment Variables: Sensitive data protection
  • CORS Configuration: Secure API endpoints

πŸ€– AI Integration

OpenAI Integration

  • GPT-4: Interview question generation and analysis
  • Text-to-Speech: Voice synthesis for questions
  • Speech Recognition: Voice input processing

Google Gemini

  • Question Generation: Context-aware interview questions
  • Response Analysis: Intelligent feedback generation

πŸ“Š Analytics & Insights

The platform provides comprehensive analytics including:

  • Interview Performance: Multi-dimensional scoring
  • Application Statistics: Success rates and trends
  • Candidate Insights: Detailed feedback and recommendations
  • Recruiter Dashboard: Application management and analytics

πŸš€ Deployment

Production Build

# Build the application
pnpm build

# Start production server
pnpm start

Docker Production

# Build production image
docker build -t hireiq .

# Run production container
docker run -p 3000:3000 hireiq

πŸ“ API Documentation

Key Endpoints

  • POST /api/signup - User registration
  • GET /api/job/get-all-job-posts - Fetch job listings
  • POST /api/job/post-new-job - Create job posting
  • GET /api/interview/[applicationId]/qna - Interview Q&A
  • GET /api/analysis/[jobId] - Interview analytics

πŸ› οΈ Development Guidelines

Code Style

  • TypeScript for type safety
  • ESLint for code quality
  • Prettier for formatting
  • Conventional commits

Component Structure

  • Functional components with hooks
  • shadcn/ui for consistent design
  • Framer Motion for animations
  • Responsive design principles

πŸ“„ License

This project is private and proprietary. All rights reserved.

πŸ‘¨β€πŸ’» Author

Ravi Mistry


Built with ❀️ using Next.js, TypeScript, and AI

Β© 2025 HireIQ. All rights reserved.

Releases

No releases published

Packages

 
 
 

Contributors

Languages