X-CEED is a comprehensive online recruitment platform designed to streamline the hiring process for both recruiters and applicants. This README provides instructions for setting up and using the platform.
- User registration and authentication
- Profile creation with personal info, education, work experience
- Resume upload functionality
- Job search and application
- Application status tracking
- Interview scheduling
- Recruiter registration and authentication
- Job posting management
- Candidate application review
- Resume download
- Interview scheduling and notifications
- Applicant acceptance/rejection functionality
- Node.js 16.x or later
- MongoDB instance (local or cloud-based)
- Email service credentials (for production)
Create a .env.local file in the project root with the following variables:
# MongoDB
MONGODB_URI=your_mongodb_connection_string
# Authentication
JWT_SECRET=your_jwt_secret_key
# Application
NEXT_PUBLIC_BASE_URL=http://localhost:3002
# Email (for production)
EMAIL_HOST=smtp.example.com
EMAIL_PORT=587
EMAIL_SECURE=false
EMAIL_USER=your_email@example.com
EMAIL_PASS=your_email_password
# File Upload
UPLOAD_DIR=./public/uploads- Clone the repository
- Install dependencies:
npm install - Start the development server:
npm run dev - Visit
http://localhost:3002in your browser
/src/app: Next.js application pages and layouts/src/components: Reusable React components/src/lib: Utility functions and services/src/pages/api: API endpoints/public: Static assets and uploaded files
POST /api/auth/register: Register a new userPOST /api/auth/login: Authenticate userPOST /api/auth/logout: End user sessionGET /api/auth/me: Get current user detailsPOST /api/auth/request-password-reset: Request password resetPOST /api/auth/reset-password: Reset password
POST /api/upload: Generic file upload endpointPOST /api/upload/resume: Resume upload for applicantsPOST /api/upload/profile-image: Profile image upload
GET /api/jobs: List all jobs with filtersPOST /api/jobs: Create a new job posting (recruiter only)GET /api/jobs/[id]: Get job detailsPUT /api/jobs/[id]: Update job posting (recruiter only)DELETE /api/jobs/[id]: Delete job posting (recruiter only)
GET /api/applications: Get applications (filtered by user type)POST /api/applications: Submit a new application (applicant only)GET /api/applications/[id]: Get application detailsPATCH /api/applications/[id]: Update application status (recruiter only)DELETE /api/applications/[id]: Delete application (under certain conditions)POST /api/applications/send-interview-invite: Send interview invitation
- Dashboard with job posting metrics
- Candidate management with application details
- Interview scheduling capabilities
- Resume downloads
- User profile management
- Job search and application
- Application status tracking
- Interview scheduling and notifications
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License