Skip to content

seek-oss/wingman

Repository files navigation

🛩 Wingman

GitHub Release GitHub Validate Node.js version

Reference implementation of a SEEK-integrated recruitment system.

Table of contents

Disclaimers

Wingman packages are not for production use

While we publish Wingman components as packages on the public npm registry, they are not considered part of the public SEEK API and we don’t recommend their use in third-party production systems.

The primary goal of these packages is to maximise code reuse between SEEK-maintained implementations. We’re not aiming for a stable interface here, so expect frequent breaking changes.

If you’re looking to integrate SEEK-specific features into your recruitment software without building an interface from scratch, we offer embeddable, themed panels for certain features like ad selection and questionnaires.

Wingman is not a substitute for documentation

Wingman is meant to complement the documentation on our developer site. The developer site is more comprehensive and should be considered the source of truth.

Wingman may occasionally implement experimental features of the SEEK API that are not quite ready for third-party usage. Always double-check our developer site and contact our partner team before building onto a new feature.

If there’s something in Wingman that doesn’t seem to match the documentation on the developer site, please raise an issue.

Wingman is not a production system

Wingman’s focus is on demonstrating the integration layer between a recruitment system and the SEEK API. It is cut down in several aspects:

  • It’s light on error handling 💥

  • It’s light on testing 🤠

  • It’s coupled to the SEEK API’s data structures.

    A third-party recruitment system is expected to model its own domain concepts.

  • It runs almost entirely with partner-wide privileges.

    A third-party recruitment system is expected to limit privileges to the currently logged-in hirer.

Design

Overview

Wingman is a mock recruitment system that integrates with the SEEK API to post job ads and screen applicants. It comprises:

Wingman serves as a practical reference for third-party developers integrating with the SEEK API, and complements the detailed documentation on our developer site. We hope to extend it to provide UX guidance in future.

Internally, we maintain a private implementation to dogfood additions and changes to the SEEK API.

Structure

├── fe
│   ├── example
│   ├── lib
│   └── ...
├── ...
└── README.md <- you are here

The frontend contains components (under /fe/lib) that are packaged and published to npm. This allows us to share code between the public implementation of Wingman in this repo and SEEK’s own private implementation.

Usage

Prerequisites

We depend on upstream tooling like sku that are predominantly tested on macOS and Linux. If you’re on Windows, we recommend the Windows Subsystem for Linux.

First, some JavaScript tooling:

  • Node.js 12+
  • Yarn 1.x

Next, install npm dependencies:

yarn install

Run

Start local development servers:

yarn fe start

Meta

Related SEEK OSS

Wingman is built on a bunch of other stuff that we’ve open sourced:

  • Braid, a component library design system
  • Koala, a collection of Koa add-ons
  • Scoobie, a Braid component library
  • sku, a frontend development toolkit