Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
Meta
Meta
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 125
    • Issues 125
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 0
    • Merge Requests 0
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • MoodleNet
  • MetaMeta
  • Wiki
  • apis

Last edited by Mayel Feb 15, 2019
Page history

apis

API Toolkit

Data modeling tools:

  • JSON Editor Online & JSON-LD Playground or Hackolade for JSON objects

API documentation and testing:

  • Definitions as OpenAPI specification
  • Swagger Editor

GraphQL API

  • Client https://github.com/graphql/graphiql & as desktop app: https://github.com/skevy/graphiql-app
  • To create mock back-end API with one of: https://fakerql.com https://github.com/APIs-guru/graphql-faker https://www.graph.cool/

To design & test the schema:

  • GraphQL SDL — Schema Definition Language & an intro
  • GraphQL Faker (editor for GraphQL IDL, and built-in GraphQL server to mock the future API or extend the existing API with realistic data from faker.js. No coding required, just write GraphQL IDL)

To generate documentation & test queries:

  • GraphiQL (in-browser tool for writing, validating, and testing GraphQL queries, can point it to a local setup or a server), has desktop app
  • GraphQL Playground (uses components of GraphiQL under the hood but is meant as a more powerful GraphQL IDE enabling better (local) development workflow), has desktop app
  • https://www.npmjs.com/package/graphql-docs (to dynamically generate a documentation explorer for GraphQL schemas, aims to provide a better overview of a schema than GraphiQL, but without querying features)

Exploring the draft client API schema for CommonsPub and MoodleNet

  1. Install GraphQL faker i.e. npm install -g graphql-faker
  2. Check out (or download) the schema from https://gitlab.com/OpenCoop/CommonsPub/Docs/blob/master/graphql/commonspub.grqphql
  3. Run with graphql-faker --open commonspub.grqphql
  4. You can copy/paste the example queries from docs in https://gitlab.com/OpenCoop/CommonsPub/Docs/blob/master/graphql/ into the GraphiQL tab (left nav) to get started
  5. You should see something like this: Screenshot_2018-11-12_20.08.55

Note: See this issue for discussion of the schema.

To research

  • https://graphql.org
  • http://www.hypergraphql.org
  • https://www.apollographql.com
  • https://akryum.github.io/vue-apollo/
  • https://medium.com/@lachlanmiller_52885/graphql-basics-and-practical-examples-with-vue-6b649b9685e0

JS:

  • https://github.com/kadirahq/lokka
  • https://www.apollographql.com/client/
  • https://github.com/prismagraphql/graphql-request
Clone repository
  • Federation testing plan
  • HQ user testing plan
  • How to file bugs
  • List of intentions of MoodleNet users (verb based)
  • Localisation
  • OER metadata
  • Policies by user "rank"
  • Taxonomies and common metadata values
  • activitypub and activitystreams
  • apis
  • backends and controllers
  • databases and models
  • discussions
  • elixir app structure
  • front ends
View All Pages