Spaces:
Sleeping
Sleeping
metadata
title: Candidate Explorer
emoji: π
colorFrom: purple
colorTo: gray
sdk: docker
app_port: 7860
Schemas
1. Build Schema
a. table: cv_users β
- user_id
- username
- hashed_password
- email
- full_name
- role
- is_active
- tenant_id
- created_at
- date_modified
- notes
b. table: cv_tenant β
- tenant_id
- tenant_name
- created_at
- date_modified
- notes
c. table: cv_file β
- file_id
- file_type
- filename
- url
- is_extracted
- uploaded_at
- date_modified
d. table: cv_profile β
- profile_id
- fullname
- gpa_edu_1
- univ_edu_1
- major_edu_1
- gpa_edu_2
- univ_edu_2
- major_edu_2
- gpa_edu_3
- univ_edu_3
- major_edu_3
- domicile
- yoe
- hardskills
- softskills
- certifications
- business_domain
- filename
- file_id
- created_at
e. table: cv_filter
- criteria_id
- gpa_edu_1
- gpa_edu_2
- gpa_edu_3
- univ_edu_1
- univ_edu_2
- univ_edu_3
- major_edu_1
- major_edu_2
- major_edu_3
- domicile
- yoe
- hardskills
- softskills
- certifications
- business_domain
- created_at
f. table: cv_weight β
- weight_id
- gpa_edu_1
- gpa_edu_2
- gpa_edu_3
- univ_edu_1
- univ_edu_2
- univ_edu_3
- major_edu_1
- major_edu_2
- major_edu_3
- domicile
- yoe
- hardskills
- softskills
- certifications
- business_domain
- created_at
g. table: cv_matching β
- matching_id
- profile_id
- criteria_id
- gpa_edu_1
- gpa_edu_2
- gpa_edu_3
- univ_edu_1
- univ_edu_2
- univ_edu_3
- major_edu_1
- major_edu_2
- major_edu_3
- domicile
- yoe
- hardskills
- softskills
- certifications
- business_domain
- created_at
g. table: profile_scores β
- score_id
- matching_id
- score
- created_at
List API
User
POST /admin/users β
Create user
POST /admin/login β
Login, returns JWT Bearer token
GET /admin/me β
Get current authenticated user
Tenant
POST /admin/tenants β
Create tenant
GET /admin/tenants/{name} β
Get tenant by name
File
POST /file/upload β
Upload multiple PDF files
GET /file/user/{user_id} β
Get file metadata by user
DELETE /file/{filename} β
Soft-delete file (marks is_deleted=True)
GET /file/score_card β
Dashboard summary (total files, extracted profiles, %)
Profile
POST /profile/extract_profile β
Extract structured profile from a CV PDF
GET /profile/{profile_id} β
Get extracted profile by ID
GET /profile/profiles/{criteria_id} β
Get profiles by criteria ID
Agentic
POST /agentic/create_filter β
Create filter/criteria
GET /agentic/filter/{criteria_id} β
Get filter by ID
POST /agentic/create_weight β
Create weight config for scoring
POST /agentic/calculate_score β οΈ DEPRECATED Old single scoring endpoint
POST /agentic/v2/calculate_score β
Bulk scoring (v2, recommended)
How To
Init schema on DB
uv run python -m externals.databases.pg_schema_upDrop schema on DB
uv run python -m externals.databases.pg_schema_down
Compile pyproject.toml to requirements.txt
uv pip compile pyproject.toml -o requirements.txt