Skip to content
alwedoPublic

About

Dynamic Job Search RSS Feed Generator

Topics

Resources

Code of conduct

Stars

18 stars

Watchers

0 watching

Forks

Repository files navigation

jobber

GitHub go.mod Go version Test

Jobber is a dynamic job search RSS feed generator.

Are you tired of going from job portal to job portal doing your search? Those days are over! Jobber allows you to create job searches that will update hourly in the background and provide you an HTML or RSS feed for them.

Check it out! rssjobs.app

Features

  • Fetches offers from LinkedIn, Stepstone and Glassdoor*.
  • RSS-XML and HTML feeds.
  • Hourly updated job feeds with up to 7 days of offers.
  • Automated unused job search deletion after one week of inactivity (ie. unsubscribed from the RSS feed).
  • Server logs, usage and status metrics with Prometheus and Grafana.

* jobber scrapes only publicly available information

Starting up the project locally

Make sure you have go, Docker and golang-migrate installed.

  • (optional) Run test and lint with make check

Production mode

The deployment options are:

  • make build builds Jobber and PostgreSQL only.
  • make build-metrics adds the Prometheus/Grafana/logging stack and enables Jobber metrics.
  • make build-cloudflare adds the metrics stack and Cloudflare Tunnel. Set CLOUDFLARE_TUNNEL_TOKEN first.

Once up, try http://localhost for your local version of Jobber. The metrics option also exposes the Grafana dashboard at http://localhost:3000/dashboards.

Developer mode

This will create only the DB container and run the server without building it.

  • Start developer mode with make run

Once up, try http://localhost for your local dev version of jobber.

Options

The server can be configured with the following environment variable and command-line options:

  • DB_CONN sets the PostgreSQL connection string. The make run and Compose build targets use the local database connection from the Makefile by default.
  • -port sets the address and port where the server listens. Defaults to :80.
  • -metrics enables the /metrics endpoint and Prometheus metrics middleware. Disabled by default.
  • -mock uses the mock scraper instead of the Live scrapers. This is intended for testing.
  • -mockTimeout sets the query creation timeout to one nanosecond. This is intended for testing.

For example, to run the server on port 8080 with metrics enabled:

DB_CONN="postgres://user:password@localhost:5432/jobber?sslmode=disable" go run main.go -port=:8080 -metrics

About

Dynamic Job Search RSS Feed Generator

Topics

Resources

Code of conduct

Stars

18 stars

Watchers

0 watching

Forks

Contributors

Languages