Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Snailclimb/interview-guide/llms.txt
Use this file to discover all available pages before exploring further.
Overview
This guide walks you through setting up the InterviewGuide platform on your local machine for development. The platform requires PostgreSQL with pgvector extension, Redis, and S3-compatible object storage.Prerequisites
Required Software
Required Software
| Software | Version | Purpose |
|---|---|---|
| JDK | 21+ | Backend runtime (supports Virtual Threads) |
| Node.js | 18+ | Frontend development |
| PostgreSQL | 14+ | Primary database |
| pgvector | Latest | Vector similarity search for RAG |
| Redis | 6+ | Caching and message queue (Streams) |
| Gradle | 8.14+ | Backend build tool (wrapper included) |
| pnpm | Latest | Frontend package manager |
External Services
External Services
- Alibaba Cloud DashScope API Key: Required for AI features (resume analysis, mock interviews, RAG Q&A)
- S3-Compatible Storage: MinIO (recommended for local dev) or RustFS
Setup Object Storage
Choose MinIO (recommended) or RustFS for local S3-compatible storage.Access MinIO Console at http://localhost:9001
Option A: MinIO (Recommended)
Create Storage Bucket
Option B: RustFS
Configure Backend Application
Clone the Repository
Set Environment Variables
Get your DashScope API key from https://bailian.console.aliyun.com/
Edit application.yml
Updateapp/src/main/resources/application.yml with your local settings:app/src/main/resources/application.yml
Start Backend Server
Verify Startup
Check the logs for successful initialization:Setup and Start Frontend
Troubleshooting
Database Connection Failed
Database Connection Failed
Symptom:
Connection refused or FATAL: password authentication failedSolutions:- Verify PostgreSQL is running:
- Check
pg_hba.conffor authentication settings: - Restart PostgreSQL after config changes:
pgvector Extension Missing
pgvector Extension Missing
Symptom:
ERROR: could not open extension control file or extension "vector" does not existSolutions:- Verify pgvector installation:
- If not available, reinstall pgvector and restart PostgreSQL
- Ensure
shared_preload_librariesincludes vector (if required by your version):
Redis Connection Timeout
Redis Connection Timeout
Symptom:
Unable to connect to Redis or Connection refusedSolutions:- Check Redis is running:
- Verify Redis config allows external connections:
- Check firewall settings if connecting from different host
Resume Analysis Stuck in 'Processing'
Resume Analysis Stuck in 'Processing'
Symptom: Resume status remains Look for failed messages in backend logs:
PROCESSING indefinitelyRoot Causes:- Redis Stream Consumer not running: Check backend logs for consumer initialization
- AI API key invalid: Verify
AI_BAILIAN_API_KEYis correct - Network issues: Check connectivity to
dashscope.aliyuncs.com
File Upload Fails
File Upload Fails
Symptom:
500 Internal Server Error when uploading resumes or documentsSolutions:- Verify object storage is accessible:
- Check bucket exists and is accessible:
- Verify storage credentials in
application.ymlmatch MinIO/RustFS config - Check file size is under limit (50MB for knowledge base, 10MB for resumes)
Gradle Build Fails
Gradle Build Fails
Symptom: Build errors or dependency resolution failuresSolutions:
- Clean build cache:
- Verify Java version:
- Try using Aliyun mirror (already configured in
build.gradle) - Build without tests:
Frontend Build Errors
Frontend Build Errors
Symptom:
pnpm build fails or dependencies cannot be resolvedSolutions:- Clear pnpm cache:
- Verify Node.js version:
- Check for port conflicts:
Development Workflow
Hot Reload
Backend
Spring Boot DevTools enables automatic restart on code changes:
Frontend
Vite provides instant HMR (Hot Module Replacement):
Database Schema Updates
Monitoring Redis Streams
Next Steps
Docker Deployment
One-command setup with Docker Compose
Production Setup
Production-ready deployment checklist
Configuration Guide
Detailed environment variable reference
Architecture Overview
Understand the system design
