How placement-portal-team/placement-portal-server works
PlaceMentor is a REST backend for tracking job applications and preparing for interviews. The main workflow is an authenticated client managing applications and interview stages, uploading a resume, then requesting stage-specific or full AI preparation that combines application, resume, and event context. The API also exposes pipeline analytics, profile operations, and preparation history. Routes and models establish most wiring; README capabilities fill in unsampled areas, so links to those areas are limited to documented behavior.
Main entry points: aiRoutes.js Preparation and history · geminiService.js AI generation service · app.js Express app · resumeRoutes.js Resume routes
Components 24
API and access
- Express app
src/app.js - HTTP server
src/server.js - Auth routes
src/routes/authRoutes.js - Authentication
src/controllers/authController.js - JWT protection
src/middleware/authMiddleware.js
Placement tracking
- Application routes
src/routes/applicationRoutes.js - Applications and analytics
src/controllers/applicationController.js - Resume processing
src/controllers/resumeController.js - Resume routes
src/routes/resumeRoutes.js - PDF upload
src/middleware/resumeUpload.js
Interview preparation
- Preparation and history
src/routes/aiRoutes.js - AI generation service
services/geminiService.js - Roadmap prompt
prompts/roadmapAgent.js - OA prompt
prompts/oaAgent.js - Technical prompt
prompts/technicalAgent.js - HR prompt
prompts/hrAgent.js
Data persistence
- User records
src/models/user.js - Application records
src/models/applications.js - Resume records
src/models/resume.js - Preparation cache
src/models/AIPreparation.js - Database connection
src/config/db.js
Other components
- Placement user
- MongoDB Atlas
- Gemini API
Connections 30
- Placement user → Express app: sends requests
- HTTP server → Express app: serves
- Express app → Auth routes: mounts
- Express app → Application routes: mounts
- Express app → Resume routes: mounts
- Express app → Preparation and history: mounts
- Auth routes → Authentication: dispatches
- Application routes → JWT protection: protects
- Application routes → Applications and analytics: dispatches
- Resume routes → JWT protection: protects
- Resume routes → PDF upload: parses upload
- Resume routes → Resume processing: dispatches
- Preparation and history → JWT protection: protects
- Preparation and history → Application records: reads
- Preparation and history → Resume records: reads
- Preparation and history → Preparation cache: reads and writes
- Preparation and history → AI generation service: requests generation
- AI generation service → Roadmap prompt: builds prompts
- AI generation service → OA prompt: builds prompts
- AI generation service → Technical prompt: builds prompts
- AI generation service → HR prompt: builds prompts
- AI generation service → Gemini API: generates content
- Authentication → User records: reads and writes
- Applications and analytics → Application records: reads and writes
- Resume processing → Resume records: reads and writes
- Database connection → MongoDB Atlas: connects
- User records → MongoDB Atlas: persists records
- Application records → MongoDB Atlas: persists records
- Resume records → MongoDB Atlas: persists records
- Preparation cache → MongoDB Atlas: persists cache