# π·πΌ Rwanda Job Market Explorer
Welcome to the **Rwanda Job Market Explorer**, a Flask-based web application that lets users search, filter, and export real-time job listings in Rwanda. Built as part of my **System Engineering & DevOps** curriculum at ALU/Holberton.
π₯ **Demo video:**
youtu.be
π **Live site:**
35.175.242.143 (self-signed certificate, click "Advanced > Proceed" to view)
---
## β¨ Features
- Real-time job search powered by the JSearch API (RapidAPI)
- Filter by remote-only and employment type (Full-time, Part-time, Contractor, Intern)
- Sort results by relevance score or job title
- Bilingual interface (English / French) with instant switching
- Export search results to CSV
- Modern, responsive UI inspired by leading job board platforms
- Deployed on a high-availability infrastructure with load balancing
---
## π Project Structure
```
job_analyzer_project/
βββ app.py # Flask web application (main entry point)
βββ job_analyzer.py # Core function: fetches job listings from the JSearch API
βββ filters.py # Filtering functions (remote jobs, employment type, keyword)
βββ analyzer.py # CLI helper for analyzing fetched job data
βββ recommender.py # CLI tool: scores and ranks jobs from a saved CSV
βββ exporter.py # Reusable CSV export function (used by web app and CLI)
βββ main.py # CLI entry point: fetches and saves job data
βββ run_all.py # Runs the full CLI pipeline (fetch β filter β export)
βββ all_jobs_rwanda.csv # Sample exported dataset
βββ remote_only_rwanda.csv # Sample filtered dataset (remote jobs only)
βββ requirements.txt # Python dependencies
βββ README.md # This file
```
## π Infrastructure & Deployment
The application runs on a redundant infrastructure to ensure uptime:
| Role | Address |
|---|---|
| Load Balancer (Lb01) | `35.175.242.143` β¦