Organize monthly Hacker News jobs
Description
Ask HN: Who is hiring? at the first day of each month at 9 AM Eastern time is a great source of jobs and trends in the startup world. Following it is quite a hassle as the UI is not designed for hundreds of posts in a single page. This application is cloning it into a local database and adds a UI to select interesting jobs and hide the unattractive ones.
Installation
The current database is RethinkDB, use they instructions to install it. On OS X with brew it's as easy as:
brew update && brew install --upgrade rethinkdb
Backend is written in python 2.7 using a minimalistic approach with flask. To run it use scripts/setup.sh to create a virtualenv with the required packages installed in it.
Frontend is using ReactJS, jquery and bootstrap with on the fly JSX transformation.
Starting the service
-
start your database somewhere with
rethinkdb -d YOUR_PREFERRED_DATABASE_DIRECTORY_LOCATION.db/is already ignored, if you don't want to think. -
activate the virtualenv with
source ./bootstrap_venv/bin/activate -
run
./hn.pyto collect data using firebaseio.com. This will take around 10 minutes. At the first days of the month you should run this frequently to collect the latest jobs and comments. -
start the local server as
./server.pyand point your browser tohttp://localhost:3000. To run it on a different port useenv PORT=XXXX ./server.py
You can be lazy and run all of the above in a tmux session with scripts/run-tmux.sh.
Stopping the service
- stop
server.pywith aCTRL-C - stop
rethinkdbwith aCTRL-C - stop
hn.pywith aCTRL-C
Stopping all of the processes in tmux will also close the session automatically.
