WebashalarForML commited on
Commit
da01a87
1 Parent(s): a321f36

Update templates/result.html

Browse files
Files changed (1) hide show
  1. templates/result.html +384 -336
templates/result.html CHANGED
@@ -1,375 +1,423 @@
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>Processed Results</title>
7
- <link
8
- href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
9
- rel="stylesheet"
10
- />
11
  <style>
12
- body {
13
- background-color: #1c1c1e;
14
- font-family: "Poppins", sans-serif;
15
- color: #f5f5f7;
16
- }
17
- h1 {
18
- color: #e5e5e7;
19
- text-align: center;
20
- /* margin-bottom: 20px; */
21
- }
22
- .cont {
23
- background-color: #2c2c2e;
24
- padding: 30px;
25
- border-radius: 15px;
26
- box-shadow: 0 8px 16px rgba(0, 0, 0, 0.5);
27
- transition: 1s ease;
28
- }
29
- .section-title {
30
- color: #ff9f0a;
31
- font-size: 1.5rem;
32
- font-weight: bold;
33
- margin-top: 20px;
34
- border-bottom: 2px solid #ff9f0a;
35
- padding-bottom: 10px;
36
- }
37
- .card {
38
- background-color: #3a3a3c;
39
- color: #f5f5f7;
40
- border-radius: 10px;
41
- margin-bottom: 15px;
42
- padding: 15px;
43
- box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
44
- transition: background-color 0.3s ease;
45
- }
46
- .card:hover {
47
- background-color: #3a3a3c98;
48
- }
49
- .card-title {
50
- color: #ff9f0a;
51
- font-size: 1.2rem;
52
- font-weight: bold;
53
- }
54
- .card-text {
55
- color: #d1d1d6;
56
- font-size: 1rem;
57
- }
58
- ul {
59
- list-style-type: none;
60
- padding-left: 0;
61
- }
62
- li::before {
63
- content: "• ";
64
- color: #ff9f0a;
65
- }
66
- .btn-reset {
67
- background-color: #ff453a;
68
- color: white;
69
- border: none;
70
- padding: 10px 20px;
71
- border-radius: 5px;
72
- transition: background-color 0.3s ease;
73
- margin-bottom: 20px;
74
- }
75
- .btn-reset:hover {
76
- background-color: #e03a2f;
77
- }
78
- .alert {
79
- text-align: center;
80
- position: absolute;
81
- top: 0;
82
- right: 15%;
83
- /* right: 50%;
84
- transform: translateX(-50%); */
85
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  </style>
87
- </head>
88
- <body>
 
89
  <div class="container">
90
- {% with messages = get_flashed_messages() %} {% if messages %}
91
- <div class="alert alert-success mt-4 " id="flash-message">
92
- {{ messages[0] }}
93
- </div>
94
- {% endif %} {% endwith %}
 
 
 
 
 
 
 
 
95
 
96
- <!-- <div class="alert alert-success mt-4 " id="flash-message">
97
- sfdsdaa asfcsd sdgsfr sdfgfd jhijunb hun hjujbuy hgbuuuu jjf
98
- </div> -->
99
- </div>
100
- <div class="container cont mt-5">
101
- <div class="d-flex align-items-center justify-content-between">
102
- <h1>Processed Data</h1>
103
- <!-- Reset Button -->
104
- <div class="text-center mt-4">
105
- <a href="{{ url_for('reset_upload') }}" class="btn btn-reset"
106
- >Reset & Upload New File</a
107
- >
108
- </div>
109
- </div>
110
- {% if parsed_data %}
111
- <!-- Personal Information Section -->
112
- <section>
113
- <h3 class="section-title">Personal Information</h3>
114
- <div class="row">
115
- <div class="col-md-12">
116
- <div class="card">
117
- <div class="card-body">
118
- <div class="d-flex">
119
- <h5 class="card-title">Name:</h5>
120
- <p class="card-text">
121
- &nbsp;{{ parsed_data.personal.name or 'Not Found' }}
122
- </p>
123
- </div>
124
- <div class="d-flex">
125
- <h5 class="card-title">Contact:</h5>
126
- <p class="card-text">
127
- &nbsp;{{ parsed_data.personal.contact or 'Not Found' }}
128
- {% if parsed_data.personal.invalid_contact %}
129
- &nbsp; - ({{ parsed_data.personal.invalid_contact }})
130
- {% endif %}
131
- </p>
132
- </div>
133
- <div class="d-flex">
134
- <h5 class="card-title">Email:</h5>
135
- <p class="card-text">
136
- &nbsp;{{ parsed_data.personal.email or 'Not Found' }}
137
- {% if parsed_data.personal.invalid_email %}
138
- &nbsp; ({{ parsed_data.personal.invalid_email }})
139
- {% endif %}
140
- </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
  </div>
142
- <div class="d-flex">
143
- <h5 class="card-title">Location:</h5>
144
- <p class="card-text">
145
- &nbsp;{{ parsed_data.personal.location or 'Not Found' }}
146
- </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
147
  </div>
148
- <div class="d-fle">
149
- <h5 class="card-title">LinkedIn:</h5>
150
- <p class="card-text">
151
- {% if parsed_data.personal.linkedin != 'Not found' %}
 
 
 
 
 
152
  <ul>
153
- {% for lnk in parsed_data.personal.linkedin %}
154
- <li>&nbsp;<a href="{{ lnk }}" target="_blank">{{ lnk }}</a></li>
155
  {% endfor %}
156
  </ul>
157
  {% else %}
158
- Not Found
159
  {% endif %}
160
- </p>
161
  </div>
162
- <div class="d-fle">
163
- <h5 class="card-title">GitHub:</h5>
164
- <p class="card-text">
165
- {% if parsed_data.personal.github != 'Not found' %}
 
 
 
 
 
 
166
  <ul>
167
- {% for git in parsed_data.personal.github %}
168
- <li>&nbsp; <a href="{{ git }}" target="_blank">{{ git }}</a></li>
 
169
  {% endfor %}
170
  </ul>
171
  {% else %}
172
- Not Found
173
  {% endif %}
174
- </p>
175
  </div>
176
- <h5 class="card-title">Other Links:</h5>
177
- {% if parsed_data.personal.other_links %}
178
- <ul>
179
- {% for link in parsed_data.personal.other_links %}
180
- <li><a href="{{ link }}" target="_blank">{{ link }}</a></li>
181
- {% endfor %}
182
- </ul>
183
- {% else %}
184
- <p>Not Found</p>
185
- {% endif %}
186
  </div>
 
187
  </div>
188
- </div>
189
- </div>
190
- </section>
191
-
192
-
193
- <!-- Professional Information Section -->
194
- <section>
195
- <h3 class="section-title">Professional Information</h3>
196
- <div class="row">
197
- <!-- Technical Skills -->
198
- <div class="col-md-6 col-lg-4 mb-4">
199
- <div class="card">
200
- <div class="card-body">
201
- <h5 class="card-title">Technical Skills:</h5>
202
- {% if parsed_data.professional.technical_skills and parsed_data.professional.technical_skills is iterable and parsed_data.professional.technical_skills is not string %}
203
- <ul>
204
- {% for skill in parsed_data.professional.technical_skills %}
205
- <li>{{ skill }}</li>
206
- {% endfor %}
207
- </ul>
208
- {% else %}
209
- <p>No technical skills found</p>
210
- {% endif %}
211
- </div>
212
- </div>
213
- </div>
214
- <!-- Tools -->
215
- <div class="col-md-6 col-lg-4 mb-4">
216
- <div class="card">
217
- <div class="card-body">
218
- <h5 class="card-title">Tools:</h5>
219
- {% if parsed_data.professional.tools and parsed_data.professional.tools is iterable and parsed_data.professional.tools is not string %}
220
- <ul>
221
- {% for tool in parsed_data.professional.tools %}
222
- <li>{{ tool }}</li>
223
- {% endfor %}
224
- </ul>
225
- {% else %}
226
- <p>No tools found</p>
227
- {% endif %}
228
- </div>
229
- </div>
230
- </div>
231
- <!-- Soft Skills -->
232
- <div class="col-md-6 col-lg-4 mb-4">
233
- <div class="card">
234
- <div class="card-body">
235
- <h5 class="card-title">Soft Skills:</h5>
236
- {% if parsed_data.professional.non_technical_skills and parsed_data.professional.non_technical_skills is iterable and parsed_data.professional.non_technical_skills is not string %}
237
- <ul>
238
- {% for skill in parsed_data.professional.non_technical_skills
239
- %}
240
- <li>{{ skill }}</li>
241
- {% endfor %}
242
- </ul>
243
- {% else %}
244
- <p>No soft skills found</p>
245
- {% endif %}
246
- </div>
247
- </div>
248
- </div>
249
- </div>
250
- </section>
251
 
252
- <!-- Experience Section -->
253
- <section>
254
- <h3 class="card-title p-3">Experience:</h3>
255
- <div class="row">
256
- <div class="col-md-12">
257
- <div class="card">
258
- <div class="card-body">
259
- <h5 class="card-title">Company:</h5>
260
- {% if parsed_data.professional.experience[0].company and
261
- parsed_data.professional.experience[0].company is iterable and
262
- parsed_data.professional.experience[0].company is not string %}
263
- <ul>
264
- {% for Company in parsed_data.professional.experience[0].company %}
265
- <li>{{ Company }}</li>
266
- {% endfor %}
267
- </ul>
268
- {% else %}
269
- <p>Not Found</p>
270
- {% endif %}
271
- <h5 class="card-title">Projects:</h5>
272
- {% if parsed_data.professional.experience[0].projects and
273
- parsed_data.professional.experience[0].projects is iterable and
274
- parsed_data.professional.experience[0].projects is not string %}
275
- <ul>
276
- {% for project in parsed_data.professional.experience[0].projects %}
277
- <li>{{ project }}</li>
278
- {% endfor %}
279
- </ul>
280
- {% else %}
281
- <p>Not Found</p>
282
- {% endif %}
283
- <div class="d-flex">
284
- <h5 class="card-title">Role:</h5>
285
- <p class="card-text">
286
- &nbsp;{{ parsed_data.professional.experience[0].role or 'Not
287
- Found' }}
288
- </p>
289
- </div>
290
- <div class="d-flex">
291
- <h5 class="card-title">Years of Experience:</h5>
292
- <p class="card-text">
293
- &nbsp;{{ parsed_data.professional.experience[0].years or
294
- 'Not Found' }}
295
- </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
296
  </div>
297
- <h5 class="card-title">Project Experience:</h5>
298
- {% if parsed_data.professional.experience[0].project_experience and
299
- parsed_data.professional.experience[0].project_experience is iterable and
300
- parsed_data.professional.experience[0].project_experience is not string %}
301
- <ul>
302
- {% for project in parsed_data.professional.experience[0].project_experience %}
303
- <li>{{ project }}</li>
304
- {% endfor %}
305
- </ul>
306
- {% else %}
307
- <p>Not Found</p>
308
- {% endif %}
309
  </div>
310
  </div>
311
  </div>
312
- </div>
313
- </section>
314
 
315
- <!-- Education Section -->
316
- <section>
317
- <h3 class="card-title p-3">Education:</h3>
318
- <div class="row">
319
- <div class="col-md-12">
320
- <div class="card">
321
- <div class="card-body">
322
- <div class="d-flex">
323
- <h5 class="card-title">Qualification:</h5>
324
- <p class="card-text">
325
- &nbsp;{{ parsed_data.professional.education[0].qualification
326
- }}
327
- </p>
328
- </div>
329
- <div class="d-flex">
330
- <h5 class="card-title">University:</h5>
331
- <p class="card-text">
332
- &nbsp;{{ parsed_data.professional.education[0].university or
333
- 'Not Found' }}
334
- </p>
335
- </div>
336
- <div class="d-flex">
337
- <h5 class="card-title">Course:</h5>
338
- <p class="card-text">
339
- &nbsp;{{ parsed_data.professional.education[0].course or
340
- 'Not Found' }}
341
- </p>
342
- </div>
343
- <div class="d-flex">
344
- <h5 class="card-title">Certificate:</h5>
345
- <p class="card-text">
346
- &nbsp;{{ parsed_data.professional.education[0].certificate
347
- or 'Not Found' }}
348
- </p>
 
 
 
 
349
  </div>
350
- </div>
351
- </div>
352
- </div>
353
- </div>
354
- </section>
355
 
356
-
357
 
358
- {% else %}
359
- <p>No data available. Please process a file.</p>
360
- {% endif %}
 
361
  </div>
362
 
363
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
364
  <script>
365
- setTimeout(function () {
366
- let flashMessage = document.getElementById("flash-message");
367
- if (flashMessage) {
368
- flashMessage.style.transition = "opacity 1s ease";
369
- flashMessage.style.opacity = 0;
370
- setTimeout(() => flashMessage.remove(), 1000);
371
- }
372
- }, 3000);
373
  </script>
374
- </body>
375
- </html>
 
 
1
  <!DOCTYPE html>
2
  <html lang="en">
3
+
4
+ <head>
5
  <meta charset="UTF-8" />
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
  <title>Processed Results</title>
8
+ <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" />
 
 
 
9
  <style>
10
+ body {
11
+ background-color: #1c1c1e;
12
+ font-family: "Poppins", sans-serif;
13
+ color: #f5f5f7;
14
+ }
15
+
16
+ h1 {
17
+ color: #e5e5e7;
18
+ text-align: center;
19
+ }
20
+
21
+ .cont {
22
+ background-color: #2c2c2e;
23
+ padding: 30px;
24
+ border-radius: 15px;
25
+ box-shadow: 0 8px 16px rgba(0, 0, 0, 0.5);
26
+ transition: 1s ease;
27
+ }
28
+
29
+ .section-title {
30
+ color: #ff9f0a;
31
+ font-size: 1.5rem;
32
+ font-weight: bold;
33
+ margin-top: 20px;
34
+ border-bottom: 2px solid #ff9f0a;
35
+ padding-bottom: 10px;
36
+ }
37
+
38
+ .card {
39
+ background-color: #3a3a3c;
40
+ color: #f5f5f7;
41
+ border-radius: 10px;
42
+ margin-bottom: 15px;
43
+ padding: 15px;
44
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
45
+ transition: background-color 0.3s ease;
46
+ }
47
+
48
+ .card:hover {
49
+ background-color: #3a3a3c98;
50
+ }
51
+
52
+ .card-title {
53
+ color: #ff9f0a;
54
+ font-size: 1.2rem;
55
+ font-weight: bold;
56
+ }
57
+
58
+ .card-text {
59
+ color: #d1d1d6;
60
+ font-size: 1rem;
61
+ }
62
+
63
+ ul {
64
+ list-style-type: none;
65
+ padding-left: 0;
66
+ }
67
+
68
+ li::before {
69
+ content: "• ";
70
+ color: #ff9f0a;
71
+ }
72
+
73
+ .btn-reset {
74
+ background-color: #ff453a;
75
+ color: white;
76
+ border: none;
77
+ padding: 10px 20px;
78
+ border-radius: 5px;
79
+ transition: background-color 0.3s ease;
80
+ margin-bottom: 20px;
81
+ }
82
+
83
+ .btn-reset:hover {
84
+ background-color: #e03a2f;
85
+ }
86
+
87
+ .alert {
88
+ text-align: center;
89
+ position: absolute;
90
+ top: 0;
91
+ right: 15%;
92
+ }
93
+
94
+ iframe {
95
+ width: 100%;
96
+ height: 100%;
97
+ background-color: #3a3a3c;
98
+ color: #f5f5f7;
99
+ border-radius: 10px;
100
+ margin-bottom: 15px;
101
+ padding: 15px;
102
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
103
+ transition: background-color 0.3s ease;
104
+ }
105
+
106
+ .pdf-container {
107
+ height: 100%;
108
+ min-height: 700px;
109
+ overflow: hidden;
110
+ }
111
+
112
+ .file-viewer {
113
+ width: 100%;
114
+ height: 600px;
115
+ }
116
+
117
+ .row {
118
+ margin-top: 20px;
119
+ background-color: #3a3a3c;
120
+ color: #f5f5f7;
121
+ border-radius: 10px;
122
+ margin-bottom: 15px;
123
+ padding: 15px;
124
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
125
+ transition: background-color 0.3s ease;
126
+ }
127
  </style>
128
+ </head>
129
+
130
+ <body>
131
  <div class="container">
132
+ {% with messages = get_flashed_messages() %} {% if messages %}
133
+ <div class="alert alert-success mt-4 " id="flash-message">
134
+ {{ messages[0] }}
135
+ </div>
136
+ {% endif %} {% endwith %}
137
+ <div class="container cont mt-5">
138
+ <div class="d-flex align-items-center justify-content-between">
139
+ <h1>Processed Data</h1>
140
+ <!-- Reset Button -->
141
+ <div class="text-center mt-4">
142
+ <a href="{{ url_for('reset_upload') }}" class="btn btn-reset">Reset & Upload New File</a>
143
+ </div>
144
+ </div>
145
 
146
+ <!-- PDF and Personal Information Section -->
147
+ <section>
148
+ <h3 class="section-title">Personal Information</h3>
149
+ <div class="row">
150
+ <!-- PDF Viewer Column -->
151
+ <div class="col-md-6 file-container">
152
+ {% if parsed_data %}
153
+ {% if file_extension in ['pdf'] %}
154
+ <!-- Display PDF in an iframe -->
155
+ <iframe src="{{ file_url }}" title="PDF Viewer" class="file-viewer"></iframe>
156
+ {% elif file_extension in ['png', 'jpg', 'jpeg'] %}
157
+ <!-- Display Image -->
158
+ <img src="{{ file_url }}" alt="Processed Image" class="img-fluid file-viewer" />
159
+ {% elif file_extension in ['docx', 'rsf', 'odt'] %}
160
+ <!-- Provide Download Link for Non-Viewable Files -->
161
+ <a href="{{ file_url }}" class="btn btn-primary" download>Download {{ file_extension | upper }}
162
+ File</a>
163
+ {% else %}
164
+ <p>Can't Display This File Type.</p>
165
+ {% endif %}
166
+ {% else %}
167
+ <p>Can't Display Files.</p>
168
+ {% endif %}
169
+ </div>
170
+
171
+ <!-- Personal Information Column -->
172
+
173
+ <div class="col-md-6">
174
+ {% if parsed_data %}
175
+ <div class="card">
176
+ <div class="card-body">
177
+ <div class="d-flex">
178
+ <h5 class="card-title">Name:</h5>
179
+ <p class="card-text">&nbsp;{{ parsed_data.personal.name or 'Not Found' }}</p>
180
+ </div>
181
+ <div class="d-flex">
182
+ <h5 class="card-title">Contact:</h5>
183
+ <p class="card-text">
184
+ &nbsp;{{ parsed_data.personal.contact or 'Not Found' }}
185
+ {% if parsed_data.personal.invalid_contact %}
186
+ &nbsp; - ({{ parsed_data.personal.invalid_contact }})
187
+ {% endif %}
188
+ </p>
189
+ </div>
190
+ <div class="d-flex">
191
+ <h5 class="card-title">Email:</h5>
192
+ <p class="card-text">
193
+ &nbsp;{{ parsed_data.personal.email or 'Not Found' }}
194
+ {% if parsed_data.personal.invalid_email %}
195
+ &nbsp; ({{ parsed_data.personal.invalid_email }})
196
+ {% endif %}
197
+ </p>
198
+ </div>
199
+ <div class="d-flex">
200
+ <h5 class="card-title">Location:</h5>
201
+ <p class="card-text">&nbsp;{{ parsed_data.personal.location or 'Not Found' }}</p>
202
+ </div>
203
+ <div class="d-flex">
204
+ <h5 class="card-title">LinkedIn:</h5>
205
+ <p class="card-text">
206
+ {% if parsed_data.personal.linkedin != 'Not found' %}
207
+ <ul>
208
+ {% for lnk in parsed_data.personal.linkedin %}
209
+ <li>&nbsp;<a href="{{ lnk }}" target="_blank">{{ lnk }}</a></li>
210
+ {% endfor %}
211
+ </ul>
212
+ {% else %} Not Found {% endif %}
213
+ </p>
214
+ </div>
215
+ <div class="d-flex">
216
+ <h5 class="card-title">GitHub:</h5>
217
+ <p class="card-text">
218
+ {% if parsed_data.personal.github != 'Not found' %}
219
+ <ul>
220
+ {% for git in parsed_data.personal.github %}
221
+ <li>&nbsp; <a href="{{ git }}" target="_blank">{{ git }}</a></li>
222
+ {% endfor %}
223
+ </ul>
224
+ {% else %} Not Found {% endif %}
225
+ </p>
226
+ </div>
227
  </div>
228
+ </div>
229
+ {% endif %}
230
+ </div>
231
+ </div>
232
+ </section>
233
+
234
+ <!-- Professional Information Section -->
235
+ <section>
236
+ <h3 class="section-title">Professional Information</h3>
237
+ <div class="row">
238
+ <!-- Technical Skills -->
239
+ <div class="col-md-6 col-lg-4 mb-4">
240
+ <div class="card">
241
+ <div class="card-body">
242
+ <h5 class="card-title">Technical Skills:</h5>
243
+ {% if parsed_data.professional.technical_skills and
244
+ parsed_data.professional.technical_skills is iterable and
245
+ parsed_data.professional.technical_skills is not string %}
246
+ <ul>
247
+ {% for skill in parsed_data.professional.technical_skills %}
248
+ <li>{{ skill }}</li>
249
+ {% endfor %}
250
+ </ul>
251
+ {% else %}
252
+ <p>No technical skills found</p>
253
+ {% endif %}
254
  </div>
255
+ </div>
256
+ </div>
257
+ <!-- Tools -->
258
+ <div class="col-md-6 col-lg-4 mb-4">
259
+ <div class="card">
260
+ <div class="card-body">
261
+ <h5 class="card-title">Tools:</h5>
262
+ {% if parsed_data.professional.tools and parsed_data.professional.tools is iterable and
263
+ parsed_data.professional.tools is not string %}
264
  <ul>
265
+ {% for tool in parsed_data.professional.tools %}
266
+ <li>{{ tool }}</li>
267
  {% endfor %}
268
  </ul>
269
  {% else %}
270
+ <p>No tools found</p>
271
  {% endif %}
 
272
  </div>
273
+ </div>
274
+ </div>
275
+ <!-- Soft Skills -->
276
+ <div class="col-md-6 col-lg-4 mb-4">
277
+ <div class="card">
278
+ <div class="card-body">
279
+ <h5 class="card-title">Soft Skills:</h5>
280
+ {% if parsed_data.professional.non_technical_skills and
281
+ parsed_data.professional.non_technical_skills is iterable and
282
+ parsed_data.professional.non_technical_skills is not string %}
283
  <ul>
284
+ {% for skill in parsed_data.professional.non_technical_skills
285
+ %}
286
+ <li>{{ skill }}</li>
287
  {% endfor %}
288
  </ul>
289
  {% else %}
290
+ <p>No soft skills found</p>
291
  {% endif %}
 
292
  </div>
 
 
 
 
 
 
 
 
 
 
293
  </div>
294
+ </div>
295
  </div>
296
+ </section>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
297
 
298
+ <!-- Experience Section -->
299
+ <section>
300
+ <h3 class="section-title">Experience</h3>
301
+ <div class="row">
302
+ <div class="col-md-12">
303
+ <div class="card">
304
+ <div class="card-body">
305
+ <h5 class="card-title">Company:</h5>
306
+ {% if parsed_data.professional.experience[0].company and
307
+ parsed_data.professional.experience[0].company is iterable and
308
+ parsed_data.professional.experience[0].company is not string %}
309
+ <ul>
310
+ {% for Company in parsed_data.professional.experience[0].company %}
311
+ <li>{{ Company }}</li>
312
+ {% endfor %}
313
+ </ul>
314
+ {% else %}
315
+ <p>Not Found</p>
316
+ {% endif %}
317
+ <h5 class="card-title">Projects:</h5>
318
+ {% if parsed_data.professional.experience[0].projects and
319
+ parsed_data.professional.experience[0].projects is iterable and
320
+ parsed_data.professional.experience[0].projects is not string %}
321
+ <ul>
322
+ {% for project in parsed_data.professional.experience[0].projects %}
323
+ <li>{{ project }}</li>
324
+ {% endfor %}
325
+ </ul>
326
+ {% else %}
327
+ <p>Not Found</p>
328
+ {% endif %}
329
+ <div class="d-flex">
330
+ <h5 class="card-title">Role:</h5>
331
+ <p class="card-text">
332
+ &nbsp;{{ parsed_data.professional.experience[0].role or 'Not
333
+ Found' }}
334
+ </p>
335
+ </div>
336
+ <div class="d-flex">
337
+ <h5 class="card-title">Years of Experience:</h5>
338
+ <p class="card-text">
339
+ &nbsp;{{ parsed_data.professional.experience[0].years or
340
+ 'Not Found' }}
341
+ </p>
342
+ </div>
343
+ <h5 class="card-title">Project Experience:</h5>
344
+ {% if parsed_data.professional.experience[0].project_experience and
345
+ parsed_data.professional.experience[0].project_experience is iterable and
346
+ parsed_data.professional.experience[0].project_experience is not string %}
347
+ <ul>
348
+ {% for project in parsed_data.professional.experience[0].project_experience %}
349
+ <li>{{ project }}</li>
350
+ {% endfor %}
351
+ </ul>
352
+ {% else %}
353
+ <p>Not Found</p>
354
+ {% endif %}
355
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
356
  </div>
357
  </div>
358
  </div>
359
+ </section>
 
360
 
361
+ <!-- Education Section -->
362
+ <section>
363
+ <h3 class="section-title">Education</h3>
364
+ <div class="row">
365
+ <div class="col-md-12">
366
+ <div class="card">
367
+ <div class="card-body">
368
+ <div class="d-flex">
369
+ <h5 class="card-title">Qualification:</h5>
370
+ <p class="card-text">
371
+ &nbsp;{{ parsed_data.professional.education[0].qualification
372
+ }}
373
+ </p>
374
+ </div>
375
+ <div class="d-flex">
376
+ <h5 class="card-title">University:</h5>
377
+ <p class="card-text">
378
+ &nbsp;{{ parsed_data.professional.education[0].university or
379
+ 'Not Found' }}
380
+ </p>
381
+ </div>
382
+ <div class="d-flex">
383
+ <h5 class="card-title">Course:</h5>
384
+ <p class="card-text">
385
+ &nbsp;{{ parsed_data.professional.education[0].course or
386
+ 'Not Found' }}
387
+ </p>
388
+ </div>
389
+ <div class="d-flex">
390
+ <h5 class="card-title">Certificate:</h5>
391
+ <p class="card-text">
392
+ &nbsp;{{ parsed_data.professional.education[0].certificate
393
+ or 'Not Found' }}
394
+ </p>
395
+ </div>
396
+ </div>
397
+ </div>
398
+ </div>
399
  </div>
400
+ </section>
401
+
 
 
 
402
 
 
403
 
404
+ {% else %}
405
+ <p>No data available. Please process a file.</p>
406
+ {% endif %}
407
+ </div>
408
  </div>
409
 
410
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
411
  <script>
412
+ setTimeout(function () {
413
+ let flashMessage = document.getElementById("flash-message");
414
+ if (flashMessage) {
415
+ flashMessage.style.transition = "opacity 1s ease";
416
+ flashMessage.style.opacity = 0;
417
+ setTimeout(() => flashMessage.remove(), 1000);
418
+ }
419
+ }, 3000);
420
  </script>
421
+ </body>
422
+
423
+ </html>