Skip to content

saurabh24thakur/AI_mock_Interview_

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Procoder - AI Mock Interview Platform

Procoder is an advanced AI-powered mock interview application designed to help users prepare for technical interviews. It features a modern, immersive "Noir/Mist" UI, real-time AI feedback, and comprehensive performance analytics.

Procoder Dashboard

🚀 Features

  • 🤖 AI-Powered Interviews: Conducts realistic mock interviews using Google's Gemini AI to generate questions and analyze responses.
  • 🎙️ Real-time Analysis: Analyzes audio responses for Fluency, Confidence, Correctness, and Body Language.
  • 📊 Comprehensive Dashboard: Visualizes performance metrics with interactive charts (Bar, Pie, Line) to track progress over time.
  • 🎨 Modern "Noir" UI: A premium, dark-themed interface with glassmorphism, dynamic mist animations, and a monochromatic aesthetic.
  • 🔐 Secure Authentication: Full user registration and login system using JWT and bcrypt.
  • 📝 Practice Mode: Access a library of practice questions across various domains.
  • 📱 Responsive Design: Fully optimized for desktop and tablet experiences.

🛠️ Tech Stack

Frontend

Backend

  • Runtime: Node.js
  • Framework: Express.js
  • Database: MongoDB (Mongoose)
  • AI Engine: Google Gemini API (@google/genai)
  • Authentication: JSON Web Tokens (JWT) & bcryptjs
  • File Handling: Multer (for audio processing)

🏁 Getting Started

Follow these steps to set up the project locally.

Prerequisites

  • Node.js (v16+)
  • MongoDB (Local or Atlas URI)
  • Google Gemini API Key

1. Clone the Repository

git clone https://github.com/saurabh24thakur/AI_mock_Interview_.git

2. Backend Setup

Navigate to the backend directory and install dependencies:

cd backend
npm install

Create a .env file in the backend directory:

PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
GEMINI_API_KEY=your_google_gemini_api_key

Start the backend server:

npm run dev

3. Frontend Setup

Open a new terminal, navigate to the frontend directory, and install dependencies:

cd frontend
npm install

Start the frontend development server:

npm run dev

📖 API Documentation

The backend API is documented using the OpenAPI Specification (OAS). You can find the specification file at:

To view the documentation in a user-friendly way, you can paste the contents of backend/openapi.yaml into the Swagger Editor or use a VS Code extension like "OpenAPI (Swagger) Editor".

Key Endpoints

  • Users: POST /api/users/signup, POST /api/users/login, GET /api/users/profile
  • Interviews: POST /api/interviews/generate-questions, POST /api/interviews/analyze, POST /api/interviews/save, GET /api/interviews
  • Dashboard: GET /api/dashboard

📂 Project Structure

ai_interview/
├── backend/                # Express.js Backend
│   ├── config/             # DB Configuration
│   ├── controller/         # Request Handlers (Auth, Interview, etc.)
│   ├── models/             # Mongoose Models (User, Interview, etc.)
│   ├── routes/             # API Routes
│   ├── utils/              # Helper functions (AI analysis, etc.)
│   ├── openapi.yaml        # API Documentation (OpenAPI Spec)
│   └── app.js              # Entry point
│
└── frontend/               # React Frontend
    ├── public/             # Static assets
    ├── src/
    │   ├── component/      # Reusable components (Navbar, Charts, etc.)
    │   ├── pages/          # Page components (Dashboard, Login, Interview)
    │   ├── App.jsx         # Main App component & Routing
    │   └── main.jsx        # Entry point
    └── tailwind.config.js  # Tailwind configuration

🤝 Contributing

Contributions are welcome! Please fork the repository and submit a pull request for any enhancements or bug fixes.

📄 License

This project is licensed under the ISC License.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages