File size: 2,126 Bytes
b00edb8
1f73927
 
 
 
 
 
 
 
b00edb8
1f73927
 
b00edb8
 
 
1f73927
 
b00edb8
 
1f73927
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import streamlit as st
from utils.parser import parse_cv
from utils.scoring import get_skill_score, classify_cv
from utils.suggestions import (
    get_certification_suggestions,
    get_higher_education_suggestions,
    get_visa_recommendations,
    get_job_listings,
    get_career_advice
)
from utils.roadmap import generate_roadmap_chart
from utils.report import generate_downloadable_report

st.set_page_config(page_title="Smart CV Analyzer", layout="wide")

st.title("🧠 Universal Smart CV Analyzer")
uploaded_file = st.file_uploader("Upload your CV (PDF format)", type=["pdf"])

if uploaded_file:
    with st.spinner("Parsing CV..."):
        parsed_text, education_level = parse_cv(uploaded_file)
        field_type = classify_cv(parsed_text)
        skill_score = get_skill_score(parsed_text)

    st.success("CV Analyzed Successfully!")

    st.subheader("πŸ“š Education Level")
    st.write(education_level)

    st.subheader("πŸ› οΈ CV Type")
    st.write(field_type)

    st.subheader("πŸ“ˆ Skill Score (ILO Standards)")
    st.metric("Skill Score", f"{skill_score}/100")

    st.subheader("βœ… Personalized Certifications")
    certs = get_certification_suggestions(parsed_text)
    st.write(certs)

    st.subheader("πŸŽ“ Higher Education Opportunities")
    degrees = get_higher_education_suggestions(parsed_text)
    st.write(degrees)

    st.subheader("🌍 Visa Opportunities")
    visas = get_visa_recommendations(parsed_text)
    st.write(visas)

    st.subheader("πŸ’Ό Job Listings")
    jobs = get_job_listings(parsed_text)
    st.write(jobs)

    st.subheader("🧭 Career Counselor Advice")
    advice = get_career_advice(parsed_text)
    st.write(advice)

    st.subheader("πŸ›£οΈ Personalized Roadmap Timeline")
    roadmap_fig = generate_roadmap_chart(parsed_text)
    st.plotly_chart(roadmap_fig)

    st.subheader("πŸ“₯ Download Full Report")
    report_bytes = generate_downloadable_report(
        parsed_text, education_level, field_type, skill_score, certs,
        degrees, visas, jobs, advice
    )
    st.download_button("Download Report", report_bytes, file_name="career_report.pdf")