Giter Site home page Giter Site logo

jobhopper's Introduction

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.

  12. Go to the url [baseurl]/api/v1/health and ensure it returns json data.

  13. Go to the url [baseurl]/jobs and ensure it returns data.

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:

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.