grand-stack / grandstack.io Goto Github PK
View Code? Open in Web Editor NEWGRANDstack website
Home Page: https://GRANDstack.io
GRANDstack website
Home Page: https://GRANDstack.io
from GRANDstack | GRANDstack
to site.title + description
"GRANDstack | Build fullstack GraphQL applications with ease"
Possibly in the "Custom logic" guide?
Covert all @cypher
directive examples to use it?
Multi-line string arguments are frequently used with the @cypher
directive, however the Prism syntax highlighter doesn't recognize these strings as multi-line strings and syntax highlights them as GraphQL.
For example:
type Business {
businessId: ID!
averageStars: Float! @cypher(statement:"MATCH (this)<-[:REVIEWS]-(r:Review) RETURN avg(r.stars)")
recommended(first: Int = 1): [Business] @cypher(statement: """
MATCH (this)<-[:REVIEWS]-(:Review)<-[:WROTE]-(:User)-[:WROTE]->(:Review)-[:REVIEWS]->(rec:Business)
WITH rec, COUNT(*) AS score
RETURN rec ORDER BY score DESC LIMIT $first
""")
name: String!
city: String!
state: String!
address: String!
location: Point!
reviews: [Review] @relation(name: "REVIEWS", direction: "IN")
categories: [Category] @relation(name: "IN_CATEGORY", direction: "OUT")
}
There is a mix of Cypher, javascript, graphql typedefs vs queries, java, shell commands, etc
Add an indicator to each snippet so the reader can see clearly what language the code snippet is referencing.
Perhaps use the tabbed navigation (with a single tab) as a precursor to when we have multiple language examples (javascript and java, etc)
Use one of the example GraphQL schemas (either movies or business reviews) and show the features of the generated GraphQL API with GraphQL query examples (and GraphiQL).
Also show the generated Cypher queries in a tab.
Demonstrate:
Who is the audience for this page? (new to GraphQL? new to Neo4j?)
How does this impact other pages with similar content?
Since docs files are now MDX, React components and JSX can easily be embedded. Embed GraphiQL examples showing features using the movies.grandstack.io schema for relevant pages
The cypher directive feature is powerful enough that it should have its own page, with examples showing:
Additionally, consider adding a guide to show best practice usage of above (and what not to do)
Perhaps in getting started section?
Perhaps on the main landing page
Explain difference between docs pages and guide pages.
Use 2 consistent GraphQL schemas (movies and businesses) throughout. Link to code for the GraphQL APIs and link to Codesandbox examples for them (using neo4j demo databases)
I added content from blog.grandstack.io and some YouTube videos but I’m sure I missed some. Dev.to for example? Some of Ian’s and Michael P.’s posts?
Page: https://grandstack.io/docs/graphql-relationship-types
missing
there is very poor documentation on how to write mutations with relationships.
Make it clear that update and merge mutations replace the value of the temporal and spatial properties, which means all components of a DateTime (for example) must be provided, not just the components intended to be updated.
Docusaurus v2 uses Prism which does not have a Cypher mode. Figure out how to add a custom language mode and add locally, or contribute back to Prism
This page
grandstack.io/docs/neo4j-graphql-js.html
has a sub-optimal example and flow (usage of neo4jgraphql
function, outdated apollo server and neo4j driver example)
Update the example to be more prescriptive of the optimal way to use neo4j-graphql.js and rework the flow of the page.
Include preview of content from the blog on landing page
How is the case of implementing multiple interfaces handled?
Or interfaces that implement other interfaces?
missing
Missing documentation for how to use multiple database with inferSchema
https://grandstack.io/docs/infer-graphql-schema-database/#how-to-use-inferschema
inferSchema(driver, {database: "foobar").then( result => {
console.log(result.typeDefs);
}
The feature added here neo4j-graphql/neo4j-graphql-js#513 is not evident from the docs, and the exact behaviour for some is unintuitive even after reading the tests
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.