Skip to content

This Django-based application automates the onboarding process for MagicBus foundation's skilling and job placement programs. It targets candidates aged 18-25 who have passed 12th grade, have a family income less than 3 lakh per annum, and are not currently working.

Notifications You must be signed in to change notification settings

cipheraxat/hackadiff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intelligent Onboarding Automation

This Django-based application automates the onboarding process for MagicBus foundation's skilling and job placement programs. It targets candidates aged 18-25 who have passed 12th grade, have a family income less than 3 lakh per annum, and are not currently working.

Features

  • Candidate registration and eligibility validation
  • Document upload (Aadhaar, 12th Marksheet, Income Certificate) - individual or bulk
  • OCR extraction using Azure Cognitive Services
  • Fraud detection for duplicate/fake documents
  • Interactive React dashboard with metrics and management
  • REST API for integration

Setup

  1. Install dependencies:

    pip install -r requirements.txt
    
  2. Configure Azure services:

    • Set up Azure Computer Vision for OCR
    • Update settings with Azure credentials
  3. Run migrations:

    python manage.py migrate
    
  4. Start the server:

    python manage.py runserver
    
  5. Run the React dashboard:

    cd frontend
    npm install
    npm run dev
    

API Endpoints

Candidates

  • GET /api/candidates/ - List all candidates
  • POST /api/candidates/ - Create a new candidate
  • GET /api/candidates/{id}/ - Retrieve a candidate
  • PUT /api/candidates/{id}/ - Update a candidate
  • DELETE /api/candidates/{id}/ - Delete a candidate
  • POST /api/candidates/{id}/validate_eligibility/ - Validate eligibility
  • POST /api/candidates/{id}/upload_documents/ - Upload multiple documents (Aadhaar, 12th Marksheet, Income Certificate)

Documents

  • GET /api/documents/ - List all documents
  • POST /api/documents/ - Upload a new document
  • GET /api/documents/{id}/ - Retrieve a document
  • PUT /api/documents/{id}/ - Update a document
  • DELETE /api/documents/{id}/ - Delete a document

Database Schema

Candidate Table

  • id: Primary Key
  • name: CharField
  • age: IntegerField (18-25)
  • email: EmailField (unique)
  • phone: CharField
  • address: TextField
  • twelfth_pass: BooleanField
  • family_income: DecimalField (max 300000)
  • not_working: BooleanField
  • created_at: DateTimeField
  • eligible: BooleanField

Document Table

  • id: Primary Key
  • candidate: ForeignKey to Candidate
  • document_type: CharField (aadhar, Twelfth, income)
  • file: FileField
  • ocr_text: TextField
  • verified: BooleanField
  • hash_value: CharField (for fraud detection)
  • uploaded_at: DateTimeField

Eligibility Criteria

  • Age: 18-25
  • 12th Pass: Yes
  • Family Income: <= 3,00,000 INR
  • Employment Status: Not working

Azure Integration

  • OCR: Azure Computer Vision API
  • Authentication: Azure Identity

React Dashboard

The project includes an interactive dashboard built with React and Vite for easy management:

  • Dashboard: View key metrics, charts, and recent candidates
  • Candidates: List, view details, and validate eligibility
  • Add Candidate: Form to create candidates with document uploads
  • Documents: View and filter documents by candidate

Run the dashboard with: cd frontend && npm run dev

The dashboard connects to the Django API at http://localhost:8000/api.

Import the onboarding_api_insomnia.json file into Insomnia to test the API endpoints. Set the environment variable base_url to http://localhost:8000/api and candidate_id/document_id as needed for specific requests.

Future Enhancements

  • Frontend portal using Streamlit
  • AI-powered recommendations using LangChain
  • Data processing with Databricks

About

This Django-based application automates the onboarding process for MagicBus foundation's skilling and job placement programs. It targets candidates aged 18-25 who have passed 12th grade, have a family income less than 3 lakh per annum, and are not currently working.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published