zganger / jobhopper

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JobHopper - README (v1)

General Information

Jobhopper is an application for analyzing and querying career mobility and outside options data set to help workers, public sector professionals, and policymakers to improve career training, career paths, and career mobility options. GERONIMO!

Scope & Problem Statement

Many workers have limited outside options for career and wage progression outside their current occupations. The quality of outside options matter for workers’ wages but limited data exists to provide guidance and training to workers on occupational mobility and outside-options (Monopsony and Outside Options. Schubert, Stansbury,and Taska. Harvard University, March 2020). The problem that we are tryingto solve is to provide better insight than standard data sets for improving occupational mobility options, improving worker wages, and improving policies related to investments and training.

How to Install

  1. Install Python 3.7.

  2. Install virtualenv from pip:

    python3.7 -m pip install virtualenv
  3. Clone this repo to local:

    git clone https://github.com/codeforboston/jobhopper.git
  4. Create a virtual environment of Python 3.7 in the root of the local repo:

    cd jobhopper
    python3.7 -m virtualenv --python=3.7 venv
  5. Activate venv:

    . ./venv/bin/activate
  6. Install project dependencies from requirements.txt:

    pip install -r requirements.txt
  7. Create a personal .env file to include environment variables for the app: (Note: Don't include .env in commit, thus it's in .gitignore):

    SECRET_KEY='[generated key]'

    You can get your own 50 character secret key from here.

  8. Create Postgres DB:

    a. Install Postgres 12

    b. Start postgresql service and check if clusters are running.

    sudo service postgresql start
    pg_lsclusters

    If the text is green, it's working.

    c. Run psql through the newly created postgres user.

    sudo -i -u postgres
    psql

    d. Create a new user/role for the site to access the database to. Name it however you like as long as you note the username and password for putting it in .env.

    CREATE ROLE [user]
    SUPERUSER
    LOGIN
    PASSWORD '[password]';

    e. Create a new database for the site to access. Name it however you like (preferably 'jobhopperdatabase') as long as you note the name of the database for putting it in .env.

    CREATE DATABASE [database name]
      WITH OWNER = [user];

    f. Exit out of psql and postgres user with the exit command for both cases.

    g. Add those information you written into the .env file.

    SECRET_KEY='[generated key]'
    
    DB_NAME='[database name]'
    DB_USER='[user/role name]'
    DB_PASSWORD='[password]'
    DB_HOST='127.0.0.1'  # Localhost IP
  9. Migrate from manage.py in root.

    python manage.py migrate
  10. Now run the server via this script:

    python manage.py runserver
  11. Go to the URL [baseurl]/jobs/api/leads/ and test out creating entries.

Questions That JobHopper Will Be Trying To Answer

  • How might we enable citizens to have better information about the career paths that they could move into from their current job?
  • How can citizens weigh and negotiate options for a new career path?
  • How might we equip policymakers with labor market data?
  • How might we identify where the labor market is headed and what skills and abilities are needed in the new jobs?
  • How might we equip workforce development systems with job transfer data to understand regional trends in employee movements?
  1. occupational trends in their national, regional, or local labor market
  2. what skills and abilities their area has, and what it might need in the future
  3. how their local labor market might respond to positive or negative shocks

Directory

Personas

TBD

Technologies Used

Front End Logic & Data Processing: Database:
React (JavaScript) Django (Python 3.7) Postgres

Features

TBD

Data Sources & Relevant Links

Data

  1. Data Used for March 2020 Paper "Monopsony and Outside Options"

O*NET - Task/Skill/Education Requirements by Occupation

Mass.gov

  1. Massachusetts Publicly Available Occupational Data

Bureau of Labor Statistics

Papers

  1. 2020-03 - Monopsony and Outside Options Gregor Schubert, Anna Stansbury, and Bledi Taska
  • Sections of Note:

    • p.13 to p.19, from "Using occupational transitions to identify outside-occupation options" to "4 Empirical Approach"
    • p.41 to p.47 Appendix Chapter A Burning Glass Technologies Resume Data
    • p. 62 to p. 69 Appendix Figures A1-A10
    • p. 75 to p.76 Appendix Tables A1 and A2
  • Linked Here

Other/Miscellaneous

  1. Dice - A good visualization example of what our clients may want for job/career profiles

Other Information

Are you looking to join the project? If so please familiarize yourself with the available documents and links in the "Data Sources & Relevant Links" section above.

Once you've reviewed those links, please complete a new row in the following Google sheet so we may better understand your background and present interests in the project:

About

License:MIT License


Languages

Language:Python 68.0%Language:TypeScript 22.6%Language:HTML 6.4%Language:CSS 3.0%