ICRIS β€” Intelligent Centralized Recruitment Information System

Live demo (Hugging Face Space): after deploy, open the Space URL and sign in.

Production-style academic final-year project built with Python, Django, MySQL (or SQLite), HTML, CSS, and JavaScript.

Demo logins (password for all: Demo@12345)

Role Username
Admin admin
HR Officer hr.officer
Hiring Manager hiring.manager
Applicant applicant1

Purpose

Automate candidate profile evaluation, reduce manual screening load, and improve HR decision-making with transparency and explainability, while enforcing a strict human-in-the-loop principle:

AI analyzes, scores, explains, and recommends β€” authorized humans review and approve before the system executes important decisions.

Five project objectives

  1. NLP candidate analysis β€” detect skills, qualifications, experience; normalize; match requirements with evidence
  2. Vacancy-specific screening, matching, scoring, ranking, recommendations (no universal employability score)
  3. CV parsing β€” PDF/DOCX/text β†’ structured data; original file preserved
  4. Full vacancy management β€” create/edit/publish/close/archive with weights, thresholds, skills, screening questions
  5. Explainable recommendations β€” component breakdown, matched/missing requirements, human decisions & audit trail

Roles (RBAC)

Role Login (demo) Focus
System Administrator admin Users, scoring config, skills, templates, audit
HR Officer hr.officer Vacancies, workspace, shortlist/rejection, interviews, notifications
Hiring Manager hiring.manager Assigned vacancies, AI explanations, feedback
Applicant applicant1 … applicant6 Profile, apply, journey tracker

Password for all demo accounts: Demo@12345

Pipeline (enforced)

APPLIED β†’ SCORED β†’ PENDING REVIEW
  β†’ SHORTLISTED (DRAFT) or REJECTED (DRAFT)
  β†’ SHORTLIST APPROVED or REJECTION CONFIRMED
  β†’ INTERVIEW SCHEDULED β†’ NOTIFICATION QUEUED β†’ NOTIFIED

Draft shortlists/rejections never send messages automatically. Notifications follow:

Decision β†’ Human approval β†’ Queue β†’ Process β†’ Delivery β†’ Audit

Quick start

cd tawanda
python -m venv .venv
# Windows:
.venv\Scripts\activate
pip install -r requirements.txt

# Default: SQLite (demo). For MySQL set ICRIS_USE_MYSQL=1 and MySQL env vars.
python manage.py migrate
python manage.py seed_demo
python manage.py runserver

Open http://127.0.0.1:8000/ and sign in as hr.officer.

MySQL (optional)

# Create database icris_db, then:
set ICRIS_USE_MYSQL=1
set MYSQL_DATABASE=icris_db
set MYSQL_USER=root
set MYSQL_PASSWORD=yourpassword
set MYSQL_HOST=127.0.0.1
python manage.py migrate
python manage.py seed_demo

Demonstration journey (examiner)

  1. Objective 4 β€” HR β†’ Vacancy Management β†’ open/create/publish vacancy with weights & skills
  2. Objective 3 β€” HR dashboard β†’ Objective 3 β€œView/Demonstrate” β†’ Original CV vs structured extraction
  3. Objective 1 β€” NLP Analysis β†’ Detected β†’ Normalized β†’ Matched β†’ Unmatched
  4. Objective 2 β€” Ranking for a vacancy β†’ scores, component breakdown, filters
  5. Objective 5 β€” Evaluation detail β†’ overall + components + evidence + decision timeline
  6. Operations β€” Shortlist draft β†’ Approve β†’ Interview batch β†’ Notification queue β†’ Process
  7. Rejection β€” Rejection queue β†’ Confirm / Rescue with reason β†’ queue
  8. Switch roles: Admin config Β· HM feedback Β· Applicant journey (no confidential scores)

Project layout

icris/           Project settings & URLs
accounts/        Users, RBAC, registration
core/            Org, departments, skills, scoring config
vacancies/       Vacancy CRUD, progress tracker
applications/    Apply, CV storage, parser
evaluation/      NLP engine, weighted scoring, explainability
workflow/        Shortlist, rejection, interview batches
notifications/   Controlled queue (email primary; SMS future)
audit/           AuditLog + decision timelines
dashboards/      Role-specific workflow dashboards
templates/       Enterprise HR UI
static/          CSS (status colour scheme) & JS

Status colour scheme

Colour Typical use
Blue Applied / primary actions
Purple Scored / AI / interview
Yellow-amber Pending review
Orange Shortlist draft / attention
Green Approved / success
Red Rejection draft / danger
Dark Notified / admin chrome

Security notes

  • Django auth + password hashing, CSRF, session cookies
  • Server-side RBAC and object-level checks (not UI-only)
  • CV upload extension/size validation
  • ORM queries; no blind auto-send of notifications

Tests / verification

After seeding, confirm varied scores for Django vacancy (excellent vs sales CV), then walk each role login and objective link on the HR dashboard.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Space using Prince-Mlingwa/icris-recruitment 1