GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.
How AlternateCMS provides Graphql
We use the Graphql-Mesh service by including a .meshrc.yaml file in the root directory of your application. From here you can simply follow the steps below to access your graphql instance.
In your terminal, access the root directory of your installation of AlternateCMS.
Enter yarn mesh dev and your graphql instance will be available on http://localhost:4000
What solution does AlternateCMS use for Graphql?
We decided to outsource our graphql functionality to the powerful solution Graphql-Mesh. It has proven a viable soltuion because it queries the database, allowing anything added to the AlternateCMS to be immediately turned into a Graphql schema. This solution is faster and more scalable then doing it by hand using other solutions.
If I wanted to use my own graphql solution similar to Graphql-Mesh could I?
Yes, because Graphql-Mesh is just a plugin to our system. It can be removed or simply not activated. Either way, it won't interfere with any other graphql solutions.
Other than Graphql-Mesh, are there other types of solutions similar to it?
Yes you have Hasura and Postgraphile which are just a two of many solutions that can query your database directly.
Why use Graphql-Mesh instead of Ariadne, Graphene, or another python based solution?
Building graphql over an entire application the size of AlternateCMS is no easy task. Its not the most scalable way of doing it and you can run into many issues as the application grows. So enters Graphql-Mesh, a powerful and scalable solution that allows us to turn our entire database into graphql queries, mutations, and subscriptions.
How to turn off Graphql in AlternateCMS?
Because graphql is provided by Graphql-Mesh in the form of a plugin that sits outside of the actual cms. Graphql can be turned off by simply not running it or removing the Graphql-Mesh files altogether.
What features comes with graphql in AlternateCMS?
You get support for subscriptions, mutations, and queries like most graphql setups but without coding. Its a graphql layer that sits on top of your database.
To find out the features particularly to graphql-mesh, visit: https://www.graphql-mesh.com/
What databases are supported by Graphql-Mesh?
Luckily all the databases supported by AlternateCMS and Django are supported. This includes Mysql, SQLite, and Postgres. Other sources are available here: https://www.graphql-mesh.com/docs/getting-started/basic-example under Source Handlers.
Where can i go to find out more about Graphql?
Visit the official graphql website: https://graphql.org/
I have more questions about Graphql, where can I go?
Visit the official graphql website: https://graphql.org/faq/