Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/buildit/job-listings
Small JS library for fetching buildit job listings data from SmartRecruiter's API
https://github.com/buildit/job-listings
buildit jobs recruitment smartrecruiters
Last synced: about 1 month ago
JSON representation
Small JS library for fetching buildit job listings data from SmartRecruiter's API
- Host: GitHub
- URL: https://github.com/buildit/job-listings
- Owner: buildit
- License: isc
- Created: 2018-03-27T15:36:04.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T15:15:50.000Z (about 2 years ago)
- Last Synced: 2024-10-12T00:26:19.121Z (3 months ago)
- Topics: buildit, jobs, recruitment, smartrecruiters
- Language: JavaScript
- Homepage:
- Size: 1.09 MB
- Stars: 1
- Watchers: 15
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# job-listings
Small JS library for fetching Buildit job listings data from SmartRecruiter's API.## Installation
```sh
npm install --save @buildit/job-listings
```## Usage
```js
// 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`
1. 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](https://github.com/airbnb/javascript).
Our [Jest](https://facebook.github.io/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](https://babeljs.io/) to transpile into Node-compatible, CommonJS-style code for distribution via NPM:
```sh
npm run build
```You can also watch the source files and automatically transpile them on changes:
```sh
npm run watch
```### Linting and testing
To lint the code:
```sh
npm run lint
```To run tests:
```sh
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!