Giter Club home page Giter Club logo

jobmarkettracker's Introduction

Job Market Tracker

A simple job application tracker for the Economics Job Market.

What is it?

This is a small package to manage applications for the job market. It does the following things:

  • Manages a list of postings viewed, under consideration, and ignored.
  • Allows you to manage deadlines for applications so that you don't miss anything important
  • Allows you to manage updates to old postings
  • Detects which postings are new and which ones you've already seen
  • Manages application status and letters received
  • Allows you to customize posting details, take notes, and organize them according to custom columns
  • Automates the creation of application folders by copying a default one

What this currently doesnt do:

  • It won't download the posting files for you (or scrape anything)
  • It doesn't allow you to filter postings before reviewing one by one (you can do this in the spreadsheets before inputing it to this app)
  • For now, it doesn't provide any management of interviewes.

Preview

update listings view deadlines

Installation

Simply clone/download this git and execute

python ./main.py

a simple GUI should appear.

This codes does have some requirements which you can install with

pip install -r requirements.txt

Known Issues

If the code crashes on load, a typical issue is the libraries being out-of-date. Either follow the "install -r" method or run

pip install --upgrade pandas xlrd PySimpleGui humanize numpy lxml humanize beautifulsoup4 requests openpyxl

Quick Start

  1. Go to "update postings" and download the AEA and EJM files to your local computer. For the AEA download the native XLS and for the EJM download in CSV. This system does not provide any type of filtering, so if you want to exclude rows, you should do so manually in the XLS/CSV files. Once you're ready, set the location of each file in the finder, and click the update. The system will review each posting in each file and evaluate whether there are new postings or updates to existing ones. New postings will be added to your local new-posting list, while updates will be added to your pending update review list.

  2. To manage new postings, go to "Review new postings" This will show each posting, one by one, allowing you to classify each as interested, maybe interested, or ignore. You can also see the details of postings or go directly to the website.

  3. To manage updates, go to "Manage updates". The system will list all new collected updates and will allow you to accept or reject each update for each posting.

  4. To see your application deadline go to "View deadlines" there you will find all the postings you marked as interested or maybes. Note that many postings have incorrect deadline in AEA and EJM. Often the correct deadline is in the full text. So it is recommended that you review each deadline (particularly those that show up as very far in the future). The system allows you to modify the deadline of each interested posting manually at this stage.

Customizing Inputs and Theme

Tired of the retro wave look of the system? checkout custom_settings.py to change the color theme.

Also, the system allows adding custom sources beyond AEA, EJM, and AJO. Sources are added as dictionaries to the list variables input_option_settings in custom_settings.py. Each source is a dictionary that must specify a number of mandatory keys, including a url for the source, the name of the source, and a function to read the data. See custom_settings.py for further details and examples.

Help!

Check the help button in the GUI for further instructions on how to use this app. Any issues, submit them through the issue tracker here on github.

Contributing

To contribute to this effort please submit a pull request or contact me directly.

jobmarkettracker's People

Contributors

benjaminvatterj avatar ftl2720 avatar hanksf avatar

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.