Este es un proyecto de código abierto, construido con ❤️ para nuestros estudiantes de Capacitadero
🚀 Demo • 📖 Documentación • 🤝 Contribuir
- ♿ 100% Accesible: Optimizado para lectores de pantalla (NVDA, JAWS, VoiceOver)
- ⌨️ Navegación por teclado: Completamente funcional sin mouse
- 🎨 Estilo profesional: Formato Harvard, elegante y minimalista
- 📄 Exportación PDF: Descarga tu CV en formato profesional
- 🔄 Vista previa en tiempo real: Ve los cambios mientras escribes
- 🌐 Interfaz en español: Diseñado para hispanohablantes
- 📱 Responsive: Funciona en desktop, tablet y móvil
- 📊 Contador de descargas: Estadísticas en tiempo real con Firebase
- 📝 Formulario de retroalimentación: Recopila opiniones de usuarios (opcional)
| Tecnología | Uso |
|---|---|
| ⚛️ React 18+ | Framework principal |
| 📘 TypeScript | Tipado estático |
| 🎨 Tailwind CSS v4 | Estilos y diseño |
| 📄 jsPDF | Generación de PDFs |
| 🔥 Firebase Hosting | Despliegue web |
| 🗄️ Cloud Firestore | Base de datos (contador y retroalimentación) |
| ⚡ Cloud Functions | Backend serverless |
| 🎯 Lucide React | Iconos |
- Node.js 20+ y npm
- Firebase CLI (
npm install -g firebase-tools)
# Clonar el repositorio
git clone https://github.com/capacitadero/cvly.git
# Entrar al directorio
cd cvly
# Instalar dependencias del frontend
npm install
# Instalar dependencias de Cloud Functions
cd functions && npm install && cd ..
# Configurar variables de entorno
cp .env.example .env.local
# Editar .env.local con tus credenciales de Firebase
# Iniciar servidor de desarrollo
npm run devLa aplicación estará disponible en http://localhost:5173
- Crea un proyecto en Firebase Console
- Habilita Firestore Database
- Habilita Cloud Functions (requiere plan Blaze)
- Registra una Web App y copia las credenciales a
.env.local - Despliega las funciones:
firebase deploy --only functions
- Completa el formulario con tu información personal y profesional
- Visualiza en tiempo real cómo se ve tu CV en la columna derecha
- Descarga tu CV haciendo clic en "Descargar CV en PDF"
- Comparte tu opinión (opcional) en el formulario de retroalimentación
- 📝 Información Personal
- 💼 Experiencia Laboral (añade cuantas necesites)
- 🎓 Educación (añade cuantas necesites)
- ➕ Secciones Personalizadas (crea las que quieras)
# Construir y desplegar todo
npm run build && firebase deploy
# Solo hosting
npm run build && firebase deploy --only hosting
# Solo funciones
firebase deploy --only functions
# Solo reglas de Firestore
firebase deploy --only firestore:rulescvly/
├── src/
│ ├── config/
│ │ └── firebase.ts # Configuración Firebase
│ ├── hooks/
│ │ └── useDownloadCounter.ts # Hook del contador
│ ├── pages/
│ │ ├── IndexPage.tsx # Página principal
│ │ ├── CreatePage.tsx # Creador de CV
│ │ └── DownloadSuccessPage.tsx # Retroalimentación post-descarga
│ └── main.tsx
├── functions/
│ └── src/
│ └── index.ts # Cloud Functions
├── firebase.json # Configuración Firebase
├── firestore.rules # Reglas de seguridad
└── .env.local # Variables de entorno (no commitear)
CVly está construido siguiendo las pautas WCAG 2.1 nivel AA:
- ✅ HTML semántico en todo el sitio
- ✅ Etiquetas ARIA apropiadas
- ✅ Anuncios de lectores de pantalla para contenido dinámico
- ✅ Orden lógico de tabulación
- ✅ Contraste de colores accesible
- ✅ Textos alternativos descriptivos
Lectores de pantalla compatibles:
- 🖥️ NVDA (Windows)
- 🖥️ JAWS (Windows)
- 🍎 VoiceOver (macOS/iOS)
¡Las contribuciones son bienvenidas! Si quieres mejorar CVly:
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add: nueva característica') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Nota importante: Toda contribución debe mantener los estándares de accesibilidad del proyecto.
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
Este proyecto fue construido con el apoyo de Claude Code
Hecho con ❤️ para la comunidad de Capacitadero
⭐ Si te gusta este proyecto, ¡dale una estrella en GitHub!