# 🇷🇼 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` …