commit d228ba66fe79f514bf8024082985d941f6d1fb92
Author: root <root@hub.scroll.pub> Date: 2024-12-29 16:44:56 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..011680e --- /dev/null +++ b/body.html @@ -0,0 +1,27 @@ +<header> + <h1>CV Wizard</h1> + <p>Automate CV Screening & Candidate Selection</p> +</header> + +<main> + <section id="upload-section"> + <h2>Upload CVs</h2> + <input type="file" id="cv-upload" multiple accept=".pdf,.doc,.docx"> + <button id="upload-btn">Upload</button> + </section> + + <section id="requirements-section"> + <h2>Tailor Requirements</h2> + <textarea id="requirements" placeholder="Enter job requirements..."></textarea> + <button id="generate-jd">Generate Job Description</button> + </section> + + <section id="results-section"> + <h2>Qualified Candidates</h2> + <div id="candidate-list"></div> + </section> +</main> + +<footer> + <p>Simplify your hiring process with CV Wizard</p> +</footer> \ No newline at end of file diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..9df2b2d --- /dev/null +++ b/index.scroll @@ -0,0 +1,8 @@ +buildHtml +baseUrl https://cvwizard.scroll.pub +metaTags +editButton /edit.html +title CV Wizard - Automate CV Screening & Candidate Selection +style.css +body.html +script.js \ No newline at end of file diff --git a/prompt.json b/prompt.json new file mode 100644 index 0000000..e4f2fdc --- /dev/null +++ b/prompt.json @@ -0,0 +1,25 @@ +{ + "id": "8da4c6f9-2302-45e5-8195-694fbd474810", + "object": "chat.completion", + "created": 1735490679, + "model": "deepseek-chat", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "---domain---\ncvwizard.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://cvwizard.scroll.pub\nmetaTags\neditButton /edit.html\ntitle CV Wizard - Automate CV Screening & Candidate Selection\nstyle.css\nbody.html\nscript.js\n---body.html---\n<header>\n <h1>CV Wizard</h1>\n <p>Automate CV Screening & Candidate Selection</p>\n</header>\n\n<main>\n <section id=\"upload-section\">\n <h2>Upload CVs</h2>\n <input type=\"file\" id=\"cv-upload\" multiple accept=\".pdf,.doc,.docx\">\n <button id=\"upload-btn\">Upload</button>\n </section>\n\n <section id=\"requirements-section\">\n <h2>Tailor Requirements</h2>\n <textarea id=\"requirements\" placeholder=\"Enter job requirements...\"></textarea>\n <button id=\"generate-jd\">Generate Job Description</button>\n </section>\n\n <section id=\"results-section\">\n <h2>Qualified Candidates</h2>\n <div id=\"candidate-list\"></div>\n </section>\n</main>\n\n<footer>\n <p>Simplify your hiring process with CV Wizard</p>\n</footer>\n---style.css---\n:root {\n --primary-color: #4a90e2;\n --secondary-color: #f5f5f5;\n --text-color: #333;\n --border-radius: 8px;\n}\n\nbody {\n font-family: 'Segoe UI', sans-serif;\n margin: 0;\n padding: 0;\n color: var(--text-color);\n background-color: var(--secondary-color);\n line-height: 1.6;\n}\n\nheader {\n background-color: var(--primary-color);\n color: white;\n padding: 2rem;\n text-align: center;\n}\n\nmain {\n max-width: 800px;\n margin: 2rem auto;\n padding: 0 1rem;\n}\n\nsection {\n background: white;\n padding: 1.5rem;\n margin-bottom: 1.5rem;\n border-radius: var(--border-radius);\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n}\n\nh2 {\n color: var(--primary-color);\n margin-bottom: 1rem;\n}\n\ninput[type=\"file\"], textarea {\n width: 100%;\n padding: 0.5rem;\n margin-bottom: 1rem;\n border: 1px solid #ddd;\n border-radius: var(--border-radius);\n}\n\nbutton {\n background-color: var(--primary-color);\n color: white;\n border: none;\n padding: 0.5rem 1rem;\n border-radius: var(--border-radius);\n cursor: pointer;\n transition: background-color 0.3s;\n}\n\nbutton:hover {\n background-color: darken(var(--primary-color), 10%);\n}\n\n#candidate-list {\n display: grid;\n gap: 1rem;\n}\n\n.candidate-card {\n padding: 1rem;\n border: 1px solid #ddd;\n border-radius: var(--border-radius);\n}\n\nfooter {\n text-align: center;\n padding: 1rem;\n background-color: var(--primary-color);\n color: white;\n margin-top: 2rem;\n}\n\n@media (max-width: 600px) {\n header {\n padding: 1rem;\n }\n\n main {\n padding: 0 0.5rem;\n }\n\n section {\n padding: 1rem;\n }\n}\n---script.js---\ndocument.getElementById('upload-btn').addEventListener('click', function() {\n const files = document.getElementById('cv-upload').files;\n if (files.length > 0) {\n processCVs(files);\n } else {\n alert('Please select at least one CV file.');\n }\n});\n\ndocument.getElementById('generate-jd').addEventListener('click', function() {\n const requirements = document.getElementById('requirements').value;\n if (requirements.trim() !== '') {\n generateJobDescription(requirements);\n } else {\n alert('Please enter job requirements.');\n }\n});\n\nfunction processCVs(files) {\n // Simulate CV processing\n const candidateList = document.getElementById('candidate-list');\n candidateList.innerHTML = '';\n \n Array.from(files).forEach((file, index) => {\n const candidateCard = document.createElement('div');\n candidateCard.className = 'candidate-card';\n candidateCard.innerHTML = `\n <h3>Candidate ${index + 1}</h3>\n <p>File: ${file.name}</p>\n <p>Status: Qualified</p>\n `;\n candidateList.appendChild(candidateCard);\n });\n}\n\nfunction generateJobDescription(requirements) {\n // Simulate JD generation\n const jd = `Job Description based on requirements:\n \n${requirements}\n\nAdditional details:\n- Competitive salary\n- Flexible working hours\n- Professional development opportunities`;\n\n alert(jd);\n}\n---end---" + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 263, + "completion_tokens": 1088, + "total_tokens": 1351, + "prompt_cache_hit_tokens": 0, + "prompt_cache_miss_tokens": 263 + }, + "system_fingerprint": "fp_f1afce2943" +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..506ac29 --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# cvwizard.scroll.pub +Website generated by DeepSeek from prompt: I want a website to help me automate cv screening and candidate selection, give me a list of qualified candidates and generate JD automatically according to tailored requirements \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..8111bf7 --- /dev/null +++ b/script.js @@ -0,0 +1,48 @@ +document.getElementById('upload-btn').addEventListener('click', function() { + const files = document.getElementById('cv-upload').files; + if (files.length > 0) { + processCVs(files); + } else { + alert('Please select at least one CV file.'); + } +}); + +document.getElementById('generate-jd').addEventListener('click', function() { + const requirements = document.getElementById('requirements').value; + if (requirements.trim() !== '') { + generateJobDescription(requirements); + } else { + alert('Please enter job requirements.'); + } +}); + +function processCVs(files) { + // Simulate CV processing + const candidateList = document.getElementById('candidate-list'); + candidateList.innerHTML = ''; + + Array.from(files).forEach((file, index) => { + const candidateCard = document.createElement('div'); + candidateCard.className = 'candidate-card'; + candidateCard.innerHTML = ` + <h3>Candidate ${index + 1}</h3> + <p>File: ${file.name}</p> + <p>Status: Qualified</p> + `; + candidateList.appendChild(candidateCard); + }); +} + +function generateJobDescription(requirements) { + // Simulate JD generation + const jd = `Job Description based on requirements: + +${requirements} + +Additional details: +- Competitive salary +- Flexible working hours +- Professional development opportunities`; + + alert(jd); +} \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..91d644b --- /dev/null +++ b/style.css @@ -0,0 +1,96 @@ +:root { + --primary-color: #4a90e2; + --secondary-color: #f5f5f5; + --text-color: #333; + --border-radius: 8px; +} + +body { + font-family: 'Segoe UI', sans-serif; + margin: 0; + padding: 0; + color: var(--text-color); + background-color: var(--secondary-color); + line-height: 1.6; +} + +header { + background-color: var(--primary-color); + color: white; + padding: 2rem; + text-align: center; +} + +main { + max-width: 800px; + margin: 2rem auto; + padding: 0 1rem; +} + +section { + background: white; + padding: 1.5rem; + margin-bottom: 1.5rem; + border-radius: var(--border-radius); + box-shadow: 0 2px 4px rgba(0,0,0,0.1); +} + +h2 { + color: var(--primary-color); + margin-bottom: 1rem; +} + +input[type="file"], textarea { + width: 100%; + padding: 0.5rem; + margin-bottom: 1rem; + border: 1px solid #ddd; + border-radius: var(--border-radius); +} + +button { + background-color: var(--primary-color); + color: white; + border: none; + padding: 0.5rem 1rem; + border-radius: var(--border-radius); + cursor: pointer; + transition: background-color 0.3s; +} + +button:hover { + background-color: darken(var(--primary-color), 10%); +} + +#candidate-list { + display: grid; + gap: 1rem; +} + +.candidate-card { + padding: 1rem; + border: 1px solid #ddd; + border-radius: var(--border-radius); +} + +footer { + text-align: center; + padding: 1rem; + background-color: var(--primary-color); + color: white; + margin-top: 2rem; +} + +@media (max-width: 600px) { + header { + padding: 1rem; + } + + main { + padding: 0 0.5rem; + } + + section { + padding: 1rem; + } +} \ No newline at end of file