Skip to content

Repository files navigation

Walkie

Introduction

Walkie is a web application that tracks walking progress of your favorite regions. Why walking the same route every single time while there's so much paths just waiting to be discovered. App supports all walking explorers to uncover the uknown!

Walkie lets users set preferences like duration, starting & finish points or accessibility, and receive a walking route displayed on an interactive map.

Spatial data (paths, points of interest, areas) is provided by operators through standard geospatial formats. No city or region is hardcoded - the system grows as new datasets are uploaded.

Features Available

Track progress of walking your favorite regions:

overvall view

Compose routes and download GPX for map guidance:

compose route

Draw a random route to inspire yourself:

generate route

Record walks and track coverage with Walk History:

  • Add walks from saved routes, draw them on the map, or upload GPX files from GPS devices (Apple Watch, Garmin, etc.)
  • Edit walk name and date, or delete walks from the edit dialog
  • See your walked street count and coverage percentage in the header

... and many more - try it yourself!

Tech Stack

  • Backend: Django + Django REST Framework + GeoDjango
  • Frontend: Next.js + Leaflet.js
  • Database: PostgreSQL + PostGIS + pgRouting
  • Infrastructure: Docker, GitHub Actions

Prerequisites

Docker path (recommended): Docker Desktop

Native path: Python 3.14+ (via uv), Node.js 25+ / npm 11+, Docker Desktop, GDAL (brew install gdal on macOS)

Getting Started

Docker Compose (Recommended)

# 1. Clone the repository
git clone https://github.com/<your-org>/walkie.git
cd walkie

# 2. Copy environment file and customize if needed
cp .env.example .env

# 3. Start all services (database, backend, frontend)
docker compose up --build

The backend runs on http://localhost:8000 and the frontend on http://localhost:3000. Migrations run automatically on startup. Editing files on the host auto-reloads both services.

To stop everything:

docker compose down        # stop all services
docker compose down -v     # stop and wipe the database volume

Alternative: Native Setup

See docs/technical/local-setup.md for running Python and Node.js directly on the host (database still runs in Docker).

Configuration

See docs/technical/configuration.md for environment variables, GDAL/GEOS paths, CORS settings, and PostGIS image details.

Documentation

Full documentation lives in the docs/ directory. See the table of contents for a complete listing.

About

Route-planning app to fully discover your favorite regions

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages