This project has been archived. Contact the owner of Canyoneer for current work.
This is an API for canyoneering routes from RopeWiki.
You can make HTTP requests to the API at http://canyoneer--main.s3.us-west-1.amazonaws.com.
The following endpoints are available:
/style.json- a JSON file containing a Mapbox Style Spec for viewing the vector tiles/v1/index.json- all routes as a JSON array using theRouteV1type/v1/schemas/{type}.json- JSON schemas forRouteV1/v2.zip- A zip archive of the entire v2 directory/v2/details/{id}.json- detailed data for a single route using theRouteV2type which includes the HTML description and all geometries from the KML file/v2/index.geojson- all route geometries as a JSON array from the KML files using theGeoJSONRouteV2type/v2/index.json- all routes as a JSON array using the lightweightIndexRouteV2type/v2/schemas/{type}.json- JSON schemas forIndexRouteV2,RouteV2, and `GeoJSONRouteV2/v2/tiles/{z}/{x}/{y}.pbf- all route geometries from the KML files as theGeoJSONRouteV2type formatted as Vector Tiles/v2/tiles/metadata.json- a standard Tippecanoe metadata file that describes what's in the vector tiles and how they were generated
All content on our API is available under Creative Commons Attribution Non-Commercial Share Alike unless otherwise noted.
Install native dependencies
- git
- Node.js (>= v19)
- yarn (>= v1.22)
- pandoc (>= 3.x.x)
- tippecanoe (>= v1.36)
- mapnik (>= v1.36)
One recommendation to install these is using brew
brew install yarn
brew install pandoc
brew install tippecanoe
brew install mapnik
Clone this git repository
git clone git@github.com:lucaswoj/canyoneer.git
cd canyoneer
Install yarn dependencies
yarn
Install the git pre-commit hook
yarn install-precommit
Ask existing user to create an AWS account for you
Create an AWS access key (docs)
Authenticate the AWS CLI
$ aws configure --profile canyoneer
AWS Access Key ID [None]: {COPY FROM PREVIOUS STEP}
AWS Secret Access Key [None]: {COPY FROM PREVIOUS STEP}
Default region name [None]:
Default output format [None]:
Run the tests
yarn test
Run the scraper
yarn start
The scraper supports some command line flags. You can see all of them by running
yarn start --help
After running the scraper as above, you may start the web interface in development mode by running
yarn web
.githubconfigures GitHub workflows to run our unit tests on every push to provide continuous integration (CI)..vscodeconfigures VSCode to work seamlessly with our code formatting tools.buildcontains the compiled web frontend, route JSON files, and tiles after the CLI finishes running. This is what gets uploaded to S3. This folder does not exist until the CLI has run.cachecontains cached HTTP responses from RopeWiki. This folder does not exist until the CLI has run.coveragecontains a unit test code coverage report. This folder does not exist until the unit tests have run.fixturescontains test fixtures needed for the unit testspubliccontains static files used by our web frontend. These files are copied to the build directory alongside the compiled web frontend in a later step. See the "Using the Public Folder" docs from Create React App for more.src/clicontains the scraper itself and a command-line interface (CLI) for running it.src/typescontains TypeScript type definitions used throughout the codebase.src/utilscontains utility functions and helper modules used across the codebase.src/webcontains a React web frontend app for viewing the data and iterating on our the Mapbox style.