Compare commits
No commits in common. "d37d47080ee9a8ed7d62574e714b18a944b018c3" and "c69e2e246fc8bdf5d6386959cd1ab36ec16d4ab3" have entirely different histories.
d37d47080e
...
c69e2e246f
2 changed files with 4 additions and 42 deletions
9
.gitignore
vendored
9
.gitignore
vendored
|
@ -136,11 +136,6 @@ dist
|
||||||
# Don't save environmental variables
|
# Don't save environmental variables
|
||||||
.env
|
.env
|
||||||
|
|
||||||
# Don't save job description generate the file on each computer this was just used as an example
|
# Don't save job description generate the file on each computer
|
||||||
|
|
||||||
job_description.txt
|
job_description.txt
|
||||||
|
|
||||||
|
|
||||||
# Don't commit the uploads folder it is temporary
|
|
||||||
uploads/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ router.post('/', upload.single('resume'), async (req, res) =>{
|
||||||
|
|
||||||
// Send resume to LLM
|
// Send resume to LLM
|
||||||
const resumeResponse = await anthropic.messages.create(resume_parser_api);
|
const resumeResponse = await anthropic.messages.create(resume_parser_api);
|
||||||
const candidateProfile = resumeResponse.content[0].text.split('```json')[1].split('```')[0].trim();
|
const candiateProfile = resumeResponse.content[0].text.split('```json')[1].split('```')[0].trim();
|
||||||
|
|
||||||
// Replace variables in cover letter API prompt
|
// Replace variables in cover letter API prompt
|
||||||
cover_letter_api.messages[0].content[0].text = cover_letter_api.messages[0].content[0].text
|
cover_letter_api.messages[0].content[0].text = cover_letter_api.messages[0].content[0].text
|
||||||
|
@ -61,36 +61,3 @@ router.post('/', upload.single('resume'), async (req, res) =>{
|
||||||
res.status(500).json({ error: 'Error generating cover letter' });
|
res.status(500).json({ error: 'Error generating cover letter' });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
router.post('/download', async (req, res) => {
|
|
||||||
try {
|
|
||||||
const { coverLetterText } = res.body;
|
|
||||||
|
|
||||||
const outputFilename = path.join(__dirname, '../uploads/cover_letter.docx');
|
|
||||||
generateCoverLetter(coverLetterText, outputFilename);
|
|
||||||
|
|
||||||
res.json({downloadLink: '/uploads/cover_letter.docx'});
|
|
||||||
} catch (error) {
|
|
||||||
console.error(error);
|
|
||||||
res.status(500).json({ error: 'Error generating document' });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function generateCoverLetter(rawText, outputFilename) {
|
|
||||||
const doc = new Document({
|
|
||||||
sections: [
|
|
||||||
{
|
|
||||||
children: [new Paragraph({ children: [new TextRun(rawText)] })],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
});
|
|
||||||
|
|
||||||
Packer.toBuffer(doc).then((buffer) => {
|
|
||||||
fs.writeFileSync(outputFilename, buffer);
|
|
||||||
console.log(`Cover letter saved to ${outputFilename}`);
|
|
||||||
}).catch(error => console.error("Error generating document:", error));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module.exports = router;
|
|
Loading…
Reference in a new issue