|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Processed Results</title>
|
|
<link
|
|
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css"
|
|
rel="stylesheet"
|
|
/>
|
|
<style>
|
|
body {
|
|
background-color: #1c1c1e;
|
|
font-family: "Poppins", sans-serif;
|
|
color: #f5f5f7;
|
|
}
|
|
h1 {
|
|
color: #e5e5e7;
|
|
text-align: center;
|
|
|
|
}
|
|
.cont {
|
|
background-color: #2c2c2e;
|
|
padding: 30px;
|
|
border-radius: 15px;
|
|
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.5);
|
|
transition: 1s ease;
|
|
}
|
|
.section-title {
|
|
color: #ff9f0a;
|
|
font-size: 1.5rem;
|
|
font-weight: bold;
|
|
margin-top: 20px;
|
|
border-bottom: 2px solid #ff9f0a;
|
|
padding-bottom: 10px;
|
|
}
|
|
.card {
|
|
background-color: #3a3a3c;
|
|
color: #f5f5f7;
|
|
border-radius: 10px;
|
|
margin-bottom: 15px;
|
|
padding: 15px;
|
|
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
|
|
transition: background-color 0.3s ease;
|
|
}
|
|
.card:hover {
|
|
background-color: #3a3a3c98;
|
|
}
|
|
.card-title {
|
|
color: #ff9f0a;
|
|
font-size: 1.2rem;
|
|
font-weight: bold;
|
|
}
|
|
.card-text {
|
|
color: #d1d1d6;
|
|
font-size: 1rem;
|
|
}
|
|
ul {
|
|
list-style-type: none;
|
|
padding-left: 0;
|
|
}
|
|
li::before {
|
|
content: "• ";
|
|
color: #ff9f0a;
|
|
}
|
|
.btn-reset {
|
|
background-color: #ff453a;
|
|
color: white;
|
|
border: none;
|
|
padding: 10px 20px;
|
|
border-radius: 5px;
|
|
transition: background-color 0.3s ease;
|
|
margin-bottom: 20px;
|
|
}
|
|
.btn-reset:hover {
|
|
background-color: #e03a2f;
|
|
}
|
|
.alert {
|
|
text-align: center;
|
|
position: absolute;
|
|
top: 0;
|
|
right: 15%;
|
|
|
|
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
{% with messages = get_flashed_messages() %} {% if messages %}
|
|
<div class="alert alert-success mt-4 " id="flash-message">
|
|
{{ messages[0] }}
|
|
</div>
|
|
{% endif %} {% endwith %}
|
|
|
|
|
|
|
|
|
|
</div>
|
|
<div class="container cont mt-5">
|
|
<div class="d-flex align-items-center justify-content-between">
|
|
<h1>Processed Data</h1>
|
|
|
|
<div class="text-center mt-4">
|
|
<a href="{{ url_for('reset_upload') }}" class="btn btn-reset"
|
|
>Reset & Upload New File</a
|
|
>
|
|
</div>
|
|
</div>
|
|
{% if parsed_data %}
|
|
|
|
<section>
|
|
<h3 class="section-title">Personal Information</h3>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<div class="d-flex">
|
|
<h5 class="card-title">Name:</h5>
|
|
<p class="card-text">
|
|
{{ parsed_data.personal.name or 'Not Found' }}
|
|
</p>
|
|
</div>
|
|
<div class="d-flex">
|
|
<h5 class="card-title">Contact:</h5>
|
|
<p class="card-text">
|
|
{{ parsed_data.personal.contact or 'Not Found' }}
|
|
{% if parsed_data.personal.invalid_contact %}
|
|
- ({{ parsed_data.personal.invalid_contact }})
|
|
{% endif %}
|
|
</p>
|
|
</div>
|
|
<div class="d-flex">
|
|
<h5 class="card-title">Email:</h5>
|
|
<p class="card-text">
|
|
{{ parsed_data.personal.email or 'Not Found' }}
|
|
{% if parsed_data.personal.invalid_email %}
|
|
({{ parsed_data.personal.invalid_email }})
|
|
{% endif %}
|
|
</p>
|
|
</div>
|
|
<div class="d-flex">
|
|
<h5 class="card-title">Location:</h5>
|
|
<p class="card-text">
|
|
{{ parsed_data.personal.location or 'Not Found' }}
|
|
</p>
|
|
</div>
|
|
<div class="d-fle">
|
|
<h5 class="card-title">LinkedIn:</h5>
|
|
<p class="card-text">
|
|
{% if parsed_data.personal.linkedin != 'Not found' %}
|
|
<ul>
|
|
{% for lnk in parsed_data.personal.linkedin %}
|
|
<li> <a href="{{ lnk }}" target="_blank">{{ lnk }}</a></li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% else %}
|
|
Not Found
|
|
{% endif %}
|
|
</p>
|
|
</div>
|
|
<div class="d-fle">
|
|
<h5 class="card-title">GitHub:</h5>
|
|
<p class="card-text">
|
|
{% if parsed_data.personal.github != 'Not found' %}
|
|
<ul>
|
|
{% for git in parsed_data.personal.github %}
|
|
<li> <a href="{{ git }}" target="_blank">{{ git }}</a></li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% else %}
|
|
Not Found
|
|
{% endif %}
|
|
</p>
|
|
</div>
|
|
<h5 class="card-title">Other Links:</h5>
|
|
{% if parsed_data.personal.other_links %}
|
|
<ul>
|
|
{% for link in parsed_data.personal.other_links %}
|
|
<li><a href="{{ link }}" target="_blank">{{ link }}</a></li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% else %}
|
|
<p>Not Found</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
|
|
<section>
|
|
<h3 class="section-title">Professional Information</h3>
|
|
<div class="row">
|
|
|
|
<div class="col-md-6 col-lg-4 mb-4">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<h5 class="card-title">Technical Skills:</h5>
|
|
{% if parsed_data.professional.technical_skills %}
|
|
<ul>
|
|
{% for skill in parsed_data.professional.technical_skills %}
|
|
<li>{{ skill }}</li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% else %}
|
|
<p>No technical skills found</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-4 mb-4">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<h5 class="card-title">Tools:</h5>
|
|
{% if parsed_data.professional.tools %}
|
|
<ul>
|
|
{% for tool in parsed_data.professional.tools %}
|
|
<li>{{ tool }}</li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% else %}
|
|
<p>No tools found</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-4 mb-4">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<h5 class="card-title">Soft Skills:</h5>
|
|
{% if parsed_data.professional.non_technical_skills %}
|
|
<ul>
|
|
{% for skill in parsed_data.professional.non_technical_skills
|
|
%}
|
|
<li>{{ skill }}</li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% else %}
|
|
<p>No soft skills found</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<h3 class="card-title p-3">Experience:</h3>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<div class="d-flex">
|
|
<h5 class="card-title">Company:</h5>
|
|
<p class="card-text">
|
|
{{ parsed_data.professional.experience[0].company or
|
|
'Not Found' }}
|
|
</p>
|
|
</div>
|
|
<div class="d-flex">
|
|
<h5 class="card-title">Projects:</h5>
|
|
<p class="card-text">
|
|
{{ parsed_data.professional.experience[0].projects or
|
|
'Not Found' }}
|
|
</p>
|
|
</div>
|
|
<div class="d-flex">
|
|
<h5 class="card-title">Role:</h5>
|
|
<p class="card-text">
|
|
{{ parsed_data.professional.experience[0].role or 'Not
|
|
Found' }}
|
|
</p>
|
|
</div>
|
|
<div class="d-flex">
|
|
<h5 class="card-title">Years of Experience:</h5>
|
|
<p class="card-text">
|
|
{{ parsed_data.professional.experience[0].years or
|
|
'Not Found' }}
|
|
</p>
|
|
</div>
|
|
<h5 class="card-title">Project Experience:</h5>
|
|
{% if parsed_data.professional.experience[0].project_experience
|
|
%}
|
|
<ul>
|
|
{% for project in
|
|
parsed_data.professional.experience[0].project_experience %}
|
|
<li>{{ project }}</li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% else %}
|
|
<p>Not Found</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<h3 class="card-title p-3">Education:</h3>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<div class="d-flex">
|
|
<h5 class="card-title">Qualification:</h5>
|
|
<p class="card-text">
|
|
{{ parsed_data.professional.education[0].qualification
|
|
}}
|
|
</p>
|
|
</div>
|
|
<div class="d-flex">
|
|
<h5 class="card-title">University:</h5>
|
|
<p class="card-text">
|
|
{{ parsed_data.professional.education[0].university or
|
|
'Not Found' }}
|
|
</p>
|
|
</div>
|
|
<div class="d-flex">
|
|
<h5 class="card-title">Course:</h5>
|
|
<p class="card-text">
|
|
{{ parsed_data.professional.education[0].course or
|
|
'Not Found' }}
|
|
</p>
|
|
</div>
|
|
<div class="d-flex">
|
|
<h5 class="card-title">Certificate:</h5>
|
|
<p class="card-text">
|
|
{{ parsed_data.professional.education[0].certificate
|
|
or 'Not Found' }}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
|
|
{% else %}
|
|
<p>No data available. Please process a file.</p>
|
|
{% endif %}
|
|
</div>
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script>
|
|
<script>
|
|
setTimeout(function () {
|
|
let flashMessage = document.getElementById("flash-message");
|
|
if (flashMessage) {
|
|
flashMessage.style.transition = "opacity 1s ease";
|
|
flashMessage.style.opacity = 0;
|
|
setTimeout(() => flashMessage.remove(), 1000);
|
|
}
|
|
}, 3000);
|
|
</script>
|
|
</body>
|
|
</html>
|
|
|