Logo Lanfrica

Nbody-01/it-job-market-analyzer-za

Domain:

socioeconomiceducation

Record type:

softwaretools
Creator:
Nbo
Host:
Job Market Analyzer for Career Readiness in South Africa (Streamlit dashboard, notebook pipeline) # Job Market Analyzer for Career Readiness in South Africa A transparent, explainable capstone system that analyses the South African IT job market and measures **how career-ready a CV is** against it: candidate-job matching, a fully inspectable career-readiness score, skill-gap analysis with honest next steps, and a multi-page analytics dashboard. The system is built from scratch for this capstone. Six public GitHub repos (Resume-Job matchers) were studied for *technical inspiration only*; no code was copied. The full idea-by-idea analysis is in `REPO_STUDY.md`. --- ## Quick Start Python 3.12 is required. The pinned environment is `requirements.txt`. ```powershell # 1. create + activate a venv with the pinned requirements python -m venv .venv .venv\Scripts\Activate.ps1 pip install -r requirements.txt # 2. build everything from scratch (wipe artifacts, run nb01 -> nb08 fresh) python scripts/run_pipeline.py # 3. run the unit tests python -m pytest tests/ -q # 4. launch the multi-page dashboard streamlit run app/app.py # from the project root ``` The dashboard opens at with the pages **Home**, **Analyze CV**, **Market Trends** and **About / Ethics**. ### Deploy to Streamlit Community Cloud 1. Push this folder to GitHub (no git installed? use `scripts/push_to_github.py` with `GITHUB_TOKEN`, `GITHUB_OWNER`, `GITHUB_REPO` env vars — the script pushes via the GitHub REST API). 2. Open → **Create app** → paste the repo URL → main file path **`app/app.py`** → Deploy. 3. Wait for the build (~1–3 min). Pinned versions come from `requirements.txt`; the pre-computed artifacts in `artifacts/` and `data/` are committed so no pipeline run happens on the cloud. --- ## Project structure ``` 5th project/ ├── app/ # multi-page Streamlit dashboard │ ├── app.py # Home │ ├── dashboard_utils.py # shared artifact/engine loading │ └── pages/ # 1_Analyze_CV, 2_Market_Trends, 3_About_Ethics ├── notebooks/ …