Skip to content

harinadh76/code-coach-ai

Repository files navigation

Code Coach - AI Mock Interview Platform

An AI-powered mock interview platform built with Next.js, Firebase, Google Gemini API, and Vapi AI for voice interactions.

Features

  • 🤖 AI-Powered Interviews: Practice with intelligent AI interviewers
  • 🎤 Voice Interactions: Real-time voice conversations using Vapi AI
  • 🔥 Firebase Backend: Secure authentication and data storage
  • 📊 Detailed Feedback: Comprehensive interview analysis and scoring
  • 🎯 Multiple Interview Types: Technical, Behavioral, and Mixed interviews
  • 📱 Responsive Design: Works on desktop and mobile devices

Tech Stack

  • Frontend: Next.js 15, React 19, TypeScript
  • Styling: Tailwind CSS
  • Backend: Firebase (Authentication, Firestore)
  • AI: Google Gemini API, Vapi AI
  • Deployment: Docker, Docker Compose

Quick Start

Prerequisites

  • Node.js 18+
  • Docker and Docker Compose
  • Firebase project
  • Google Gemini API key
  • Vapi AI account

Environment Setup

  1. Clone the repository:
git clone https://github.com/yourusername/code-coach.git
cd code-coach
  1. Copy environment template:
cp env.example .env
  1. Configure your environment variables in .env:
    • Firebase configuration
    • Google Gemini API key
    • Vapi AI credentials

Docker Deployment (Recommended)

Quick Start

Using Docker Compose Directly

# Production
docker-compose up --build

# Stop services
docker-compose down

Local Development (Without Docker)

  1. Install dependencies:
npm install
  1. Run development server:
npm run dev
  1. Open http://localhost:3000

Project Structure

ai_mock_interviews/
├── app/                    # Next.js app directory
│   ├── (auth)/            # Authentication pages
│   ├── (root)/            # Main application pages
│   ├── api/               # API routes
│   └── layout.tsx         # Root layout
├── components/            # React components
├── lib/                   # Utility functions and actions
├── firebase/              # Firebase configuration
├── types/                 # TypeScript type definitions
├── public/                # Static assets
├── Dockerfile             # Development Docker image
├── docker-compose.yml     # Docker Compose configuration

API Endpoints

  • POST /api/vapi/generate - Generate interview questions

Environment Variables

See env.example for all required environment variables:

  • Firebase Configuration: Authentication and database setup
  • Google Gemini API: AI interview generation
  • Vapi AI: Voice interaction capabilities
  • Next.js Configuration: Application settings

Deployment

Docker

The application is fully containerized with Docker:

  • Development: Hot reloading with volume mounting
  • Security: Non-root user execution

Cloud Deployment

The Docker setup supports deployment to:

  • AWS ECS

Releases

No releases published

Packages

 
 
 

Contributors

Languages