{"id":30330151,"url":"https://github.com/sazardev/cv-generator","last_synced_at":"2025-08-18T02:41:55.676Z","repository":{"id":302738466,"uuid":"1013442321","full_name":"sazardev/cv-generator","owner":"sazardev","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-04T00:28:37.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-04T01:27:10.942Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sazardev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-03T23:06:53.000Z","updated_at":"2025-07-04T00:28:41.000Z","dependencies_parsed_at":"2025-07-04T01:27:29.631Z","dependency_job_id":null,"html_url":"https://github.com/sazardev/cv-generator","commit_stats":null,"previous_names":["sazardev/cv-generator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sazardev/cv-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sazardev%2Fcv-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sazardev%2Fcv-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sazardev%2Fcv-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sazardev%2Fcv-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sazardev","download_url":"https://codeload.github.com/sazardev/cv-generator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sazardev%2Fcv-generator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270936139,"owners_count":24670945,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-18T02:41:53.019Z","updated_at":"2025-08-18T02:41:55.642Z","avatar_url":"https://github.com/sazardev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CV Generator\n\nUn generador de CV minimalista y monocromático con diseño estilo Notion, desarrollado en Go con Fiber. Permite crear CVs profesionales con vista previa web y exportación a PDF con coincidencia visual exacta.\n\n## Características\n\n- 🎨 **Diseño Monocromático**: Solo blanco, negro y tonalidades de grises, inspirado en Notion\n- 📱 **Interfaz Minimalista**: UI limpia y moderna con tipografía Notion-style\n- 👁️ **Vista Previa en Tiempo Real**: Preview idéntico al PDF final\n- 📄 **Exportación PDF Nativa**: Genera PDFs con Go puro, sin dependencias externas\n- ⚡ **Completamente Portátil**: Solo necesitas Go - no requiere instalaciones adicionales\n- 🌍 **Soporte UTF-8 Completo**: Maneja acentos, ñ y caracteres especiales correctamente\n- �️ **Selector de Idioma**: Cambia entre inglés y español en tiempo real\n- 🔄 **Traducción Automática**: Headers y niveles de habilidad se traducen según el idioma seleccionado\n- �🔧 **Sin Dependencias Externas**: No requiere wkhtmltopdf ni otros ejecutables\n- 📋 **Formularios Dinámicos**: Agrega/elimina experiencias, educación, habilidades dinámicamente\n- 🏷️ **SEO Optimizado**: Meta tags, Open Graph, y structured data\n- 🎯 **Favicon SVG**: Icono minimalista y vectorial\n\n## Tecnologías\n\n- **Backend**: Go + Fiber\n- **Frontend**: HTML5, CSS3 (Grid/Flexbox), JavaScript\n- **PDF**: gofpdf (librería nativa de Go)\n- **Tipografía**: ui-sans-serif, -apple-system (estilo Notion)\n- **Codificación**: UTF-8 completo con soporte para caracteres latinos\n\n## 🚀 Inicio rápido\n\n### Windows\n```bash\n# Ejecuta el archivo batch\nrun.bat\n```\n\n### Linux/Mac\n```bash\n# Instala dependencias\ngo mod tidy\n\n# Ejecuta la aplicación\ngo run cmd/server/main.go\n```\n\nAbre tu navegador en `http://localhost:3000`\n\n## 📋 Uso\n\n1. **Selecciona tu idioma**: Usa el selector en la esquina superior derecha (🇪🇸/🇺🇸)\n2. **Completa tu información personal**: Nombre, email, teléfono, enlaces profesionales\n3. **Agrega tu experiencia**: Empresas, cargos, fechas y descripciones\n4. **Incluye tu educación**: Títulos, instituciones y logros\n5. **Lista tus habilidades**: Con niveles opcionales de competencia (Básico, Intermedio, Avanzado, Experto)\n6. **Especifica idiomas**: Idiomas que hablas y tu nivel\n7. **Vista previa**: Revisa cómo se ve tu CV\n8. **Exporta**: Descarga tu PDF profesional con traducción automática según el idioma seleccionado\n\n## 🎨 Diseño\n\nEl diseño se centra en:\n- **Monocromatismo**: Elegante paleta en blanco y negro\n- **Tipografía limpia**: Fuentes profesionales y legibles\n- **Espaciado perfecto**: Diseño balanceado y organizado\n- **Minimalismo funcional**: Simple pero sofisticado\n\n## Instalación y Uso\n\n### Requisitos previos\n- Go 1.24.4 o superior\n\n### Ejecutar localmente\n\n1. Clona el repositorio:\n```bash\ngit clone \u003ctu-repositorio\u003e\ncd cv-generator\n```\n\n2. Instala las dependencias:\n```bash\ngo mod tidy\n```\n\n3. Ejecuta la aplicación:\n```bash\ngo run cmd/server/main.go\n```\n\n4. Abre tu navegador y ve a `http://localhost:3000`\n\n### Variables de entorno\n\n- `PORT`: Puerto en el que se ejecutará el servidor (por defecto: 3000)\n\n## Estructura del proyecto\n\n```\ncv-generator/\n├── cmd/\n│   └── server/\n│       └── main.go          # Punto de entrada de la aplicación\n├── internal/\n│   ├── config/\n│   │   └── config.go        # Configuración de la aplicación\n│   ├── handlers/\n│   │   └── cv.go           # Manejadores HTTP\n│   ├── models/\n│   │   └── cv.go           # Modelos de datos\n│   └── services/\n│       └── pdf.go          # Servicio de generación de PDF\n├── web/\n│   ├── static/\n│   │   ├── styles.css      # Estilos CSS\n│   │   └── app.js          # JavaScript de la aplicación\n│   └── templates/\n│       └── index.html      # Plantilla HTML principal\n├── go.mod\n├── go.sum\n└── README.md\n```\n\n## API Endpoints\n\n- `GET /` - Página principal del formulario\n- `POST /generate` - Genera y descarga el PDF del CV\n- `GET /health` - Health check del servidor\n\n## Tecnologías utilizadas\n\n- **Backend**: Go, Fiber framework\n- **Frontend**: HTML5, CSS3, JavaScript vanilla\n- **PDF Generation**: gofpdf (librería nativa de Go)\n- **Codificación**: UTF-8 completo con corrección automática de caracteres mal codificados\n- **Styling**: CSS personalizado inspirado en Notion\n\n## 🌍 Internacionalización\n\nEl generador de CV soporta completamente inglés y español:\n\n### Traducción Automática\n- **Headers de secciones**: EXPERIENCE/EXPERIENCIA, EDUCATION/EDUCACIÓN, SKILLS/HABILIDADES, etc.\n- **Niveles de habilidad**: Basic/Básico, Intermediate/Intermedio, Advanced/Avanzado, Expert/Experto\n- **Palabras comunes**: Present/Presente, at/en\n\n### Funcionalidades i18n\n- ✅ Selector de idioma en tiempo real en la interfaz\n- ✅ El idioma seleccionado se aplica automáticamente al PDF generado\n- ✅ Soporte completo para caracteres UTF-8 (acentos, ñ, etc.)\n- ✅ Traducción bidireccional: español ↔ inglés\n- ✅ Fallback inteligente si no se encuentra traducción\n\n## Contribuir\n\n1. Fork el proyecto\n2. Crea tu feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit tus cambios (`git commit -m 'Add some AmazingFeature'`)\n4. Push al branch (`git push origin feature/AmazingFeature`)\n5. Abre un Pull Request\n\n## 🚀 Despliegue en Producción\n\n### Render (Recomendado)\n\nRender es una plataforma moderna que facilita el despliegue de aplicaciones Go:\n\n#### Preparación\n\n1. **Crea una cuenta en [Render](https://render.com)**\n\n2. **Conecta tu repositorio de GitHub**\n\n3. **Configura el servicio web:**\n   - **Build Command**: `go build -o bin/main ./cmd/server`\n   - **Start Command**: `./bin/main`\n   - **Environment**: Go\n   - **Plan**: Free (para empezar)\n\n#### Variables de Entorno\n\nNo necesitas configurar variables especiales, la aplicación ya está optimizada para Render:\n\n- `PORT`: Se configura automáticamente por Render\n- Sin dependencias externas requeridas\n\n#### Configuración Automática\n\nLa aplicación incluye:\n- ✅ `Dockerfile` optimizado para producción\n- ✅ Scripts de build y start configurados\n- ✅ Health check endpoint en `/health`\n- ✅ Configuración de puerto dinámico\n- ✅ Archivos estáticos servidos correctamente\n\n#### Pasos de Despliegue\n\n1. **Sube tu código a GitHub**\n2. **Crea un nuevo Web Service en Render**\n3. **Conecta tu repositorio**\n4. **Render detectará automáticamente que es una aplicación Go**\n5. **¡Despliega!**\n\nTu aplicación estará disponible en: `https://tu-app-name.onrender.com`\n\n### Otras Plataformas\n\n#### Railway\n```bash\n# Install Railway CLI\nnpm install -g @railway/cli\n\n# Login y deploy\nrailway login\nrailway init\nrailway up\n```\n\n#### Heroku\n```bash\n# Crear Procfile\necho \"web: ./bin/main\" \u003e Procfile\n\n# Deploy\nheroku create tu-app-name\ngit push heroku main\n```\n\n#### DigitalOcean App Platform\n1. Conectar repositorio\n2. Configurar: `go build -o bin/main ./cmd/server`\n3. Start: `./bin/main`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsazardev%2Fcv-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsazardev%2Fcv-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsazardev%2Fcv-generator/lists"}