Job Portal
A job application platform where candidates submit applications and admins review, approve, or reject them. Centralizes hiring workflows in one place. Built server-rendered for speed, it tracks application status, manages candidate pipelines, and generates reports for hiring teams.
Build StackNode.js, Express, EJS (server-side rendering), MongoDB, Passport.js, Bootstrap
Challenges
Preventing duplicate applications while handling concurrent submissions
Tracking application status through multiple stages (submitted → reviewed → approved)
Generating reports without slowing down the live application system
Managing admin and candidate permissions cleanly without fragmented logic
Solutions
Unique compound index on (candidate_id, job_id) to block duplicates at database level
Status enum with timestamp tracking; audit trail of state changes
Report generation via aggregation pipeline; scheduled background jobs
Middleware-based permission checks; conditional EJS template rendering per role
