Giter Site home page Giter Site logo

jobs's Introduction

jobs

nashdev slack jobs api

Build status: Linux Dependency Status Coverage Status styled with prettier Contributors license Greenkeeper badge Known Vulnerabilities

Note: This initial version was written as part of a live stream at NashJS (7/12/17)... so the code is precarious at best. It is not an endorsement of best practices or code cleanliness. Definitely could use a refactor 😛

Running Locally

  1. Make sure you have NodeJS, npm, and PostgreSQL installed.

  2. Clone the repository

     git clone [email protected]:nashdev/jobs.git
    
  3. Install your dependencies

    cd path/to/nashdev-jobs
    npm install
    
  4. Copy .env.example to .env and fill out the values.

  5. Set up the development database

    npm run setup
    
  6. Start the app

    npm run start
    
  7. Once you see Express server listening on port 3000 in the console, you can View the running app at http://localhost:3000

Slack Integration

  1. Create a new app by navigating to https://api.slack.com/apps?new_app=1. You will need to log in to one of your Slack Workspaces so that the app can be added to it, and, if possible, you should choose one where you are an Owner or Admin, as you will have to approve the app being attached to that Workspace.
  2. Click on 'Basic Information' and add the 'Client ID' and 'Client Secret' to the .env file.
    1. SLACK_CLIENT_ID='' ("Basic Information > Client ID")
    2. SLACK_CLIENT_SECRET='' ("Basic Information > Client Secret")

Slack OAuth Setup

  1. Go to the "Features > OAuth & Permissions" and click "Add New Redirect URLs".
  2. Add the value http://localhost:3000/slack/auth as a redirect URL.

Slack Bot Setup

  1. Create a Bot User by going to "Features > Bot Users" and entering a display name and default username and then saving.
  2. Go to the "Features > OAuth & Permissions" section, click "Install App to Workplace".
  3. Next, scroll down to "Scopes", and copy and paste each of the following permissions, one at a time, into the "Select Permission Scopes" field. The related permission should then be highlighted for you to select and add to your list of Scopes:
    1. chat:write:user
    2. bot
    3. users.profile:read
  4. Update the SLACK_BOT_TOKEN in your .env file with the newly generated values now provided on the indicated pages of your new Slack app:
    1. SLACK_BOT_TOKEN='' ("OAuth & Permissions > Bot User OAuth Access Token")

Testing

Local:

Simply run npm test and all your tests in the test/ directory will be run.

Contributions

If you would like to contribute, you can check out all open issues/feature requests or submit your own on our Issues page (look for "enhancement" and "help wanted" labels). If you find an issue you would like to work on, you can complete the following steps to submit a pull request:

  1. Fork the repository
  2. Add any code changes inside the forked repository
  3. Submit pull request to our master branch

Changelog

0.0.1

  • Initial release...lots to do.

License

Copyright (c) 2017

Licensed under the MIT license.

jobs's People

Contributors

bbleds avatar daynewright avatar dmhalejr avatar egdelwonk avatar greenkeeper[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

jobs's Issues

Feature: Search

  • Search by Title, Description (Full text?), and other job parameters.
  • Implement Filtering across all job columns.

Bug: Companies that start with a number do not have a quick-jump link on the filter bar.

For companies that start with a number. I.e. "20/20 Research", they do not have an equivalent "2" on the companies name filter.

Currently, we are building the list of letters:

const getAlphaList = () => {
  return Array(26).fill().map((_, i) => {
    const letter = String.fromCharCode("A".charCodeAt(0) + i);
    return (
      <a href={`#${letter}`} key={letter} className="alphalist-item">
        {letter}
      </a>
    );
  });
};

This should be refactored to handle numbers 1-10 as well.

Enhancement: SlackBot should post the Date in DD/MM/YYY format when a job was added

The Slackbot currently posts the following to the Jobs channel in NashDev Slack:

*New Job Added* / @@person (First Last)
      
*Software Engineer* at *Company Name* in _Company Location_
Added: Today at 3:19 PM
 ________________________________________________________________________________

I want to propose changing the "Added:" line. When a user posts a job, the "Added" line will always read "Added: Today" when the SlackBot posts in the channel when new jobs are added.

The line should read: "Added: 08/21/2017 at 3:19 PM" or a similar DD/MM/YYYY format. When a user is scrolling through the NashDev Jobs channel, it's unclear what day a job was posted by the SlackBot's post alone. The same goes for when a job posting is updated: the "updated" line will also always read "Today".

Example after proposed changes:

*New Job Added* / @@person (First Last)
      
*Software Engineer* at *Company Name* in _Company Location_
Added: 08/21/2017 at 3:19 PM
 ________________________________________________________________________________

An in-range update of react is breaking the build 🚨

Version 16.4.2 of the react packages was just published.

Branch Build failing 🚨
Monorepo release group react
Current Version 16.4.1
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

This monorepo update includes releases of one or more dependencies which all belong to the react group definition.

react is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Release Notes v16.4.2

16.4.2 (August 1, 2018)

React DOM Server

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of node-sass is breaking the build 🚨

Version 4.9.3 of node-sass was just published.

Branch Build failing 🚨
Dependency node-sass
Current Version 4.9.2
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

node-sass is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Release Notes v4.9.3

Community

Fixes

Commits

The new version differs by 4 commits.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Create missing JSON API relationship link routes/handlers

Create missing JSON API relationship link routes/handlers. i.e. /api/jobs/44/relationships/company

After adding JSON api serialization, the auto-generated links point to resources that don't exist. This isn't really a problem now, as none of those resources are currently being consumed, but as other clients may want to consume the api (or develop against it, and get confused) it's probably best to implement them.

An in-range update of request is breaking the build 🚨

Version 2.88.0 of request was just published.

Branch Build failing 🚨
Dependency request
Current Version 2.87.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

request is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Commits

The new version differs by 13 commits.

  • 6420240 2.88.0
  • bd22e21 fix: massive dependency upgrade, fixes all production vulnerabilities
  • 925849a Merge pull request #2996 from kwonoj/fix-uuid
  • 7b68551 fix(uuid): import versioned uuid
  • 5797963 Merge pull request #2994 from dlecocq/oauth-sign-0.9.0
  • 628ff5e Update to oauth-sign 0.9.0
  • 10987ef Merge pull request #2993 from simov/fix-header-tests
  • cd848af These are not going to fail if there is a server listening on those ports
  • a92e138 #515, #2894 Strip port suffix from Host header if the protocol is known. (#2904)
  • 45ffc4b Improve AWS SigV4 support. (#2791)
  • a121270 Merge pull request #2977 from simov/update-cert
  • bd16414 Update test certificates
  • 536f0e7 2.87.1

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Enhancement: More salary range options

The current options are:

  • $30,000 - $50,000
  • $50,000 - $80,000
  • $80,000 - $100,000
  • $100,000+

This puts companies in a position where maybe the job they are offering could be on the high end of the 50-80 range, but by choosing that range it makes the job look like a lower paying one. And by choosing the 80-100 range, it might make the job look like it pays more than it does.

The easy suggestion is to just set $20,000 overlapping increments (like $30-50k, $40-60k, $50-70k, etc). The less easy suggestion is to add a field and allow posters to set a min and max.

Anyone have any thoughts?

An in-range update of babel-plugin-transform-react-remove-prop-types is breaking the build 🚨

Version 0.4.14 of babel-plugin-transform-react-remove-prop-types was just published.

Branch Build failing 🚨
Dependency babel-plugin-transform-react-remove-prop-types
Current Version 0.4.13
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

babel-plugin-transform-react-remove-prop-types is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Release Notes v0.4.14
  • Handle recursive code (#148)
  • [core] Upgrade the dependencies (#141)
FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

BUG: Maintain minimum height for job post cards.

If a job post is relatively short, the card height may be smaller than intended when looking at the card view

It may be desirable to set a default minimum/maximum height for each card so we have a uniform size for each post and the layout remains consistent.

screen shot 2017-09-06 at 09 28 10

An in-range update of css-loader is breaking the build 🚨

Version 0.28.9 of css-loader was just published.

Branch Build failing 🚨
Dependency css-loader
Current Version 0.28.8
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

css-loader is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details

Release Notes v0.28.9

2018-01-17

Bug Fixes

Commits

The new version differs by 3 commits.

  • 630579d chore(release): 0.28.9
  • 604bd4b chore(package): update dependencies
  • d1d8221 fix: ignore invalid URLs (url()) (#663)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of eslint-plugin-react is breaking the build 🚨

Version 7.11.0 of eslint-plugin-react was just published.

Branch Build failing 🚨
Dependency eslint-plugin-react
Current Version 7.10.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-react is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Release Notes v7.11.0

Added

Fixed

Changed

Commits

The new version differs by 65 commits.

  • 599c028 Update CHANGELOG and bump version
  • 1eccf7f Merge pull request #1924 from alexzherdev/1775-one-expression-options
  • c1c3d19 Merge pull request #1911 from alexzherdev/1674-prop-types-refactoring
  • 3567c5b [New] Add allow option to jsx-one-expression-per-line
  • 9258d79 Merge pull request #1918 from BenRichter/patch-1
  • bc9a8ea Update jsx-props-no-multi-spaces.md
  • a466a77 Merge pull request #1909 from alexandernanberg/fix/class-property-destructure-assignment
  • 50cd5a6 Clean up and code review
  • 5b5ebfa Made prop-types pass
  • f2fdaa3 Extract declared propTypes detection code
  • 9dbb834 Merge pull request #1914 from alexzherdev/is-function-helper
  • 7edc982 Fix lint error
  • ef36ba9 Add a helper function for determining function-like expressions
  • 4382aa5 fix: destructuring-assignment ignore class properties
  • efe0c0c Merge pull request #1907 from alexzherdev/1637-destructuring-assignment-greedy

There are 65 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Bug: Fix broken "View Website" links on Job Postings

See the following screenshot for context (mouse was hovering over the View Website button):

image

It looks like when a user is creating a job posting and doesn't prepend the website URL with http:// or https://, the client wants to redirect the user to https://jobs.nashdev.com/jobs/websitelink which is incorrect.

The link should properly redirect the user to the website and not treat it as a path for the jobs website.

Bonus: Maybe the anchor should include a target="_blank" so it automatically opens the link in a new tab also?

Error on app start

Totally new to this, but trying to contribute!

Error and die on yarn run start:dev.
node -v is 6.11.2
npm -v is 5.3.0
postgres -V is 9.6.4

Here is my error output:

Press `a` to run all tests, or run Jest with `--watchAll`.

Watch Usage
 › Press a to run all tests.
 › Press p to filter by a filename regex pattern.
 › Press t to filter by a test name regex pattern.
 › Press q to quit watch mode.
 › Press Enter to trigger a test run.
2017-08-19 15:41 node[80488] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2017-08-19 15:41 node[80488] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: Error watching file for changes: EMFILE
    at exports._errnoException (util.js:1020:11)
    at FSEvent.FSWatcher._handle.onchange (fs.js:1420:11)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] test: `jest "--watch"`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/million/.npm/_logs/2017-08-19T20_41_20_619Z-debug.log
error Command failed with exit code 1.
ERROR: "test:watch" exited with 1.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.```

Feature: Related Jobs

List jobs related to the currently viewed job listing.

We'd need to find a way to generate these related categorizations. Could be based on tags, title fuzzy matching, or a combination of other properties.

Bug: Strip @ from slack handles before save

To keep slack handles consistent when storing and displaying, we should remove the @ prefix. Some users type it, some don't. Probably best to sanitize it and append it when we display on the site.

Enhancement: Display better flash messages.

When a user performs an action — successful or not — we display a styled message at the top of the page.

This is pretty basic at the moment. It would be pretty neat to have a decent toast/dismissal notification banner, with a bit more styling to make these notifications more apparent.

Bug: Mobile navigation

The header on mobile is cut off.

The css (and most of this stuff, really) was live coded at a meetup one night at NashJS, so it's not really the best in the world.

Would be nice to clean it up a bit and make sure the header (and all parts of the site) are visible and navigable on mobile / tablet sizes.

Version 10 of node.js has been released

Version 10 of Node.js (code name Dubnium) has been released! 🎊

To see what happens to your code in Node.js 10, Greenkeeper has created a branch with the following changes:

  • Added the new Node.js version to your .travis.yml
  • The engines config in 1 of your package.json files was updated to the new Node.js version

If you’re interested in upgrading this repo to Node.js 10, you can open a PR with these changes. Please note that this issue is just intended as a friendly reminder and the PR as a possible starting point for getting your code running on Node.js 10.

More information on this issue

Greenkeeper has checked the engines key in any package.json file, the .nvmrc file, and the .travis.yml file, if present.

  • engines was only updated if it defined a single version, not a range.
  • .nvmrc was updated to Node.js 10
  • .travis.yml was only changed if there was a root-level node_js that didn’t already include Node.js 10, such as node or lts/*. In this case, the new version was appended to the list. We didn’t touch job or matrix configurations because these tend to be quite specific and complex, and it’s difficult to infer what the intentions were.

For many simpler .travis.yml configurations, this PR should suffice as-is, but depending on what you’re doing it may require additional work or may not be applicable at all. We’re also aware that you may have good reasons to not update to Node.js 10, which is why this was sent as an issue and not a pull request. Feel free to delete it without comment, I’m a humble robot and won’t feel rejected 🤖


FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.