Skip to content

Chimpyr/pathfinder-project

Repository files navigation

ScenicPathFinder

A web application for discovering optimal walking routes using multi-criteria route optimisation based on scenery, lighting, and urban qualities.

Features

  • Personalised Scenic Routing: Generate paths that balance the shortest distance with customisable preferences for greenness, water proximity, quietness, social vibrancy and slope preference.
  • Advanced Pathfinding: Geometric loop solvers and A* algorithm with budget constraints
  • Street Lighting Integration: Safety assessment with visibility and lighting context analysis
  • Interactive Web Interface: Real-time route visualisation with folium maps and user preference controls

Quick Start

Prerequisites

  • Python 3.10+
  • PostgreSQL (for street lighting processor)
  • Redis (for Celery task queue)
  • Docker (optional)

Installation

Using Docker (Recommended)

docker-compose up --build

See guides/docker_setup.md for detailed setup and troubleshooting.

Manual Setup

pip install -r requirements.txt
python run.py

Documentation

For a complete overview of the documentation structure, see the Documentation Index.

Navigate the system using these key documents:

Area Documentation
Getting Started Docker setup & debugging
Architecture System design & scalability
API Reference Endpoints · Blueprints
Features User capabilities
Algorithms Pathfinding algorithms
Testing Street lighting test suite
Design Decisions Architecture Decision Records
Future Work Roadmap

Project Structure

app/              # Flask application & business logic
benchmarks/       # Performance testing suite
tests/            # Unit & integration tests
docs/             # System documentation organised by function
scripts/          # Database bootstrap & utilities

Development

Run tests:

pytest tests/

See guides/debug_features.md for debugging workflows and diagnostics.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors