wundergraph-demo
DummyJSON
Our great sponsors
wundergraph-demo | DummyJSON | |
---|---|---|
12 | 21 | |
64 | 1,316 | |
- | - | |
0.0 | 7.2 | |
over 1 year ago | 6 days ago | |
TypeScript | EJS | |
- | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wundergraph-demo
-
NextJS / React SSR: 21 Universal Data Fetching Patterns & Best Practices
If you want to follow along and experience these patterns yourself, you can clone this repository and play around.
-
GraphQL Subscriptions: Why we use SSE/Fetch over Websockets
Thanks to our GraphQL Operation Compiler, we're in a unique position that allows us to only send the "Operation Name" as well as the "Variables" to the server. This approach makes our GraphQL API much more secure as it hides it behind a JSON-RPC API. You can check out an example here, and we're also open sourcing the solution soon.
-
API Gateway - REST upon graphql
I've been working on this problem for a few years actually. What I came to realize is that 99% of all (GraphQL) APIs are private, meaning that we don't expose them to a 3rd party. One aspect of private GraphQL APIs that is almost always true is that the access patterns don't change at runtime, meaning that when deployed to production, the Operations don't change any more. What this means is that in production, we don't really need GraphQL. We don't benefit from GraphQL in production anymore, as we're not writing dynamic Operations. Instead, we could compile the GraphQL Operations that we need into a REST API. This step adds extra complexity, but reduced the attack surface and improves performance. To reduce the overhead, I've created a developer tool. WunderGraph! It compiles your GraphQL APIs into REST Endpoints and generates typesafe clients for them. The DX is still the same, you write GraphQL Operations and use a typesafe client. But behind the scenes, it's just REST. We even generate a Postman Collection, so you can easily share the generated API with your team. Here's a demo if you'd like to try it: https://github.com/wundergraph/wundergraph-demo We're open-sourcing the solution very soon! =)
-
An Inconsistent Truth: Next.js and Typesafety
Alternatively, you can also just run "wunderctl init --template nextjs-starter" to start with the NextJS template. (Obviously you need to install it first: yarn global add @wundergraph/wunderctl@latest)
We're going open source with this solution soon. So, any feedback is appreciated! You can also join our discord and shoot questions. =)
[0]: https://github.com/wundergraph/wundergraph-demo
-
Benchmark: Apollo Federation Gateway v1 vs v2 vs WunderGraph vs mercurius-js
WunderGraph: click here!
-
Apollo Federation 2 is here!!
It's already possible. Here's a demo: https://github.com/wundergraph/wundergraph-demo
-
Anyone implementing Schema Stitching over Apollo Federation?
Shameless plug, you can use Federation, Schema Stitching, REST APIs, etc. all together and even transition from one to the other, here's a demo: https://github.com/wundergraph/wundergraph-demo
- Merge 7 APIs into one unified JSON API and securely consume them from a NextJS application
- Show HN: Merge Apollo Federation, REST and GraphQL APIs Easily
- GitHub - wundergraph/wundergraph-demo: This Repository demonstrates how to combine 7 APIs (4 Apollo Federation SubGraphs, 1 REST, 1 standalone GraphQL, 1 Mock) into one unified GraphQL API which is then securely exposed as a JSON API to a NextJS Frontend.
DummyJSON
-
Next Auth boilerplate TS
# next auth secret created by open ssl NEXTAUTH_SECRET=8xvug0aweP+j06DbfOLH9fAU7Bf2nLBLnYHQiFPB9Pc= #local NEXTAUTH_URL="http://localhost:3000" NEXT_PUBLIC_API_URL="https://dummyjson.com" # deveploment NEXTAUTH_DEBUG=true
-
Integrating GraphQL Codegen + React Query + Clerk JWT Tokens
import { useAuth } from "@clerk/nextjs"; import axios, { AxiosError, isAxiosError } from "axios"; interface GraphQLResponse { data: T; errors?: { message: string }[]; } export const useFetchGraphQLData = ( query: string ): ((variables?: TVariables) => Promise) => { const { getToken } = useAuth(); const url = "https://dummyjson.com"; // Replace this with your GraphQL API URL return async (variables?: TVariables) => { const token = await getToken(); try { const response = await axios.post>( url, { query, variables, }, { headers: { "Content-Type": "application/json", Authorization: token ? `Bearer ${token}` : "", }, } ); if (response.data.errors) { throw new Error(response.data.errors[0].message); } return response.data.data; } catch (error) { if (isAxiosError(error)) { const serverError = error as AxiosError>; if (serverError && serverError.response) { const errorMessage = serverError.response.data.errors?.[0]?.message || "Error in GraphQL request"; throw new Error(errorMessage); } } throw error; } }; };
-
looking for resource site for GET-POST practice (html)
DummyJSON is a set of endpoints you can use to try out different requests without using a commercial API which may or may not ban you or limit your access..
-
UI for fake REST API challenge. How would you rate my skills?
This particular interface was built around https://dummyjson.com/ fake REST API.
-
What are some of the simplest web applications and/or API's out there that are popular
https://dummyjson.com has a few good endpoints for building out basic apps.
-
Web service
Buenas te dejo algunas que conozco https://dummyjson.com/ https://www.jsonapi.co/public-api https://github.com/public-apis/public-apis
-
Spacetraders is an online multiplayer game based entirely on APIs. You have to build your own management and UI on your own with any programming language.
I've been using https://dummyjson.com/ to prototype my Web Components, but this probably works better.
-
Create a Shopping Cart with Vuejs and Pinia
I will use DummyJSON, to get dummy/fake JSON data to use as placeholder in development and prototyping, without worrying about writing a backend.
-
Authentication in Nextjs
import { NextPage } from 'next' import { useState } from 'react' import { setCookie } from 'cookies-next' import { useRouter } from 'next/router' import { useAuthStore } from '~/store/useAuthStore' // import our useAuthStore const SignIn: NextPage = (props) => { // set UserInfo state with inital values const [userInfo] = useState({ email: 'kminchelle', password: '0lelplR' }) const router = useRouter() // import state from AuthStore const setUser = useAuthStore((state) => state.setUser) const setAuthentication = useAuthStore((state) => state.setAuthentication) const login = async () => { // do a post call to the auth endpoint const res = await fetch('https://dummyjson.com/auth/login', { method: 'post', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ username: userInfo.email, password: userInfo.password, }), }) // check if response was ok if (!res.ok) { return console.error(res) } // retrieve data from the response const data = await res.json() // check if we have data if (data) { setUser(data) // set data to our user state setAuthentication(true) // set our authentication state to true setCookie('token', data?.token) // set token to the cookie router.push('/') // redirect to home page } } return (
Login
Username (userInfo.email = event.target.value)} required /> Password (userInfo.password = event.target.value)} name="psw" required /> Login -
Serverless API Deployment with AWS Lambda and API Gateway
import json import requests def lambda_handler(event, context): base_url = 'https://dummyjson.com/' product_id = '1' resp = requests.get(url=base_url+'products/'+product_id) if resp.status_code != 200: raise Exception('Failed to retrieve product: '+resp.text) return { 'statusCode': resp.status_code, 'body': resp.json() } Q. what this code does? 1.Imports the necessary modules (JSON and requests). 2.Defines a base URL and a product ID that will be used to construct the API URL. 3.Sends a GET request to the API using the requests library, passing in the full API URL. 4.Checks the response status code to make sure that the request was successful (status code 200). 5.If the response status code is not 200, raise an exception with an error message that includes the response text. 6.If the response status code is 200, return a dictionary containing the response status code and the parsed JSON response body. ●Test the function.
What are some alternatives?
blog-django-graphql-hasura - An example implementation of a Django Graphene GraphQL API meshed with Hasura Remote Schemas for auth.
fake-store-api - FakeStoreAPI is a free online REST API that provides you fake e-commerce JSON data
Hasura - Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.
dummy-products-api - An api to fetch dummy e-commerce product :tshirt: :dress: :jeans: :womans_clothes: JSON data with placeholder images.
transferred-stepzen-schemas - A collection of importable GraphQL schemas for use with StepZen.
datoji - A tiny JSON storage service. Create, Read, Update, Delete and Search JSON data.
graphql-zeus - GraphQL client and GraphQL code generator with GraphQL autocomplete library generation ⚡⚡⚡ for browser,nodejs and react native ( apollo compatible )
json-server - Get a full fake REST API with zero coding in less than 30 seconds (seriously)
gqless - a GraphQL client without queries
autoserver - Create a full-featured REST/GraphQL API from a configuration file
great-bear-hasura - A food delivery API example using Hasura
Polr - :aerial_tramway: A modern, powerful, and robust URL shortener