Skip to content

Latest commit

ย 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฏ Prept - AI-Powered Interview Marketplace

Next.js React TypeScript Prisma PostgreSQL Clerk Stream Tailwind CSS

๐Ÿ“‹ Overview

Prept is a modern interview marketplace platform that connects interviewees with expert interviewers for practice sessions. Featuring AI-powered feedback, real-time video calls, and tiered subscription plans, Prept helps candidates prepare for technical interviews with personalized guidance.

๐Ÿš€ Key Features

๐Ÿค– AI-Powered Features

  • ๐ŸŽฅ AI Question Generator: Role-specific questions generated live during interviews
  • ๐Ÿ“Š AI Feedback Reports: Comprehensive post-interview analysis covering:
    • Technical depth assessment
    • Communication skills evaluation
    • Problem-solving approach analysis
    • Personalized recommendations
  • โญ Performance Ratings: Automated rating system (Poor, Average, Good, Excellent)

๐Ÿ’ผ User Roles

  • ๐ŸŽฏ Interviewees: Browse experts, book sessions, receive AI feedback
  • ๐Ÿง‘โ€๐Ÿ’ผ Interviewers: Set availability, earn credits, provide expertise

๐Ÿ“ž Communication Features

  • ๐ŸŽฌ HD Video Calls: Built with Stream video SDK
  • ๐Ÿ’ฌ Persistent Chat: Message between sessions
  • ๐Ÿ“น Session Recordings: Automatic recording and playback (Pro plan)
  • ๐Ÿ“… Smart Scheduling: Timezone-aware booking system

๐Ÿ’ณ Subscription Plans

Plan Price Credits Features
Free $0 1/month โ€ข 1 mock interview
โ€ข HD video calls
โ€ข Persistent chat
Starter $29 5/month โ€ข 5 mock interviews
โ€ข AI feedback reports
โ€ข Credits roll over
Pro $69 15/month โ€ข 15 mock interviews
โ€ข AI feedback reports
โ€ข Session recordings
โ€ข Credits roll over

๐Ÿ›  Tech Stack

Frontend

  • โš›๏ธ Next.js 16 - React framework with App Router
  • ๐ŸŽจ React 18 - UI library
  • ๐Ÿ“˜ TypeScript - Type-safe development
  • ๐ŸŽญ Tailwind CSS - Utility-first styling
  • ๐ŸŽจ Shadcn/ui - Modern UI components
  • ๐ŸŽฏ Lucide React - Icon library
  • ๐Ÿ” Clerk - Authentication & user management

Backend

  • ๐Ÿ—„๏ธ Supabase - Dashboard to manage user and application data
  • ๐Ÿ—„๏ธ PostgreSQL - Primary database
  • ๐Ÿ”ฎ Prisma - ORM & database toolkit
  • ๐Ÿ” Clerk - User authentication
  • ๐Ÿ“น Stream Video API - Real-time video calls
  • ๐Ÿค– OpenAI API - AI feedback generation

Development Tools

  • ๐Ÿ“ฆ npm - Package management
  • ๐Ÿ”ง ESLint - Code linting
  • โšก Turbopack - Fast development builds

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm, yarn, or pnpm
  • PostgreSQL database

Clone & Setup

  1. ๐Ÿ“ฅ Clone the repository
git clone https://github.com/asifcuber08/Prept--Ai-Interview-Marketplace.git
cd Prept--Ai-Interview-Marketplace
  1. ๐Ÿ“ฆ Install dependencies
npm install
# or
yarn install
# or
pnpm install
  1. โš™๏ธ Environment Variables Create a .env.local file in the root directory:
# Sign up in Supabase and get your Database and Direct URL

DATABASE_URL="postgresql://....."
DIRECT_URL="postgresql://postgres......"

# Sign up in Clerk and get your Authentication keys

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="your_clerk_publishable_key"
CLERK_SECRET_KEY="your_clerk_secret_key"

NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in #use as it is
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up #use as it is

# Sign up in Arcjet and get your API key

ARCJET_KEY="your_arcjet_key"

# Sign up in Stream Video API and get your API key

NEXT_PUBLIC_STREAM_API_KEY="your_stream_api_key"
STREAM_SECRET_KEY="your_stream_secret_key"

# Sign up in Google AI Studio and get your API key

GEMINI_API_KEY="your_gemini_api_key"

# Sign up in Resend and get your API key

RESEND_API_KEY="your_resend_api_key"

# Admin payout password (for admin-only payout functionality)

ADMIN_PAYOUT_PASSWORD="your_admin_payout_password" #use any strong password

# App URL (for redirects and emails)

NEXT_PUBLIC_APP_URL=http://localhost:3000

Sign up and get all the Environment Variables from Supabase, Clerk, Arcjet, Resend, Stream, and Google AI Studio (Gemini API Key).

  1. ๐Ÿ—„๏ธ Setup Database
# Generate Prisma client
npx prisma generate

# Run database migrations
npx prisma migrate dev

# (Optional) Seed with sample data
npx prisma db seed
  1. ๐Ÿš€ Start Development Server
npm run dev
# or
yarn dev
# or
pnpm dev
  1. ๐ŸŒ Open your browser Navigate to http://localhost:3000

๐Ÿ”— Stream Webhook Setup

To enable recordings and transcription events, you must configure a webhook in Stream Dashboard.

Steps:

  1. Go to your Stream Dashboard
  2. Navigate to Webhooks
  3. Click Create Webhook

๐Ÿ“Œ Select Events:

  • call.recording_ready
  • call.transcription_ready

๐ŸŒ Webhook URL:

#
npx ngrok http 3000

# Then copy the URL and use it as your webhook URL:
https://your-ngrok-url/api/webhook/stream

๐Ÿ“ Project Structure

prept/
โ”œโ”€โ”€ app/                    # Next.js App Router
โ”‚   โ”œโ”€โ”€ (main)/            # Main application routes
โ”‚   โ”‚   โ”œโ”€โ”€ dashboard/      # User dashboard
โ”‚   โ”‚   โ”œโ”€โ”€ explore/        # Browse interviewers
โ”‚   โ”‚   โ”œโ”€โ”€ interviewers/    # Interviewer profiles
โ”‚   โ”‚   โ””โ”€โ”€ appointments/   # User appointments
โ”‚   โ”œโ”€โ”€ api/              # API routes
โ”‚   โ””โ”€โ”€ globals.css       # Global styles
โ”œโ”€โ”€ components/            # Reusable UI components
โ”‚   โ”œโ”€โ”€ ui/              # Base UI components
โ”‚   โ””โ”€โ”€ reusables/      # Custom components
โ”œโ”€โ”€ lib/                 # Utilities & configurations
โ”‚   โ”œโ”€โ”€ generated/        # Prisma generated files
โ”‚   โ””โ”€โ”€ prisma.ts        # Database client
โ”œโ”€โ”€ prisma/              # Database schema & migrations
โ”‚   โ””โ”€โ”€ schema.prisma    # Database definition
โ””โ”€โ”€ public/              # Static assets

๐ŸŽฏ How It Works

For Interviewees

  1. ๐Ÿ” Browse expert interviewers by category
  2. ๐Ÿ“… Book sessions using monthly credits
  3. ๐ŸŽฅ Join video calls at scheduled time
  4. ๐Ÿ“Š Receive AI-powered feedback reports
  5. ๐Ÿ“น Review session recordings (Pro plan)

For Interviewers

  1. โš™๏ธ Set availability and session rates
  2. ๐Ÿค– Use AI question generator during interviews
  3. ๐Ÿ“ˆ Track earnings and manage schedule
  4. ๐Ÿ’ฐ Earn credits per completed session
  5. ๐Ÿ’ธ Withdraw earned credits via payout system (admin-controlled)

๐Ÿ”ง Development Commands

# Development
npm run dev              # Start development server
npm run build           # Build for production
npm run start           # Start production server

# Database
npx prisma studio       # Open database browser
npx prisma generate     # Generate Prisma client
npx prisma migrate dev   # Run migrations
npx prisma db seed     # Seed database

๐ŸŒŸ Key Components

Authentication & Authorization

  • ๐Ÿ” Clerk Integration: Complete auth system with social logins
  • ๐Ÿ‘ฅ Role-Based Access: Interviewer vs Interviewee permissions
  • ๐Ÿ›ก๏ธ Route Protection: Secure API endpoints and pages

Real-Time Features

  • ๐Ÿ“น Video Calls: Stream SDK integration for HD video
  • ๐Ÿ’ฌ Live Chat: Persistent messaging system
  • ๐Ÿ“… Smart Notifications: Email and in-app alerts

AI Integration

  • ๐Ÿง  Smart Questions: Context-aware question generation
  • ๐Ÿ“ˆ Performance Analysis: Multi-dimensional feedback system
  • ๐ŸŽฏ Personalized Tips: Tailored improvement suggestions

๐Ÿ“ฅ Contributing

Pull requests are welcome! If you find a bug or want to add a feature, feel free to open an issue.

๐Ÿ‘ค Author

Made with โค๏ธ by Asif Shamim

About

๐ŸŽฏPrept is a modern interview marketplace platform that connects interviewees with expert interviewers for practice sessions. Featuring AI-powered feedback, real-time video calls, and tiered subscription plans, Prept helps candidates prepare for technical interviews with personalized guidance.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Contributors

Languages