Nextjs server to query websites with GraphQL
Clone or download
dinubs Merge pull request #7 from rudeayelo/standard-graphql-response
Modify the response to match GraphQL's standard format
Latest commit 6f2a4e5 Jan 2, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode initial commit Dec 10, 2017
pages Names and branding Dec 19, 2018
schema Add support for waitForFn Dec 19, 2018
.babelrc Convert to a next/now app Apr 28, 2018
.gitignore Update .gitignore Dec 19, 2018
README.md Update README to include alternatives to coolqlcool Dec 20, 2018
index.js Modify the response to match GraphQL standard format Jan 2, 2019
package-lock.json Fix nested select issue Nov 10, 2018
package.json Enable CORS Dec 20, 2018
yarn.lock Enable CORS Dec 20, 2018

README.md

Cool QL COOL

Deploy to now

CoolQLCool (CQC) is an open source Graph QL server that allows you to turn websites into a Graph QL api. You can play around with it in GraphiQL.

Important pieces of code are in schema/. Inside of schema/element.js is the schema for grabbing element information from pages. Inside of schema/parse.js is the schema for specifying which site you want to query.

All fields have a description alongside the function for determining what to return. If you have any questions on what a field returns feel free to make an issue and I can explain further what it does.

Deploying

You can very quickly run your own CQC server using Now. After you're all set up with a Zeit account, run npm run deploy in your terminal in this repo's directory. This will compile webpack for you, and run now for you. If you don't need the home page, simply run now.

Running

The important bits are able to be ran with npm start this boots up an express server with endpoints /graphql for creating queries, and a /graphiql endpoint for help with building queries.

To compile assets for the home page do webpack --watch.

Alternatives

Here's some other applications and tools that also do similar things as CoolQLCool. They're all great:

  • GDOM - DOM Traversing and Scraping using GraphQL
  • GraphQL Scraper - Extract structured data from the web using GraphQL