codeforamerica / posting-pro

2016 NOLA Fellowship project | A job posting builder that guides employers towards creating more effective job postings that are free of implicit bias.
https://posting-pro.herokuapp.com
MIT License
6 stars 3 forks source link

posting-pro

Job posting builder with bias analysis.

existing/similar resources

Developing

This is more or less a Jekyll site but with a lot of javascript and a Sinatra backend. Requires Ruby 2.2.2.

After cloning, run bundle install. Create a new file .env, copy in the contents of .env.example, and replace all the your_xxxx_here values with your own values.

jekyll build --watch compiles the site (& sees html/css/js changes) and foreman start runs it at http://0.0.0.0:5000.

Database Setup

Make sure Postgres is installed: which psql should give a reasonable answer. Also create a file called .env with the line DATABASE_URL=postgres://localhost:5432/postingpro. (You may need to create a new DB in postgres called postingpro.)

Run rake db:migrate and rake db:seed to set up the database structure and fill it with sample data. If the data doesn't show up, try running rake db:reset and rake db:seed.

Deploying

Commits to master automagically push to staging. From there, code can be pushed to production via the heroku pipeline.

If you want to test your local changes in a similar-to-heroku environment, run heroku local web.

Deploying your own instance: This app has only been tested on Heroku and may require additional configuration on other providers. Remember to set up the config vars and change the admin password and session secret to something more secure than the dev values.

Adding/Removing Job Posting Templates

To add or remove templates, access the management portal at by adding /manage to the Posting Pro path. This part of the website requires a username and password. It's set in the .env file for local deployments and as an environment variable on Heroku. Please ask the administrator of the Heroku deployment for credentials.

Template format

The template parsing currently requires a very specific template. See the guide for an explanation of how parsings works.

Credits

We rely on a modified fork of TextStatistics.js for readability analysis (fork).

We also ported the gender-decoder algorithm into Javascript for the "gender balance" analysis.