Skip to content

Mr-Ndi/KigaliKit

Repository files navigation

🕷️ Ajanyu

“Sifting joyfully through opportunities.”

Ajanyu is a Python-based web scraper that collects job listings from Opportunity Rwanda, optionally filters them by type (e.g., internship or contract), and uploads the curated results to an Airtable database.


💡 Name Origin

The name Ajanyu is a fusion of:

  • Sanyu — meaning “joy” in Luganda
  • Ajira — meaning “job” or “employment” in Swahili

Together, Ajanyu conveys the idea of joyful work — a beautiful sentiment for a job-finding tool built with intention and purpose.


📁 Project Structure


Ajanyu/
├── airtable/
│   ├── **init**.py
│   └── uploader.py         # Airtable upload logic
├── scraper/
│   ├── **init**.py
│   └── jobs.py             # BeautifulSoup scraper logic
├── main.py                 # Project entry point
├── Dockerfile              # Docker setup
├── .env.example            # Template for environment variables
├── Readme.md               # Project documentation
└── requirements.txt        # Python dependencies


🚀 Usage

🔧 Option 1: Run Locally (Recommended for Development)

1. 📦 Install Dependencies

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

2. 🔐 Set Environment Variables

Copy the example config and update with your own values:

cp .env.example .env

3. ▶️ Run the Scraper

python3 main.py

🐳 Option 2: Run with Docker

Ensure Docker is installed on your system, then build and run:

# Build the image
docker build -t ajanyu .

# Run the container
docker run --env-file .env ajanyu

💡 Tip: .env should contain your Airtable keys and scraper config (based on .env.example).


🧠 Features

  • Scrapes job listings from a real-world job portal
  • Filters by job type (internship, contract, etc.)
  • Uploads structured results to Airtable
  • Environment-based config (.env) for portability
  • Docker-ready for production or deployment
  • Modular and extensible structure

📌 Topics

  • 🧹 Web Scraping
  • 🔌 Airtable API Integration
  • 🔁 Automation
  • 🐍 Python 3
  • 🍲 Selanium
  • 🐳 Docker

🙋‍♂️ Author

Built with ❤️ by Mr-Ndi 🌐 Personal Website 🔗 LinkedIn 🔗 Medium blog Post.


📄 License

This project is licensed under a Custom License. See the LICENCE file for full terms.


🛠️ Contributions

Contributions are welcome! Feel free to fork, improve, and send a pull request:

git checkout -b feature/your-feature
git commit -m "Add something awesome"
git push origin feature/your-feature

Then open a Pull Request. Let's build this together!


🗓️ Last Updated

June 2025

About

Automated job scraper for Opportunity Rwanda — built with Python, Airtable, and Docker. One command. Fresh listings. No more manual scrolling.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages