Workshop to illustrate how to use GraphQL

Overview

🎓 Netflix Clone using Astra DB and GraphQL

Gitpod ready-to-code License Apache2 Discord

50 minutes, Intermediate, Start Building

A simple ReactJS Netflix homepage clone running on Astra DB that leverages a GraphQL API with paging and infinite scrolling. The materials has been built with the collaboration of Ania Kubow and Datastax developer advocates team.

image

🎯 Objectives

  • Deploy a Netflix clone to production
  • Learn GraphQL API and how to use it with a database to create the tables and navigate the data.
  • Learn about paging and infinite scrolling in web ui
  • Leverage Netlify and DataStax Astra DB

ℹ️ Frequently asked questions ℹ️

  • Can I run the workshop on my computer?

There is nothing preventing you from running the workshop on your own machine. If you do so, you will need

You will have to adapt commands and paths based on your environment and install the dependencies by yourself. We won't provide support to keep on track with schedule. However, we will do our best to give you the info you need to be successful.

  • What other prerequisites are there?
  • You will need a github account
  • You will also need Netlify and Astra DB accounts, but we'll work through that in the exercises
  • Use Chrome or Firefox for the best experience. Other browsers are great, but don't work well with the GitPod integration we use a bit later.
  • Do I need to pay for anything for this workshop?
  • No. All tools and services we provide here are FREE.
  • Will I get a certificate if I attend this workshop?

Attending the session is not enough. You need to complete the homeworks detailed below and you will get a nice badge.

Materials for the Session

It doesn't matter if you join our workshop live or you prefer to do at your own pace, we have you covered. In this repository, you'll find everything you need for this workshop:

Homework

Don't forget to complete your upgrade and get your verified skill badge! Finish and submit your homework!

  1. Complete the practice steps from this repository as described below.
  2. Insert a movie of your choice in the database.
  3. Make screenshots alongside the steps and show us your deployed production Netflix clone up in Netlify.
  4. (Optional extra credit) Watch the 2 hour Ania video HERE, build the app yourself, and show us the completed app.
  5. Submit your homework here

That's it, you are done! Expect an email next week!

Let's start

Table of contents

Part I - DB Setup & Data Ingest

  1. Create Astra DB Instance
  2. Create a security token
  3. Create table genre with GraphQL
  4. Insert data in genre with GraphQL
  5. Retrieve values of genre table
  6. Create movie table
  7. Insert values in movie table
  8. Retrieve values from movie table
  9. Load a CSV DataSet

Part II - Deploy to Production

  1. Deploy to Netlify
  2. Clone your GitHub repository
  3. Launch GitPod
  4. Install the Netlify CLI
  5. Retrieve application token to securely connect to the database
  6. Configure Environment Variables and Install Dependencies
  7. Launch your app
  8. Connect Netlify to your site
  9. Deploy to production

Extra resources

What is JamStack?

Video tutorial with Ania Kubow

Part 1 - DB Setup & Data Ingest

1. Login or Register to AstraDB and create database

When creating your instance use the promotion code ANIA200 to get 200$ of free credit allowing you about 30 million writes + 30 Million reads + 50GB a month of monthly storage!!

ASTRADB is the simplest way to run Cassandra with zero operations at all - just push the button and get your cluster. No credit card required, $25.00 USD credit every month, roughly 5M writes, 30M reads, 40GB storage monthly - sufficient to run small production workloads.

Step 1a: Click the button to login or register with Datastax. You can use your Github, Google accounts or register with an email.

Make sure to chose a password with minimum 8 characters, containing upper and lowercase letters, at least one number and special character

  • Show me!

Use the following values when creating the database

Field Value
database name netflix_workshop_db
keyspace netflix_keyspace
Cloud Provider Use the one you like, click a cloud provider logo, pick an Area in the list and finally pick a region.

You can technically use whatever you want and update the code to reflect the keyspace. This is really to get you on a happy path for the first run.

You will see your new database pending in the Dashboard.

image

The status will change to Active when the database is ready, this will only take 2-3 minutes. You will also receive an email when it is ready.

🏠 Back to Table of Contents

2. Create a security token

Step 2a: Create a token for your app to use in the settings screen. Use "Database Administrator" permission.

Step 2b: Copy the token value (eg AstraCS:KDfdKeNREyWQvDpDrBqwBsUB:ec80667c....) in your clipboard and save the CSV, this value would not be provided afterward.

👁️ Expected output

  • Show me!

🏠 Back to Table of Contents

3. Create table genre with GraphQL

Step 3a: Open GraphQL Playground by

  1. Click on your active database
  2. Click Connect TAB
  3. Click GRAPHQL API
  4. Clik link to you playground.

As show on the picture below. image

Note that values in the picture do no reflect the database name netflix_workshop_db, reason is we do not reproduce every pictures each time

Step 3b: In GraphQL Playground, Populate HTTP HEADER variable x-cassandra-token on the bottom of the page with your token as shown below

image

Step 3c: In GraphQL Playground, create a table with the following mutation, making sure to replace netflix_keyspace if you used a different name:

  • Copy the following mutation on the left panel
mutation {
  reference_list: createTable(
    keyspaceName:"netflix_keyspace",
    tableName:"reference_list",
    ifNotExists:true
    partitionKeys: [ 
      { name: "label", type: {basic: TEXT} }
    ]
    clusteringKeys: [
      { name: "value", type: {basic: TEXT}, order: "ASC" }
    ]
  )
}
  • Use the arrow in the middle of the screen to execute the query

image

🏠 Back to Table of Contents

4. Insert data in the Table with GraphQL

Step 4a: In graphQL playground, change tab to now use graphql. Edit the end of the URl to change from system to the name of your keyspace: netflix_keyspace

Step 4b: Populate HTTP HEADER variable x-cassandra-token on the bottom of the page with your token as shown below (again !! yes this is not the same tab)

image

Step 4c: In GraphQL Playground,populate the reference_list table with the following values

  • Copy the following mutation on the left panel
mutation insertGenres {
  action: insertreference_list(value: {label:"genre", value:"Action"}) {
    value{value}
  }
  anime: insertreference_list(value: {label:"genre", value:"Anime"}) {
     value{value}
  }
  award: insertreference_list(value: {label:"genre", value:"Award-Winning"}) {
     value{value}
  }
  children: insertreference_list(value: {label:"genre", value:"Children & Family"}) {
     value{value}
  }
  comedies: insertreference_list(value: {label:"genre", value:"Comedies"}) {
     value{value}
  }
  documentaries: insertreference_list(value: {label:"genre", value:"Documentaries"}) {
     value{value}
  }
  drama: insertreference_list(value: {label:"genre", value:"Dramas"}) {
     value{value}
  }
  fantasy: insertreference_list(value: {label:"genre", value:"Fantasy"}) {
     value{value}
  }
  french: insertreference_list(value: {label:"genre", value:"French"}) {
     value{value}
  }
  horror: insertreference_list(value: {label:"genre", value:"Horror"}) {
     value{value}
  }
  independent: insertreference_list(value: {label:"genre", value:"Independent"}) {
     value{value}
  }
  music: insertreference_list(value: {label:"genre", value:"Music & Musicals"}) {
     value{value}
  }
  romance: insertreference_list(value: {label:"genre", value:"Romance"}) {
     value{value}
  }
  scifi: insertreference_list(value: {label:"genre", value:"Sci-Fi"}) {
     value{value}
  }
  thriller: insertreference_list(value: {label:"genre", value:"Thriller"}) {
     value{value}
  }  
}
  • Use the arrow in the middle of the screen to execute the query

🏠 Back to Table of Contents

5. Retrieving list of values

Step 5a: In GraphQL Playground, not changing tab (yeah) list values from the table with the following query.

query getAllGenre {
    reference_list (value: {label:"genre"}) {
      values {
      	value
      }
    }
}

👁️ Expected output image

🏠 Back to Table of Contents

6. Creating a Movies Table

Step 6a: Move to tab GRAPHQL-SCHEMA, everything should be set, use the following mutation to create a new table: _Remember to change the keyspaceName if you used something different.

mutation {
  movies_by_genre: createTable(
    keyspaceName:"netflix_keyspace",
    tableName:"movies_by_genre",
    ifNotExists: true,
    partitionKeys: [
      { name: "genre", type: {basic: TEXT} }
    ]
    clusteringKeys: [ 
      { name: "year", type: {basic: INT}, order: "DESC" },
      { name: "title", type: {basic: TEXT}, order: "ASC" }
    ]
    values: [
      { name: "synopsis", type: {basic: TEXT} },
      { name: "duration", type: {basic: INT} },
      { name: "thumbnail", type: {basic: TEXT} }
    ]
  )
}

👁️ Expected output image

🏠 Back to Table of Contents

7. Insert Values in Movie table

Step 7a: Move to tab GRAPHQL, everything should be set, use the following mutation to populate movies table:

mutation insertMovies {
  inception: insertmovies_by_genre(
    value: { 
      genre:"Sci-Fi", 
      year:2010,
      title:"Inception",
      synopsis:"Cobb steals information from his targets by entering their dreams.",
      duration:121,
      thumbnail:"https://i.imgur.com/RPa4UdO.mp4"}) {
    value{title}
    }
  
  prometheus: insertmovies_by_genre(value: { 
      genre:"Sci-Fi", 
      year:2012,
      title:"Prometheus",
      synopsis:"After a clue to mankind's origins is discovered, explorers are sent to the darkest corner of the universe.",
      duration:134,
      thumbnail:"https://i.imgur.com/L8k6Bau.mp4"}) {
    value{title}
    }
  
  	aliens: insertmovies_by_genre(value: { 
      genre:"Sci-Fi", 
      year:1986,
      title:"Aliens",
      synopsis:"Ellen Ripley is sent back to the planet LV-426 to establish contact with a terraforming colony.",
      duration:134,
      thumbnail:"https://i.imgur.com/QvkrnyZ.mp4"}) {
    value{title}
    }
  
    bladeRunner: insertmovies_by_genre(value: { 
      genre:"Sci-Fi", 
      year:1982,
      title:"Blade Runner",
      synopsis:"Young Blade Runner K's discovery of a long-buried secret leads him to track down former Blade Runner Rick Deckard.",
      duration:145,
      thumbnail:"https://i.imgur.com/xhhvmj1.mp4"}) {
    value{title}
    }
  }

👁️ Expected output image

ℹ️ You can find more movie data in the data folder, however, we will be doing a bulk import of all this data shortly.

🏠 Back to Table of Contents

8. Retrieve values from Movie tables

Step 8a: In GraphQL Playground, not changing tab (yeah) list values from the table with the following command.

query getMovieAction {
    movies_by_genre (
      value: {genre:"Sci-Fi"},
       orderBy: [year_DESC]) {
      values {
        year,
        title,
        duration,
        synopsis,
        thumbnail
      }
    }
}

👁️ Expected output image

Step 8b Enable paging: For small datasets you can retrieve all values in the table but for performance or network reasons you need to perform paging. Let's do same query as before now asking for a page size to 2

query getMovieAction {
    movies_by_genre (
      value: {genre:"Sci-Fi"},
       options: {pageSize: 2},
       orderBy: [year_DESC]) {
      values {
        year,
        title,
        duration,
        synopsis,
        thumbnail
      }
    pageState
    }
}

👁️ Expected output

image

Step 8c: Fetch next page paging: Notice that pageState is also now returned. Let's use it to fetch the next 2 items (next page). Edit the next query to replace your own pageState YOUR_PAGE_STATE

query getMovieAction {
    movies_by_genre (
      value: {genre:"Sci-Fi"},
       options: {pageSize: 2, pageState: "<YOUR_PAGE_STATE>"},
       orderBy: [year_DESC]) {
      values {
        year,
        title,
        duration,
        synopsis,
        thumbnail
      }
    pageState
    }
}

👁️ Expected output

image

🏠 Back to Table of Contents

9. Load a CSV DataSet

Step 9a: Download the dataset

To download the DATASET, right-click (or CTRL + Click to open in new tab) the button below and download the target file on your machine.

If the file opens in the browser save it with the name movies_by_genre.csv. This is important as the filename will be the table name.

Step 9b: Open Astra Data Loader Importer

  • Locate the Upload Data button to open the Data Loader.

image

Step 9c: Upload the dataset

Click on the area Drag n drop a single file and look for the file movies_by_genre.csv on your machine, this file has been downloaded in step 9b.

image

Once the file has been upload notive the Upload Successful message in green. You can now click NEXT

Step 9d: Define target table

  • Locate the field Table Name and make sure it is set to movies_by_genre

image

  • In Keys and Clustering section enter genre as the partition key.

image

You can now click on NEXT to move forward.

Step 9e: Define target database

image

Select the database we are currently using:

Field Value
Target Database netflix_workshop_db
Target Keyspace netflix_keyspace

and click next to launch the treatment asynchronously.

Step 9f: Wait for the batch to import your data

After a few seconds (about 30s) ,you will get an email informing you that the batch has been scheduled.

image

As you can see the operation here is asynchronous. About a minute later your will get another email to tell you the data has been inserted.

image

Congratulations the Database is SET !!!

🏠 Back to Table of Contents

Part 2 - Deploy to Production

1. Deploy to Netlify

  • What does the netlify deploy button do?The Netlify deploy button will:
    • Create a new repository for you on Github
    • Create a site on Netlify
    • Link the two together.
  • Click the button to deploy

    Deploy to Netlify

  • Show me!

This will take a few minutes.

  • Click on Site deploy in progress within the Netlify UI,

    Show me!
  • Click the top deploy link to see the build process.

    Show me!
  • Wait until the build complete Netlify Build Complete, When you see Pushing to repository you're ready to move on.

    Show me!
  • Scroll up to the top and click on the site name (it'll be after {yourlogin}'s Team next to the Netlify button).

    Show me!

2. Clone your GitHub repository

  • Click on the GitHub in Deploys from GitHub to get back to your new repository. Scroll to where you were in the README.
    Show me!

3. Launch GitPod IDE

  • Click the button to launch the GitPod IDE from YOUR repository.
  • Supported by Chrome and Firefox

WAIT! Before moving on ensure you are working out of YOUR repository, not the datastaxdevs repository.

correct notcorrect

If you are still using the datastaxdevs repo please ensure to follow the previous step, step3 to get to your repo.

  • Ok, I've got it, just give me the button already

  • CLICK HERE to launch GitPod

    Open in Gitpod

ℹ️ _It may take a moment for GitPod to fully initialize.

4. Install the Netlify CLI (Command Line Interface)

  • In the appdev-week3-graphql directory run the following command to install the netlify-cli
npm install -g netlify-cli
  • Show me!

5. Retrieve application token to securely connect to the database

Use the token you previously generated. If you no longer have the token and did not download a .csv, you can generate a new token using the instructions above

You will also need the GraphQL Endpoint for your keyspace. First, go to the Astra DB connect page for your database. graphql-endpoint-1 Then scroll down to find the endpoint for your keyspace. graphql-endpoint-1

6. Configure Environment Variables and Install Dependencies

Create .env file (do not leave curly brackets)

ASTRA_DB_APPLICATION_TOKEN={ your_token }
ASTRA_GRAPHQL_ENDPOINT={ your_endpoint }

env-file

👩‍💻 Install all the packages

npm install

7. Launch your app

  • Run the application
netlify dev
  • The application should automatically launch in the GitPod preview pane

8. Connect Netlify to your site

Execute each of the commands below to link your code to your Netlify deployment.

Step 8a: we'll need to STOP the netlify dev command we issued a moment ago. In the terminal where you executed the netlify command issue a CTRL+C (control key + the C key) in order to stop the process.

Step 8b: Enter the following command to pop up a browser to authenticate with netlify

netlify login

👁️ Expected output

Opening https://app.netlify.com/authorize?....
⠋ Waiting for authorization...^C

Step 8c: Open the link in a new WINDOW for the link to work, and authorize Netlify CLi to access Netlify on your behalf.

When using GitPod the preview pane will not display this properly. You must click the "open in a new window" button in the very top right of the preview pane._

👁️ Expected output

You are now logged into your Netlify account!
Run netlify status for account details
To see all available commands run: netlify help
gitpod /workspace/appdev-week3-graphql $ 

Step 8d: link your workspace to the associated site with the following command

netlify link

👁️ Expected output

image

Step 8e: take the .env file upload it to netlify

netlify env:import .env

9. Deploy to production

Now that you've hooked everything up, time to deploy to production.

  • Run
netlify build
  • Then run
netlify deploy --prod
  • Then finally run
netlify open:site

You've deployed your app to Netlify! Netlify Setup Example

Extra resources

Video tutorial with Ania Kubow

Thank you to our wonderful friend Ania Kubow for producing the Netflix clone. If you are not aware of Ania and love learning about coding you should absolutely check out her YouTube channel listed below.

While we focused on getting you up and running to production with Astra DB and Netlify, Ania's video will dig into more details on the app itself. Check it out to dig in more.

Ania's Netflix Video

Comments
  • [HW] Arjeet Gour

    [HW] Arjeet Gour

    Name: Arjeet Gour Email: [email protected] Linkedin Profile: www.linkedin.com/in/arjeetgour

    Attach the homework screenshots below:

    Netlify Link - https://tender-curran-1a040d.netlify.app/ 1 2 3 4 Custom Movie

    accepted homework badge issued 
    opened by ArjeetGour 6
  • [HW] Mahesh Dhavane

    [HW] Mahesh Dhavane

    Name: Mahesh Dhavane Email: [email protected] Linkedin Profile: https://www.linkedin.com/in/mahesh-dhavane-0aa6201ba/ Netlify Link: https://practical-brown-cfef08.netlify.app/

    Attach the homework screenshots below:

    -- images removed by team --

    image

    image

    accepted homework badge issued images removed 
    opened by razor300 4
  • [HW] Lee Yong Wei

    [HW] Lee Yong Wei

    Name: Lee Yong Wei Email: [email protected] Linkedin Profile: https://www.linkedin.com/in/yongw3i/

    https://focused-wescoff-32e3ed.netlify.app/

    Attach the homework screenshots below:

    image

    image

    accepted homework badge issued 
    opened by fackerlee 4
  • [HW] Rahul Sunil

    [HW] Rahul Sunil

    Name: Rahul Sunil

    Hi, I inserted a new movie into my database as per the homework requirements - Edge of Tomorrow. Attached are 2 screenshots (of the GraphQL mutation & result) & a screenshot of the updated Netlify Netflix Clone.

    graphQL-screens netflix-screens

    My GitHub Repo: https://github.com/rahulsunil2/netflix-clone My Netlify Clone: https://netflix-clone-graphql.netlify.app/

    accepted homework badge issued 
    opened by rahulsunil2 4
  • [HW] Build a Netflix clone with GraphQL, React and a NoSQL DB

    [HW] Build a Netflix clone with GraphQL, React and a NoSQL DB

    Name: Logesh Kumar Email: [email protected] Linkedin Profile: https://www.linkedin.com/in/logeshkumar87/

    Attach the homework screenshot below:

    Graphql Playground - mutation for adding new movie

    Website - New movie screenshot

    Netlify url

    accepted homework badge issued 
    opened by logesh-kumar 3
  • [HW] Joshua Miller

    [HW] Joshua Miller

    opened by JoshuaTheMiller 3
  • [HW] Anni Huang

    [HW] Anni Huang

    Name: Anni Huang Email: [email protected] Linkedin Profile: https://www.linkedin.com/huanganni/

    Attach the homework screenshots below:

    https://gracious-mclean-144fa2.netlify.app/ Screen Shot 2021-07-25 at 11 54 58 PM

    accepted homework badge issued 
    opened by anni-huang 3
  • [HW] Gurmehar Bakshi

    [HW] Gurmehar Bakshi

    Name: Gurmehar Singh Bakshi Email: [email protected] Linkedin Profile: https://www.linkedin.com/in/gsbakshi/

    Attach the homework screenshots below:

    Screenshot 2021-07-21 at 10 01 10 AM

    Screenshot 2021-07-21 at 10 00 27 AM

    Screenshot 2021-07-21 at 10 00 54 AM

    Screenshot 2021-07-21 at 10 03 12 AM


    Link to my current repo : https://github.com/gsbakshi/gflix Link to deployed app : https://g-flix.netlify.app/

    I had built this on my local machine. Link to the version of my branch before I rewrote the CRA bootstrapped readme. https://github.com/gsbakshi/gflix/tree/7d03463708762c8907fe5545e86f95793ed25d47

    accepted homework badge issued 
    opened by gsbakshi 3
  • [HW] OĞUZHAN NEJAT KARABAŞ / karabasnejat@hotmail.com

    [HW] OĞUZHAN NEJAT KARABAŞ / [email protected]

    Playground

    Interstellar

    React

    mail address : [email protected] Today I attented the Netflix workshop and it was truly great. I learned a lot of stuff. As you clarified for us to get a certificate, I add my own movie " Interstellar" and I also create a thumbnail for the movie. I hope I get my certificate.

    accepted homework badge issued 
    opened by karabasnejat 3
  • [HW] Srilatha Danalakota

    [HW] Srilatha Danalakota

    Name: Srilatha Danalakota Email: [email protected] Linkedin Profile: www.linkedin.com/in/srilatha-danalakota-49ba3419

    Capture

    Attach the homework screenshot below:

    accepted homework badge issued 
    opened by Sri0584 2
  • [HW] Michelle Greyson wk3

    [HW] Michelle Greyson wk3

    Name: Michelle Greyson Email: [email protected] Linkedin Profile: https://www.linkedin.com/in/michellengreyson/

    Attach the homework screenshots below:

    Screenshot (52) Screenshot (54)

    accepted homework badge issued 
    opened by nlm4mwiad 2
  • [HW] James Colvin

    [HW] James Colvin

    Name: James Colvin Email: [email protected] Linkedin Profile: https://www.linkedin.com/in/colvinjames/

    Attach the homework screenshot below:

    Deployed on Netlify image

    homework wait for review 
    opened by jamesc127 1
  • [HW] Netflix By Joshua B. Turner

    [HW] Netflix By Joshua B. Turner

    Name: Joshua B. Turner Email: [email protected] LinkedIn: https://www.linkedin.com/in/taztech/

    Attach the homework screenshot below:

    netflix-genre netflix-movie

    Extra credit:

    netflix-local

    accepted homework badge issued 
    opened by joshmanifold 1
  • [HW] <AndreaSannuto>

    [HW]

    Name: Andrea Sannuto Email: [email protected] Linkedin Profile: https://www.linkedin.com/in/andreasannuto/

    Attach the homework screenshot below:

    ![netflix_clone](https://user-images.githubusercontent.com/11621880/141678085-7436666d-00d7-4534-9006-08fc0cc3d59b.png) accepted homework badge issued 
    opened by AnsenIO 2
  • [HW] Mayowa Oloke

    [HW] Mayowa Oloke

    **Name:**Mayowa Oloke Email: [email protected] Linkedin Profile: https://www.linkedin.com/in/mayowa-oloke-2103941ba/

    Attach the homework screenshot below:

    ![image](https://user-images.githubusercontent.com/47447696/141479049-f90feedc-1578-4dfe-919b-d9acccd2c289.png) accepted homework badge issued 
    opened by moloke 1
  • [HW] Jaime Baez

    [HW] Jaime Baez

    Name: Jaime Baez Castillo Email: [email protected] Linkedin Profile: https://www.linkedin.com/in/jaime-baez-castillo/

    Attach the homework screenshot below:

    Added movie: Spirited Away https://amazing-euler-a7592e.netlify.app/ Captura de pantalla 2021-11-06 a las 12 45 00

    accepted homework badge issued 
    opened by jbaez 1
  • [HW] TANMAY MAHAPATRA

    [HW] TANMAY MAHAPATRA

    Name: Tanmay Mahapatra Email: [email protected] Linkedin Profile: https://www.linkedin.com/in/tanmay-mahapatra/

    Attach the homework screenshot below:

    ![Screen Shot 2021-11-04 at 9 31 03 PM](https://user-images.githubusercontent.com/33974828/140446958-7407bb51-df42-4315-ab ![Screen Shot 2021-11-04 at 10 11 55 PM](https://user-images.githubusercontent.com/33974828/140446988-9de536c0-9d51-4800-9a6b-cce92a ![Screen Shot 2021-11-04 at 10 12 48 PM](https://user-images.githubusercontent.com/33974828/140446999-cca6f850-c7bd-4214-822d-f02a76f6d890.jpg) 8e00fd.jpg) 19-9c37f6635548.jpg) accepted homework badge issued 
    opened by tanmaymohapatra 3
Owner
DataStax Developers
DataStax Developers
curl for GraphQL with autocomplete, subscriptions and GraphiQL. Also a dead-simple universal javascript GraphQL client.

graphqurl graphqurl is a curl like CLI for GraphQL. It's features include: CLI for making GraphQL queries. It also provisions queries with autocomplet

Hasura 3.2k Jan 3, 2023
GraphQL Fastify Server is an implementation of GraphQL.

GraphQL Fastify Server Installation Usage Using cache Middlewares Liveness & Readiness Contributing License Installation npm install --save graphql-fa

Rui Silva 33 Dec 19, 2022
graphql-codegen plugin to generate type-safe, easy-to use hooks for Flutter

graphql-codegen-flutter-artemis-hooks This is graphql-codegen plugin to generate type-safe, easy-to use Flutter artemis hooks. For further detail, see

seya 18 Jan 2, 2023
Execute one command (or mount one Node.js middleware) and get an instant high-performance GraphQL API for your PostgreSQL database!

PostGraphile Instant lightning-fast GraphQL API backed primarily by your PostgreSQL database. Highly customisable and extensible thanks to incredibly

Graphile 11.7k Jan 4, 2023
Conjure SQL from GraphQL queries 🧙🔮✨

Sqlmancer Conjure SQL from your GraphQL queries ?? ?? ✨ ⚠️ This project is currently on hiatus. I am hoping to resume working on Sqlmancer once I have

Daniel Rearden 132 Oct 30, 2022
Application made to show the basic concepts of GraphQL with Apollo Server

graphql-insta-example Application made to show the basic concepts of GraphQL with Apollo Server. Getting Started Run npm install Run npm run dev Go to

Ana Julia Bittencourt 26 Aug 26, 2022
Learn GraphQL PIAIC CNC Class code

GraphQL using React! Steps (for 01 - react-graphql) Generate and copy Access Token from Github Personal Acess Token Create .env file in project folder

Yousuf Qutubuddin 71 Jan 2, 2023
Código desenvolvido na mentoria do Hiring Coders utilizando Express e GraphQL

hiringcoders-graphql Código desenvolvido na mentoria do Hiring Coders utilizando Express e GraphQL Contribuições A ideia do repositório é continuar si

Daniel Mitre 37 Dec 29, 2022
A lightweight way to cache on graphQL servers

cacheflowQL What is cacheflowQL? CacheflowQL is an npm package with complex caching algorithms that provide developers deep insights into their GraphQ

OSLabs Beta 53 Nov 16, 2022
A template for WebSockets powered Cloudflare Worker project using graphql-ws

?? graphql-ws on Cloudflare Workers A template for WebSockets powered Cloudflare Worker project using graphql-ws. The worker serves the following rout

Denis Badurina 26 Dec 18, 2022
Unofficial API Documentation for the Axie Infinity's GraphQL Endpoint.

Axie GraphQL Documentation API Documentation for the Axie Infinity GraphQL Endpoint. Customization Guide This site is usings rocketseat. You may refer

Shane Maglangit 101 Nov 24, 2022
A Crypto App built to pracitse GraphQL Federation

Getting Started To start this project please first create a .env file in the root of your project with the following: REACT_APP_ASTRA_TOKEN={your_astr

Ania Kubow 34 Dec 28, 2022
A GraphQL Generator for Mongo and CosmosDB

A GraphQL Function Starter Kit for Cosmos DB This is a starter kit for rapid development of a GraphQL API using the Mongo driver for Cosmos DB. You cr

Rob Conery 1 Nov 12, 2021
Very easy graphQL example made by Bobby Chao

Very easy graphQL example made by Bobby Chao. The folder has been organized, the module has been split, and it can be directly used as a development scratch. It using graphQL + node.js + express, and MySQL as datasource.

Bobby Chao 4 Sep 18, 2022
Graphql & Apollo

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts After fetch the project, please install n

Sujan Maharjan 1 Dec 21, 2021
Ecommerce-backend-nestjs - Ecommerce app with Nestjs + Prisma ORM + GraphQL + SQLite

ECOMMERCE BACKEND NESTJS APP Nestjs + Prisma ORM + GraphQL + SQLite USER Create Account Login Product Create Product Get Products Get Product Search P

Rui Paulo Calei 5 Apr 6, 2022
GraphQL API Playground with cascade-like operations

modif ( ?? ?? ?? ) modif is a small GraphQL API with transform capabilities. It takes a string input and outputs a string. Always. TL;DR Go play with

Pedro Palhari 6 Jan 4, 2022
Starter template for NestJS 😻 includes GraphQL with Prisma Client, Passport-JWT authentication, Swagger Api and Docker

Instructions Starter template for ?? NestJS and Prisma. Checkout NestJS Prisma Schematics to automatically add Prisma support to your Nest application

notiz.dev 1.6k Jan 4, 2023
around nestjs, with prisma and some graphql lib,write less code,create power api

介绍 这是一个 prisma + nestjs + graphql 的集成示例 对于开发者来说,特别是使用 graphql 的时候,只需要写非常少量的代码即可完成数据的各种操作,同时也支持接口透传。 开发&部署 本地开发 npm run start:dev swagger 地址:http://loc

芋头 26 Nov 24, 2022