The map to hitchhiking the world. Read more here.
Hitchmap is a static site generator that runs every few minutes.
server.py
runs the serverscripts/show.py
builds the main HTML page (index.html
). This is where the magic happens.scripts/dump.py
runs the monthly dumpcron.sh
is the crontab running above fileshitchmap.conf
is the NGINX configurationjs/map.js
is the entry point of the homepage's JavaScriptjs/pending.js
is responsible for adding temporary markers
A few developers have taken it upon themselves to rewrite Hitchmap to a more traditional MVC structure.
For contributors and users, we recommend reviewing both repositories to determine which best fits your needs. In virtually all cases, user-facing contributions will eventually end up in both repositories.
The software provided in this repository is licensed under AGPL 3.0. The Hitchmap database is licensed under the ODBL, the license used by OpenStreetMap.
Install Python and Node.js, then:
python3 -m venv .venv # optional
source .venv/bin/activate # optional
pip install -r requirements.txt
curl https://hitchmap.com/dump.sqlite > db/points.sqlite
npm install
npm run build
python3 scripts/show.py
python3 server.py
We use Ruff for linting https://docs.astral.sh/ruff/.
The settings can be found in ruff.toml
.
To configure automatic linting for VS Code check out the extension https://github.com/astral-sh/ruff-vscode.
Join the conversation about a map for hitchhiking in our Signal Chat.
File an issue if you have a feature request or found a bug.
Perform a pull request from your fork of the repository if you solved an issue. (It's best to file an issue first so we can discuss it and reference it in the PR.)
If you find the data collected and provided by hitchmap.com helpful, feel free to cite it using:
@misc{hitchhiking,
author = {Bob de Ruiter, Till Wenke},
title = {Dataset of Hitchhiking Trips},
year = {2024},
url = {https://hitchmap.com},
}