HRMS RECRUITMENT / NEW APPLICATION MODULE ============================================ 1. Login to HRMS as Admin. 2. Sidebar -> New Application. 3. Create a Position: - Branch - Position/Post - Openings - Fresher/Experienced rule - Minimum experience - Test pass percentage - Closing date - Job description/requirements 4. Upload questions for that position using question_template.csv format, or add a question manually. 5. The position gets a public application URL and QR image. 6. Candidate opens the URL/QR and enters: - Full name, DOB, gender, email, phone - Fresher/Experienced and experience - Previous company/designation for experienced candidates - Highest qualification, specialization/branch and pass-out year - Optional resume and passport photo - Branch and position 7. HR sees the application in New Application -> Total Applications. 8. Click Send Test. The system creates a unique test URL. Copy/share that URL with the candidate. 9. Candidate takes the online test. Marks are calculated automatically. - If score >= the position's Test Pass %, status moves to HR Round. - Otherwise status becomes Rejected. 10. HR Round: - Start HR Round - Enter HR score and pass to Technical, or Reject 11. Technical Round: - Enter technical score and Select, or Reject 12. Selected -> Start Onboarding -> Mark Joined. FILES ----- recruitment.php : HR/admin recruitment dashboard and workflow apply.php : public candidate application form test.php : public online test question_template.csv : CSV template for question upload UPLOADS ------- Candidate files are stored under uploads/recruitment/applications. Question CSV is processed into the recruitment_questions table; the uploaded CSV itself is not required after import. NOTES ----- - The QR image uses QuickChart from the browser for convenience. Internet access is needed for the QR image to render. - The public application form works without HRMS login. - For a phone to open localhost links, use the PC's LAN IP/hostname instead of localhost when sharing the URL/QR. - Existing HRMS employee/attendance/payroll tables are not replaced. Recruitment uses separate recruitment_* tables.