Skip to content

Qhatulab es una API de emparejamiento inteligente que utiliza IA para conectar personas con discapacidad con oportunidades laborales adecuadas.

Notifications You must be signed in to change notification settings

AnthonyGit1/QhatuLab-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Qhatulab Backend API

Qhatulab Logo

Deploy on Railway Node.js Version MongoDB Express.js Replicate

Sistema de emparejamiento laboral inclusivo impulsado por IA

📋 Índice

🎯 Descripción General

Qhatulab es una API de emparejamiento inteligente que utiliza IA para conectar personas con discapacidad con oportunidades laborales adecuadas. El sistema analiza múltiples factores como el tipo de discapacidad, habilidades, experiencia y preferencias laborales para proporcionar recomendaciones precisas y relevantes.

🧠 Sistema de IA

Arquitectura del Sistema de Emparejamiento

El sistema utiliza un enfoque basado en IA que evalúa:

  1. Compatibilidad de Perfil

    • Tipo de discapacidad vs adaptaciones disponibles
    • Habilidades requeridas vs disponibles
    • Experiencia y educación
    • Modalidad y tipo de contrato
    • Ubicación y accesibilidad
  2. Sistema de Puntuación

Score = {
  Disability_Match: 30%,    // Compatibilidad de discapacidad y adaptaciones
  Skills_Match: 25%,        // Coincidencia de habilidades
  Experience_Match: 20%,    // Experiencia relevante
  Location_Match: 15%,      // Compatibilidad de ubicación
  Preferences_Match: 10%    // Preferencias laborales
}

Flujo de Emparejamiento

graph LR
A[Perfil Candidato] --> B[Análisis IA]
C[Oferta Laboral] --> B
B --> D[Cálculo Compatibilidad]
D --> E[Recomendaciones]
Loading

Tipos de Discapacidad Cubiertos

Tipo Adaptaciones Consideraciones
Física Accesibilidad física, herramientas adaptativas
Visual Software adaptativo, lectores de pantalla
Auditiva Comunicación visual, intérpretes
Intelectual Instrucciones claras, supervisión adecuada
Psicosocial Ambiente laboral adaptado

✨ Características

  • 🤖 Sistema de emparejamiento basado en IA (Llama 2)
  • 👥 Perfiles detallados de candidatos
  • 💼 Gestión de ofertas laborales
  • 🎯 Recomendaciones personalizadas
  • ⚡ Respuestas en tiempo real
  • 📊 Análisis de compatibilidad detallado

📋 Requisitos Previos

  • Node.js >= 14.0.0
  • MongoDB >= 4.4
  • Cuenta en Replicate
  • Git

🚀 Instalación

# Clonar el repositorio
git clone https://github.com/AnthonyGit1/qhatulab-backend.git

# Entrar al directorio
cd qhatulab-backend

# Instalar dependencias
npm install

⚙️ Configuración

  1. Crear archivo .env:
PORT=3000
MONGODB_URI=mongodb://localhost:27017/inclusion_laboral
REPLICATE_API_TOKEN=tu_token_de_replicate
  1. Iniciar servicios:
# MongoDB
mongod

# Servidor de desarrollo
npm run dev

🛣️ API Endpoints

Candidatos

POST /api/candidates
GET /api/candidates
GET /api/candidates/:id
PUT /api/candidates/:id

Request Body (POST):
{
    "datosPersonales": {
        "nombres": "String",
        "apellidos": "String",
        "edad": Number,
        "ubicacion": {
            "region": "String",
            "provincia": "String",
            "distrito": "String"
        },
        "email": "String",
        "telefono": "String",
        "tipoDiscapacidad": "String"
    },
    "experiencia": [{
        "area": "String",
        "años": Number
    }],
    "educacion": {
        "nivel": "String"
    },
    "habilidades": ["String"],
    "preferenciasLaborales": {
        "modalidad": "String",
        "tipoContrato": "String",
        "areasInteres": ["String"],
        "expectativaSalarial": "String"
    }
}

Trabajos

POST /api/jobs
GET /api/jobs
GET /api/jobs/:id
PUT /api/jobs/:id

Request Body (POST):
{
    "titulo": "String",
    "empresa": {
        "nombre": "String",
        "descripcion": "String"
    },
    "descripcion": "String",
    "requisitos": {
        "habilidades": ["String"],
        "educacion": {
            "nivel": "String"
        },
        "experienciaMinima": Number,
        "tiposDiscapacidadAceptados": ["String"]
    },
    "condicionesLaborales": {
        "modalidad": "String",
        "tipoContrato": "String",
        "ubicacion": {
            "region": "String",
            "provincia": "String",
            "distrito": "String"
        },
        "rangoSalarial": "String"
    },
    "accesibilidad": {
        "tieneAdaptaciones": Boolean,
        "descripcionAdaptaciones": "String"
    }
}

Matching

GET /api/match/candidate/:candidateId
GET /api/match/job/:jobId

Response:
{
    "success": true,
    "count": Number,
    "data": [{
        "job/candidate": Object,
        "compatibilityScore": Number,
        "analysis": {
            "score": Number,
            "razones_match": [String],
            "consideraciones": [String],
            "sugerencias_adaptacion": [String]
        }
    }]
}

🛠️ Tecnologías

  • Backend: Express.js
  • Base de Datos: MongoDB con Mongoose
  • IA: Replicate (Llama 2)
  • Documentación: OpenAPI/Swagger

👥 Equipo SeedMinds

Anthony Jaci Joshelyn
Anthony Rosas Jaci Lucas Joshelyn Riveros
Backend & IA Frontend & UX Contenido & Testing

Desarrollado con ❤️ por SeedMinds

About

Qhatulab es una API de emparejamiento inteligente que utiliza IA para conectar personas con discapacidad con oportunidades laborales adecuadas.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published