Git Product home page Git Product logo

openbeta-graphql's Introduction

Build License

All Contributors

Climbing Route Catalog API

What is this?

OpenBeta Graph API allows other applications to access the OpenBeta climbing database using any standard GraphQL clients.

Endpoint:

We recommend using an online playground to explore the API.

Learn more about GraphQL

Example query

Get all sub-areas at Smith Rock

query Example1 {
  areas(filter: {area_name: {match: "Smith Rock"}}) {
    area_name
    children {
      area_name
      metadata {
        lat
        lng
      }
    }
  }
}

# Result
{
  "data": {
    "areas": [
      {
        "area_name": "Smith Rock",
        "children": [
          {
            "area_name": "Aggro Gully",
            "metadata": {
              "lat": 44.36724,
              "lng": -121.14238
            }
          },
          {
            "area_name": "Angel Flight Crags",
            "metadata": {
              "lat": 44.5672,
              "lng": -122.1269
            }
          },
       ...
        ]
      }
    ]
  }
}

Development

Requirements:

  1. Add '127.0.0.1 mongodb' entry to your /etc/hosts file (or C:\Windows\System32\drivers\etc\hosts on Windows)
127.0.0.1       mongodb
  1. Launch mongodb dev stack: database server and mongo-express (web-based admin console for mongo):
docker compose up -d
  1. Seed your local database with data from staging environment
yarn install
yarn seed-db   # May take a few minutes to download a large database file
  1. Start the GraphQL server
yarn serve

Navigating the codebase

These links explain the structure and key abstractions of our codebase. It's a good place to start before you go spelunking in the code.

Troubleshooting

  • Fix "permissions on /opt/keyfile/keyfile are too open" error This error appears because the keyfile is required to be read-only

    chmod 400 keyfile
  • Fix "error opening file: /opt/keyfile/keyfile: bad file" error This may appear after you update the keyfile to read-only access. The file needs to be owned by the same owner of the mongodb process

    chown 999:999 keyfile

Tips

Questions?

This project is under active development. Join us on Discord!

License

The source code is licensed under the Affero GPL v3.0 license.

Contributors โœจ

Thanks goes to these wonderful people (emoji key):

Kendra Gibbons
Kendra Gibbons

๐Ÿ’ป ๐Ÿค”
Paul Phillips
Paul Phillips

๐Ÿค”
admanny
admanny

๐Ÿ’ป
Colin Gale
Colin Gale

๐Ÿ’ป ๐Ÿค”
Brendan Downing
Brendan Downing

๐Ÿ’ป ๐Ÿค”
Darren Lew
Darren Lew

๐Ÿค” ๐Ÿ’ป
Sundev
Sundev

๐Ÿ’ป ๐Ÿค”
Siman Shrestha
Siman Shrestha

๐Ÿ’ป ๐Ÿค”
Silthus
Silthus

๐Ÿค” ๐Ÿ’ป
Bradley Lignoski
Bradley Lignoski

๐Ÿ’ป ๐Ÿค”
zkao
zkao

๐Ÿ’ป ๐Ÿค”
Nathan Musoke
Nathan Musoke

๐Ÿ’ป ๐Ÿค”
Bill Huang
Bill Huang

๐Ÿ’ป
Klaus
Klaus

๐Ÿ’ป ๐Ÿค”
Iacami Gevaerd
Iacami Gevaerd

๐Ÿ’ป

This project follows the all-contributors specification. Contributions of any kind welcome!

openbeta-graphql's People

Contributors

vnugent avatar zichongkao avatar allcontributors[bot] avatar enapupe avatar musoke avatar cocoisbuggy avatar l4u532 avatar siman4457 avatar silthus avatar billykeyss avatar andrew-jp avatar bradleydean avatar admanny avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.