Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

17 Commits

Repository files navigation

TrufaDocs

Python Django Status Type

Aplicacion web en Django para importar CVs (.docx / .pdf), normalizarlos a una estructura editable y exportarlos a DOCX/PDF.

Vista previa

Carga de CV y deteccion de campos

Carga de CV y deteccion de campos

Editor de CV estructurado

Editor de CV estructurado


Documentacion principal:


Estado actual

  • Parser de CV con schema unico (basics, experience, education, skills, extra_sections).
  • Educacion con items genericos y honors como compatibilidad legacy.
  • UI ES/EN con mensajes localizados, headings core en mayusculas y persistencia de idioma.
  • Reorden de modulos, entradas core/extras, hitos y categorias de skills.
  • Export DOCX por plantilla (templates/cv_template.docx) con fuente seleccionada aplicada globalmente.
  • Export PDF via docx2pdf (requiere Microsoft Word en Windows/macOS).
  • Parser PDF endurecido para headings legacy/nuevos y lineas con : como Honors:, Honores: o GPA:.
  • Suite de tests enfocada en regresiones de parsing, export, fuentes, localizacion y orden.

Caracteristicas

  • Importacion de CVs (.docx y .pdf)
  • Deteccion heuristica de campos
  • Formulario estructurado para edicion manual
  • Preservacion de orden de modulos (core + extras)
  • Reorden de experiencias, educacion, entradas extra, hitos y skills desde la UI
  • Exportacion a DOCX usando plantilla
  • Exportacion a PDF mediante Word + docx2pdf
  • Exportacion localizada de encabezados core (ES/EN)
  • Seleccion de fuente de exportacion con aplicacion global en el documento final

Stack

  • Python 3.12+
  • Django 6.0.2
  • python-docx 1.2.0
  • pdfplumber 0.10.4
  • docx2pdf 0.1.8

Requisitos

  • Python 3.12+
  • Microsoft Word (para exportacion PDF con docx2pdf)

Instalacion local

python -m venv .venv

PowerShell (Windows):

.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .env
python manage.py runserver

Bash (Linux/macOS):

source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python manage.py runserver

Abrir: http://127.0.0.1:8000/

Flujo de uso

  1. Subir un CV desde el panel principal.
  2. (Opcional) Cambiar idioma con el boton ES/EN.
  3. Presionar Detectar campos.
  4. Revisar y ajustar los datos en el formulario.
  5. Exportar DOCX o PDF.

Endpoints

Metodo Ruta Uso
GET / Editor principal
POST /upload/ Importar y detectar campos
POST /text/export/docx/ Exportar DOCX
POST /text/export/pdf/ Exportar PDF

Nota: GET /upload/ redirige a /.

Variables de entorno

Definidas en .env.example y consumidas en trufadocs/settings.py.

Minimas:

  • DJANGO_SECRET_KEY
  • DJANGO_DEBUG
  • DJANGO_ALLOWED_HOSTS
  • MAX_UPLOAD_MB
  • CV_TEMPLATE_PATH

Produccion (seguridad):

  • DJANGO_CSRF_TRUSTED_ORIGINS
  • DJANGO_SECURE_SSL_REDIRECT
  • DJANGO_CSRF_COOKIE_SECURE
  • DJANGO_SECURE_HSTS_SECONDS
  • DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS
  • DJANGO_SECURE_HSTS_PRELOAD
  • DJANGO_SECURE_PROXY_SSL_HEADER
  • DJANGO_USE_X_FORWARDED_HOST

Tests

python manage.py test editor.tests

Cobertura actual de regresiones:

  • Parseo PDF en ES/EN, incluyendo Honors: / Honores: / GPA:
  • Orden de modulos core + extras
  • Export DOCX/PDF desde POST estructurado
  • Aplicacion global de fuente en DOCX exportado
  • Localizacion ES/EN de UI y export
  • Normalizacion de education.items y compatibilidad legacy

Limitaciones conocidas

  • El parsing de PDF puede ser menos preciso que DOCX segun el formato origen.
  • Exportar PDF depende de Word + docx2pdf.
  • El resultado final depende de la plantilla DOCX y de las fuentes instaladas.

About

Aplicaci贸n web para estructurar y editar curr铆culums con un formato profesional limpio estilo Harvard, permitiendo importar desde DOCX/PDF y exportar documentos finales consistentes. Desarrollada con Django y centrada en parsing de texto y generaci贸n de documentos. Creada como proyecto personal para cubrir una necesidad personal 馃搫

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages