Upload 7 files
Browse files- Resource/my_portfolio.csv +21 -0
- templates/index.html +119 -0
- vectorstore/4642a0b1-d77e-4e43-bdce-3d00e9303032/data_level0.bin +3 -0
- vectorstore/4642a0b1-d77e-4e43-bdce-3d00e9303032/header.bin +3 -0
- vectorstore/4642a0b1-d77e-4e43-bdce-3d00e9303032/length.bin +3 -0
- vectorstore/4642a0b1-d77e-4e43-bdce-3d00e9303032/link_lists.bin +3 -0
- vectorstore/chroma.sqlite3 +0 -0
Resource/my_portfolio.csv
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"Techstack","Links"
|
2 |
+
"React, Node.js, MongoDB","https://example.com/react-portfolio"
|
3 |
+
"Angular,.NET, SQL Server","https://example.com/angular-portfolio"
|
4 |
+
"Vue.js, Ruby on Rails, PostgreSQL","https://example.com/vue-portfolio"
|
5 |
+
"Python, Django, MySQL","https://example.com/python-portfolio"
|
6 |
+
"Java, Spring Boot, Oracle","https://example.com/java-portfolio"
|
7 |
+
"Flutter, Firebase, GraphQL","https://example.com/flutter-portfolio"
|
8 |
+
"WordPress, PHP, MySQL","https://example.com/wordpress-portfolio"
|
9 |
+
"Magento, PHP, MySQL","https://example.com/magento-portfolio"
|
10 |
+
"React Native, Node.js, MongoDB","https://example.com/react-native-portfolio"
|
11 |
+
"iOS, Swift, Core Data","https://example.com/ios-portfolio"
|
12 |
+
"Android, Java, Room Persistence","https://example.com/android-portfolio"
|
13 |
+
"Kotlin, Android, Firebase","https://example.com/kotlin-android-portfolio"
|
14 |
+
"Android TV, Kotlin, Android NDK","https://example.com/android-tv-portfolio"
|
15 |
+
"iOS, Swift, ARKit","https://example.com/ios-ar-portfolio"
|
16 |
+
"Cross-platform, Xamarin, Azure","https://example.com/xamarin-portfolio"
|
17 |
+
"Backend, Kotlin, Spring Boot","https://example.com/kotlin-backend-portfolio"
|
18 |
+
"Frontend, TypeScript, Angular","https://example.com/typescript-frontend-portfolio"
|
19 |
+
"Full-stack, JavaScript, Express.js","https://example.com/full-stack-js-portfolio"
|
20 |
+
"Machine Learning, Python, TensorFlow","https://example.com/ml-python-portfolio"
|
21 |
+
"DevOps, Jenkins, Docker","https://example.com/devops-portfolio"
|
templates/index.html
ADDED
@@ -0,0 +1,119 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6 |
+
<title>Cold Email Generator</title>
|
7 |
+
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
|
8 |
+
<style>
|
9 |
+
body {
|
10 |
+
background-color: #121212;
|
11 |
+
color: #e0e0e0;
|
12 |
+
font-family: Arial, sans-serif;
|
13 |
+
}
|
14 |
+
.container {
|
15 |
+
margin-top: 50px;
|
16 |
+
}
|
17 |
+
.form-control {
|
18 |
+
background-color: #e0e0e0; /* Slightly darker than pure white */
|
19 |
+
color: #333; /* Dark text for better readability */
|
20 |
+
border: 1px solid #ccc;
|
21 |
+
}
|
22 |
+
.btn-primary {
|
23 |
+
background-color: #4caf50; /* Soft green color */
|
24 |
+
border: none;
|
25 |
+
}
|
26 |
+
.btn-primary:hover {
|
27 |
+
background-color: #45a049; /* Darker green on hover */
|
28 |
+
}
|
29 |
+
.email-box {
|
30 |
+
background-color: #e0e0e0; /* Same as input bar */
|
31 |
+
color: #000; /* Black text for visibility */
|
32 |
+
padding: 15px;
|
33 |
+
margin-top: 20px;
|
34 |
+
border-radius: 8px;
|
35 |
+
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
36 |
+
position: relative;
|
37 |
+
white-space: pre-wrap; /* Preserve formatting */
|
38 |
+
overflow: auto; /* Handle overflow */
|
39 |
+
}
|
40 |
+
.copy-button {
|
41 |
+
position: absolute;
|
42 |
+
top: 10px;
|
43 |
+
right: 10px;
|
44 |
+
background-color: #007bff;
|
45 |
+
border: none;
|
46 |
+
color: white;
|
47 |
+
padding: 5px 10px;
|
48 |
+
border-radius: 5px;
|
49 |
+
cursor: pointer;
|
50 |
+
}
|
51 |
+
.copy-button:hover {
|
52 |
+
background-color: #0056b3;
|
53 |
+
}
|
54 |
+
</style>
|
55 |
+
</head>
|
56 |
+
<body>
|
57 |
+
<div class="container">
|
58 |
+
<h1 class="text-center">📧 Cold Email Generator</h1>
|
59 |
+
<form id="emailForm">
|
60 |
+
<div class="form-group">
|
61 |
+
<label for="url">Enter a URL:</label>
|
62 |
+
<input type="text" class="form-control" id="url" name="url" placeholder="Enter the careers page URL">
|
63 |
+
</div>
|
64 |
+
<button type="submit" class="btn btn-primary btn-block">Generate Email</button>
|
65 |
+
</form>
|
66 |
+
<div id="emailContainer"></div>
|
67 |
+
</div>
|
68 |
+
|
69 |
+
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
|
70 |
+
<script>
|
71 |
+
$(document).ready(function() {
|
72 |
+
$('#emailForm').on('submit', function(e) {
|
73 |
+
e.preventDefault();
|
74 |
+
const url = $('#url').val();
|
75 |
+
if (!url) {
|
76 |
+
alert("Please enter a URL.");
|
77 |
+
return;
|
78 |
+
}
|
79 |
+
|
80 |
+
// Show loading message
|
81 |
+
const loadingMessage = $('<div class="email-box" id="loading">Generating email, please wait...</div>');
|
82 |
+
$('#emailContainer').html(loadingMessage);
|
83 |
+
|
84 |
+
$.ajax({
|
85 |
+
url: '/generate-email',
|
86 |
+
method: 'POST',
|
87 |
+
data: { url: url },
|
88 |
+
success: function(response) {
|
89 |
+
$('#loading').remove(); // Remove the loading message
|
90 |
+
|
91 |
+
if (response.error) {
|
92 |
+
$('#emailContainer').html(`<div class="email-box text-danger">${response.error}</div>`);
|
93 |
+
} else {
|
94 |
+
const emailHtml = `
|
95 |
+
<div class="email-box">
|
96 |
+
<button class="copy-button">Copy</button>
|
97 |
+
<pre>${response.email}</pre>
|
98 |
+
</div>
|
99 |
+
`;
|
100 |
+
$('#emailContainer').html(emailHtml); // Show the new email only
|
101 |
+
}
|
102 |
+
},
|
103 |
+
error: function() {
|
104 |
+
$('#loading').remove(); // Remove the loading message
|
105 |
+
$('#emailContainer').html('<div class="email-box text-danger">An error occurred while generating the email.</div>');
|
106 |
+
}
|
107 |
+
});
|
108 |
+
});
|
109 |
+
|
110 |
+
$(document).on('click', '.copy-button', function() {
|
111 |
+
const emailText = $(this).siblings('pre').text();
|
112 |
+
navigator.clipboard.writeText(emailText).then(() => {
|
113 |
+
alert("Email copied to clipboard!");
|
114 |
+
});
|
115 |
+
});
|
116 |
+
});
|
117 |
+
</script>
|
118 |
+
</body>
|
119 |
+
</html>
|
vectorstore/4642a0b1-d77e-4e43-bdce-3d00e9303032/data_level0.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:d3c9fd302f000d7790aa403c2d0d8fec363fe46f30b07d53020b6e33b22435a9
|
3 |
+
size 1676000
|
vectorstore/4642a0b1-d77e-4e43-bdce-3d00e9303032/header.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:e87a1dc8bcae6f2c4bea6d5dd5005454d4dace8637dae29bff3c037ea771411e
|
3 |
+
size 100
|
vectorstore/4642a0b1-d77e-4e43-bdce-3d00e9303032/length.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:09f948a1841207e29562fac723bc7e0647c38c429ecca23de444858aee557f25
|
3 |
+
size 4000
|
vectorstore/4642a0b1-d77e-4e43-bdce-3d00e9303032/link_lists.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
3 |
+
size 0
|
vectorstore/chroma.sqlite3
ADDED
Binary file (176 kB). View file
|
|