/job-listings

Small JS library for fetching buildit job listings data from SmartRecruiter's API

Primary LanguageJavaScriptISC LicenseISC

job-listings

Small JS library for fetching Buildit job listings data from SmartRecruiter's API.

Installation

npm install --save @buildit/job-listings

Usage

// Import library
const JobListings = require('@buildit/job-listings');

// Fetch the latest Buildit job listings from SmartRecruiters' API.
// Note that getBuilditJobPostings() returns a Promise, which resolves
// to an array of job postings.
JobListings.getBuilditJobPostings()
  .then((jobs) => {
    jobs.forEach((job) => {

      console.log(job.title);
      // E.g. "Software Engineer"

      console.log(job.experienceLevel);
      // E.g. "Mid-Senior Level"
      
      console.log(job.typeOfEmployment);
      // E.g. "Full-time"

      console.log(job.location.city);
      // E.g. "Dublin"

      console.log(job.location.country);
      // E.g. "Ireland"

      console.log(job.url);
      // Outputs full URL to job ad page on SmartRecruiters,
      // including the "Buildit website" tracking ID.
    });
  })
  .catch((err) => {
    // Handle errors
  });

Currently, the library only exports the asynchronous getBuilditJobPostings() function. More functionality may be added in future - please raise an issue or a PR to let us know what you need.

Development

Setup

  1. Make sure you are using correct Node version (8.x LTS aka "Carbon" or later)
    • If you have NVM, you can do nvm use
  2. Install dev dependencies
    • npm install

...and you're all set!

Coding conventions

The source code is located in the src/ directory. It's ES6 style JavaScript and follows AirBnb's coding standards.

Our Jest unit tests sit in the __tests__ folder and use the following file naming convention: [module name].test.js. We have 100% code coverage and aim to maintain that.

Building

We use Babel to transpile into Node-compatible, CommonJS-style code for distribution via NPM:

npm run build

You can also watch the source files and automatically transpile them on changes:

npm run watch

Linting and testing

To lint the code:

npm run lint

To run tests:

npm run test

Contributing

Contributions of all shapes and sizes are welcome!

If you create PRs, please make sure you're code lints and tests with no errors before asking for a review. Thanks!