Skip to content

DereckTav/Automated-Job-Board

Repository files navigation

being refactored due to some failures


Automated Job Board

An automated job board that aggregates and displays the latest job postings from multiple sources, updated every 2 days.

Description


keeps track of new job openings without the need for human searching by centralizing the employment hunt by automatically gathering new opportunities from many job boards. Helps Track applications and maintain an efficient job search workflow, all through notion.

Key Features

- Automatic updates every 3 to 24 hours
- Application tracking and management
- Only shows jobs posted within the last 2 days

Table of Contents


Installation


Step-by-step instructions on how to get the project running locally:

# Clone the repository
git clone https://github.com/DereckTav/Automated-Job-Board.git

# Navigate to project directory
cd job-board-aggregator

# Create a virtual environment (recommended)
python -m venv venv

# Activate virtual environment
# On Windows:
venv\Scripts\activate

# On macOS/Linux:
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

Configuration


Before running the script, ensure websites.yaml is created and properly configured with:

  • Job board URLs
  • Parsing instructions (selectors) for each site
  • Any required selectors (company_name,position)

Instructions for setting up websites.yaml

create file called websites.yaml at root

test.yaml provides a basic example of how to set up websites.yaml

websites.yaml contains the necessary configuration for job boards and their parsing instructions.


Usage


Basic Usage

The script runs via terminal/command line.

python main.py

Press Ctrl+C to stop


Running 24/7 (Background Execution)

Docker

Docker provides consistent behavior across Windows, Mac, and Linux.

Commands:

# Start (builds if needed)
docker-compose up -d

# View logs
docker-compose logs -f

# Stop
docker-compose down

# Restart
docker-compose restart

# View status
docker-compose ps

EXTRA INFO


All parsers except download_parser use -relative to signify that the date that is being used is relative

meaning download_parser doesn't work with relative dates

Some sites may load content with react or JS, and for those sites I would recommend using JS in websites.yaml, becuase sometimes it has Unicode \u003, which breaks STATIC parser.

About

An automated job aggregator that syncs fresh listings (last 48h) from multiple sources directly to Notion.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors