A microservices-based job portal platform built with Node.js, Express, TypeScript, PostgreSQL, Redis, and Bull Queue.
This project provides a complete hiring workflow for jobseekers and recruiters:
- Authentication and authorization
- User profile and resume management
- Job and company management
- Job application workflow
- Subscription checkout and payment verification
- AI-powered career and resume analysis
- Admin dashboard for platform-level monitoring and moderation
- Auth Service: registration, login, password reset, token-based auth
- User Service: profile updates, skills, applications, user-focused endpoints
- Job Service: recruiter company/job operations, public job listings, application status flow
- Utils Service: file upload, mail delivery pipeline, AI endpoints
- Payment Service: Razorpay checkout and payment verification
- Frontend: Next.js app for all user and recruiter flows
- Backend: Node.js, Express, TypeScript
- Frontend: Next.js, React, Tailwind CSS, shadcn/ui
- Database: PostgreSQL (Neon)
- Cache: Redis (Upstash)
- Email Delivery: Resend API (Bull Queue + Async Processing)
- File Storage: Cloudinary
- Payments: Razorpay
- AI: Google Gemini API
Job-Portal/
├── frontend/
├── services/
│ ├── auth/
│ ├── user/
│ ├── job/
│ ├── utils/
│ └── payment/
├── daily-documentation.md
└── README.md
- Node.js 16+
- npm or yarn
- PostgreSQL database
- Redis instance
- Cloudinary credentials
- Razorpay keys
cd frontend && npm install
cd ../services/auth && npm install
cd ../user && npm install
cd ../job && npm install
cd ../utils && npm install
cd ../payment && npm install
Create .env files for each service using the respective .env.example files.
# frontend
cd frontend && npm run dev
# services
cd services/auth && npm run dev
cd services/utils && npm run dev
cd services/user && npm run dev
cd services/job && npm run dev
cd services/payment && npm run dev
- Frontend: 3000
- Auth Service: 5000
- Utils Service: 5001
- User Service: 5002
- Job Service: 5003
- Payment Service: 5004
- Auth: /api/auth
- User: /api/user
- Job: /api/job
- Utils: /api/utils
- Payment: /api/payment
- Admin (User/Job/Payment Services): /api/admin
Complete admin dashboard with Super Admin Key authentication for managing users, jobs, applications, and payments.
Features: User management, job management, application status tracking, payment analytics, company management, real-time dashboard, report export (JSON/TXT/PDF).
Setup:
- Set
ADMIN_SECRET_KEYin each service .env - Go to
/admin/login→ Enter admin key → Access dashboard
For detailed development progress, refer to daily-documentation.md.
ISC
Aditya Kumar
GitHub: debug-node