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")