إنشاء سيرة ذاتية تفاعلية

اختر من بين قوالب مذهلة واصنع سيرة ذاتية تفاعلية تلفت انتباه أصحاب العمل

بيانات السيرة الذاتية

معاينة مباشرة

ابدأ بإدخال بياناتك لمشاهدة المعاينة

تحليل ذكي

احصل على تقييم شامل لسيرتك الذاتية

موقع شخصي

حول سيرتك إلى موقع ويب تفاعلي

رمز QR

أنشئ رمز QR لسيرتك الذاتية

مشاركة تفاعلية

شارك سيرتك بروابط تفاعلية

خيارات التصدير والمشاركة

${document.getElementById('previewContent').innerHTML} `; const blob = new Blob([htmlContent], { type: 'text/html' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `${cvData.personal.fullName || 'السيرة_الذاتية'}.html`; a.click(); URL.revokeObjectURL(url); showNotification('تم تحميل ملف HTML بنجاح', 'success'); } function downloadJSON() { const dataStr = JSON.stringify(cvData, null, 2); const blob = new Blob([dataStr], { type: 'application/json' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `${cvData.personal.fullName || 'بيانات_السيرة_الذاتية'}.json`; a.click(); URL.revokeObjectURL(url); showNotification('تم تحميل ملف JSON بنجاح', 'success'); } function generateQR() { // Create a temporary URL for the CV data const cvDataStr = btoa(encodeURIComponent(JSON.stringify(cvData))); const cvUrl = `${window.location.origin}/view_cv.php?data=${cvDataStr}`; // Generate QR code QRCode.toDataURL(cvUrl, { width: 300, margin: 2 }, function (err, url) { if (err) { showNotification('فشل في إنشاء رمز QR', 'error'); return; } // Create download link const a = document.createElement('a'); a.href = url; a.download = `${cvData.personal.fullName || 'رمز_QR_السيرة_الذاتية'}.png`; a.click(); showNotification('تم إنشاء رمز QR بنجاح', 'success'); }); } function printCV() { const printWindow = window.open('', '_blank'); printWindow.document.write(` طباعة السيرة الذاتية ${document.getElementById('previewContent').innerHTML} `); printWindow.document.close(); printWindow.print(); showNotification('تم فتح نافذة الطباعة', 'info'); } // Advanced Features function previewFullscreen() { const content = document.getElementById('previewContent').innerHTML; const fullscreenWindow = window.open('', '_blank'); fullscreenWindow.document.write(` معاينة السيرة الذاتية
${content}
`); fullscreenWindow.document.close(); } function analyzeCV() { showLoading(); setTimeout(() => { const analysis = performCVAnalysis(); hideLoading(); showAnalysisResults(analysis); }, 2000); } function performCVAnalysis() { let score = 0; const feedback = []; // Check personal information completeness const personalFields = ['fullName', 'jobTitle', 'email', 'phone', 'summary']; const completedPersonal = personalFields.filter(field => cvData.personal[field]).length; score += (completedPersonal / personalFields.length) * 20; if (completedPersonal < personalFields.length) { feedback.push({ type: 'warning', message: `أكمل المعلومات الشخصية (${completedPersonal}/${personalFields.length})` }); } // Check experience if (cvData.experience.length === 0) { feedback.push({ type: 'error', message: 'أضف خبرة عملية واحدة على الأقل' }); } else { score += Math.min(cvData.experience.length * 10, 30); feedback.push({ type: 'success', message: `ممتاز! لديك ${cvData.experience.length} خبرة عملية` }); } // Check skills if (cvData.skills.length === 0) { feedback.push({ type: 'error', message: 'أضف مهارات تقنية ومهنية' }); } else { score += Math.min(cvData.skills.length * 5, 25); feedback.push({ type: 'success', message: `رائع! لديك ${cvData.skills.length} مهارة مدرجة` }); } // Check education if (cvData.education.length === 0) { feedback.push({ type: 'warning', message: 'أضف معلومات التعليم والشهادات' }); } else { score += Math.min(cvData.education.length * 10, 25); } return { score: Math.round(score), feedback: feedback, grade: getGrade(score) }; } function getGrade(score) { if (score >= 90) return { text: 'ممتاز', color: 'green' }; if (score >= 80) return { text: 'جيد جداً', color: 'blue' }; if (score >= 70) return { text: 'جيد', color: 'yellow' }; if (score >= 60) return { text: 'مقبول', color: 'orange' }; return { text: 'يحتاج تحسين', color: 'red' }; } function showAnalysisResults(analysis) { const modal = document.createElement('div'); modal.className = 'fixed inset-0 bg-black/50 backdrop-blur-sm z-50 flex items-center justify-center p-4'; modal.innerHTML = `
${analysis.score}%

تحليل السيرة الذاتية

${analysis.grade.text}

${analysis.feedback.map(item => `

${item.message}

`).join('')}
`; document.body.appendChild(modal); } function downloadAnalysisReport(analysis) { const reportContent = ` تقرير تحليل السيرة الذاتية ======================== الاسم: ${cvData.personal.fullName} النتيجة: ${analysis.score}% التقييم: ${analysis.grade.text} التوصيات: ${analysis.feedback.map(item => `- ${item.message}`).join('\n')} تاريخ التحليل: ${new Date().toLocaleDateString('ar-SA')} `; const blob = new Blob([reportContent], { type: 'text/plain; charset=utf-8' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `تقرير_تحليل_${cvData.personal.fullName || 'السيرة_الذاتية'}.txt`; a.click(); URL.revokeObjectURL(url); showNotification('تم تحميل تقرير التحليل', 'success'); } function createWebsite() { showLoading(); setTimeout(() => { const websiteUrl = generateStaticWebsite(); hideLoading(); const modal = document.createElement('div'); modal.className = 'fixed inset-0 bg-black/50 backdrop-blur-sm z-50 flex items-center justify-center p-4'; modal.innerHTML = `

تم إنشاء الموقع!

تم إنشاء موقع شخصي تفاعلي لسيرتك الذاتية

رابط الموقع:

${websiteUrl}

`; document.body.appendChild(modal); }, 3000); } function generateStaticWebsite() { const siteId = 'cv_' + Date.now(); const websiteUrl = `${window.location.origin}/sites/${siteId}/`; // In a real implementation, this would send data to the server // For demo purposes, we'll simulate it return websiteUrl; } function shareInteractive() { const shareData = { cvData: cvData, template: currentTemplate, viewMode: currentViewMode }; const shareUrl = `${window.location.origin}/interactive.php?shared=${btoa(JSON.stringify(shareData))}`; const modal = document.createElement('div'); modal.className = 'fixed inset-0 bg-black/50 backdrop-blur-sm z-50 flex items-center justify-center p-4'; modal.innerHTML = `

مشاركة السيرة الذاتية

شارك سيرتك الذاتية التفاعلية مع الآخرين

رابط المشاركة:

${shareUrl}

`; document.body.appendChild(modal); } function generateQRForShare(url) { QRCode.toDataURL(url, { width: 200, margin: 2 }, function (err, qrUrl) { if (err) { showNotification('فشل في إنشاء رمز QR', 'error'); return; } const qrModal = document.createElement('div'); qrModal.className = 'fixed inset-0 bg-black/50 backdrop-blur-sm z-50 flex items-center justify-center p-4'; qrModal.innerHTML = `

رمز QR للمشاركة

QR Code

امسح الرمز بالكاميرا لعرض السيرة الذاتية

`; document.body.appendChild(qrModal); }); } // Utility Functions function showLoading() { document.getElementById('loadingOverlay').classList.remove('hidden'); document.getElementById('loadingOverlay').classList.add('flex'); } function hideLoading() { document.getElementById('loadingOverlay').classList.add('hidden'); document.getElementById('loadingOverlay').classList.remove('flex'); } function showNotification(message, type = 'info') { const notification = document.createElement('div'); const colors = { 'success': 'bg-green-500', 'error': 'bg-red-500', 'info': 'bg-blue-500', 'warning': 'bg-yellow-500' }; const icons = { 'success': 'fas fa-check', 'error': 'fas fa-times', 'info': 'fas fa-info', 'warning': 'fas fa-exclamation' }; notification.className = `fixed top-6 left-1/2 transform -translate-x-1/2 ${colors[type]} text-white px-6 py-4 rounded-lg shadow-2xl z-50 flex items-center gap-3 animate-slide-up`; notification.innerHTML = ` ${message} `; document.body.appendChild(notification); setTimeout(() => { notification.style.transform = 'translate(-50%, -100px)'; notification.style.opacity = '0'; setTimeout(() => notification.remove(), 300); }, 3000); } function scrollToBuilder() { document.getElementById('cvBuilder').scrollIntoView({ behavior: 'smooth', block: 'start' }); } function watchDemo() { showNotification('فيديو تعريفي قريباً!', 'info'); } // Check for shared CV data document.addEventListener('DOMContentLoaded', function() { const urlParams = new URLSearchParams(window.location.search); const sharedData = urlParams.get('shared'); if (sharedData) { try { const shareInfo = JSON.parse(atob(sharedData)); cvData = shareInfo.cvData; currentTemplate = shareInfo.template; currentViewMode = shareInfo.viewMode; populateFormFields(); updateCVData(); updateButtonStates(); showNotification('تم تحميل السيرة الذاتية المشاركة', 'success'); } catch (e) { showNotification('رابط المشاركة غير صحيح', 'error'); } } });