Local development setup for PrepEdge AI v2.
| Tool | Version |
|---|---|
| Node.js | ≥ 20 LTS |
| npm | ≥ 10 |
| Git | ≥ 2.40 |
| MongoDB Atlas | Free M0 cluster |
| Firebase | Spark (free) project |
git clone https://github.com/CoderUzumaki/PrepEdge-AI.git
cd PrepEdge-AI
npm installThis is an npm workspaces monorepo:
apps/api— Express REST APIapps/web— React + Vite SPApackages/shared— Zod schemas, error codes, quotas, AI sanitizer
Copy from example:
cp apps/api/.env.example apps/api/.env| Variable | Required | Purpose |
|---|---|---|
MONGO_URI |
Yes | MongoDB Atlas connection string |
FIREBASE_SERVICE_ACCOUNT |
Yes | JSON string for Firebase Admin SDK |
GROQ_API_KEY |
Recommended | Primary LLM + Whisper STT |
GEMINI_API_KEY |
Recommended | AI fallback (resume/summary tasks) |
HUGGING_FACE_API_KEY |
Optional | Third AI fallback |
CLOUDINARY_* |
Optional | Resume PDF storage |
EMAIL_* |
Optional | Contact form |
ALLOWED_ORIGINS |
Yes | CORS — include http://localhost:5173 |
cp apps/web/.env.example apps/web/.env| Variable | Purpose |
|---|---|
VITE_API_URL |
API base URL (http://localhost:5000 locally) |
VITE_FIREBASE_* |
Firebase client config for auth |
# Both API (5000) and web (5173)
npm run dev
# Or separately
npm run dev:api
npm run dev:web- Web: http://localhost:5173
- API: http://localhost:5000
- Health: http://localhost:5000/api/health
npm test # API Vitest suite
npm run lint- Sign up / log in (Firebase Auth)
- Dashboard — quota display
- Create interview or start from template
- Answer questions (text or voice via Groq Whisper)
- View report + PDF download
- Public demo — home page sample question (no auth)
| Issue | Likely cause |
|---|---|
User not found on first login |
Race before /api/auth/register — refresh or log in again |
AI service unavailable on template start with resume |
Gemini credits depleted + Groq resume JSON shape mismatch |
| Summary not generated on report | Same AI provider chain issue for INTERVIEW_SUMMARY task |
| CORS errors | ALLOWED_ORIGINS missing frontend URL |
See Tech Stack — AI providers for provider fallback details.
- Read CODE_OF_CONDUCT.md
- Pick an issue or propose one
- Branch from
mainorv2per BUILD.md - Keep PRs focused; ensure
npm testandnpm run lintpass
Original contributor guide: development/LEARN.md