12 repositorios
The practical implementation of server-side GraphQL interfaces to provide data to clients.
Distinct from GraphQL API Design: Distinct from GraphQL API Design by focusing on the technical implementation and exposure rather than the architectural design.
Explore 12 awesome GitHub repositories matching web development · GraphQL API Implementations. Refine with filters or upvote what's useful.
express-graphql es una implementación de servidor de API GraphQL y middleware HTTP que conecta un esquema GraphQL a un servidor HTTP. Proporciona un analizador de solicitudes para extraer consultas y variables de varios tipos de contenido, y un proveedor de contexto para inyectar datos de solicitudes HTTP y estado de sesión en funciones resolver. La librería incluye un IDE interactivo basado en navegador que detecta solicitudes GET para servir una interfaz HTML para probar consultas e inspeccionar respuestas. También soporta un pipeline de ejecución personalizado, permitiendo sobrescribir las funciones predeterminadas de análisis, validación, ejecución y formateo de errores. El proyecto cubre la integración de API mediante middleware y análisis de parámetros de solicitud, junto con una arquitectura para validación de consultas basada en AST y ejecución basada en esquemas. Además, proporciona mecanismos para la extensión de metadatos de respuesta y la aplicación de reglas de validación para restringir campos u operaciones específicas.
Implements server-side GraphQL interfaces to allow clients to request specific data based on a schema.
GraphQL.NET es un framework del lado del servidor para construir y ejecutar APIs de GraphQL dentro de aplicaciones C#. Proporciona un toolkit integral para la construcción de esquemas, un motor federado para grafos de datos distribuidos y un manejador de suscripciones para gestionar flujos de datos en tiempo real. El proyecto se distingue por un constructor de esquemas flexible que admite tanto definiciones programáticas code-first como enfoques declarativos schema-first utilizando el lenguaje de definición de esquemas estándar. Incluye un motor de federación dedicado para dividir grafos de datos en subgrafos y componerlos en una puerta de enlace unificada, así como una implementación de cargador de datos (data loader) diseñada específicamente para resolver el problema de consultas N+1 mediante procesamiento por lotes y caché. El framework cubre una amplia gama de capacidades operativas, incluyendo la integración de inyección de dependencias para la gestión del ciclo de vida de los servicios, pipelines de middleware para la interceptación de resolución de campos y un pipeline de ejecución optimizado con tipos de valor para reducir las asignaciones de memoria. También proporciona herramientas para el análisis de complejidad de consultas, caché de documentos y control de acceso basado en roles para asegurar los endpoints de la API. La compatibilidad con la compilación de esquemas ahead-of-time permite que el framework se ejecute en entornos que prohíben la generación dinámica de código.
Provides a comprehensive toolkit for implementing server-side GraphQL interfaces using both code-first and schema-first approaches.
Juniper es una biblioteca de servidor GraphQL y motor de esquemas para Rust. Proporciona un toolkit para construir APIs con seguridad de tipos mapeando estructuras de datos nativas de Rust a objetos, entradas y escalares de GraphQL. El proyecto funciona como un motor de ejecución que puede procesar consultas y mutaciones ya sea a través de un servidor de red o como un motor headless para ejecución local. La biblioteca es agnóstica al tiempo de ejecución, lo que le permite conectar el procesamiento de GraphQL con varios frameworks web asíncronos de Rust. Incluye un framework de suscripciones que gestiona conexiones WebSocket persistentes para enviar actualizaciones de datos en tiempo real a los clientes. El motor cubre una amplia superficie de capacidades, incluyendo exportación de lenguaje de esquemas, gestión de contexto de estado compartido para inyección de dependencias y un enfoque code-first para definir resolutores. También admite la integración de tipos de datos especializados como decimales y marcas de tiempo para evitar conversiones manuales de datos.
Provides a full toolkit for implementing type-safe GraphQL APIs by mapping native Rust structures to a schema.
Este proyecto es una librería de referencia y colección de patrones de código de ejemplo para desplegar infraestructura en la nube utilizando el AWS CDK. Proporciona un conjunto de proyectos de muestra que demuestran cómo definir recursos de cómputo, almacenamiento y redes utilizando lenguajes de programación de propósito general. La librería incluye implementaciones de referencia para varios patrones arquitectónicos, incluyendo backends serverless con API GraphQL y WebSocket, orquestación de contenedores con balanceadores de carga y auto-scaling, y alojamiento de sitios web estáticos globales a través de redes de entrega de contenido (CDN). También proporciona diseños para topologías de red aisladas y automatización de flujos de trabajo basados en eventos utilizando máquinas de estado. Las capacidades cubiertas se extienden a la gestión de bases de datos relacionales, la configuración de servidores de transferencia de archivos seguros y la implementación de autorización de grano fino. Además, los ejemplos demuestran técnicas de personalización de infraestructura, como la anulación de propiedades de recursos y la integración de recursos personalizados.
Shows how to implement server-side GraphQL interfaces with resolvers for database operations.
GraphQL-Ruby es una biblioteca de Ruby para construir APIs de GraphQL con un esquema fuertemente tipado y un motor de ejecución de consultas dedicado. Proporciona un framework integral para mapear objetos de la aplicación a un sistema de tipos formal, permitiendo la obtención estructurada de datos mediante resolvers definidos. El proyecto destaca por sus mecanismos avanzados de rendimiento y entrega, incluyendo un data loader para batching y caché que evita patrones de consulta N+1. Admite la entrega de datos de alto rendimiento mediante streaming de respuestas incremental, respuestas de consulta diferidas y obtención de datos en paralelo usando fibers. Además, proporciona soporte nativo para convenciones de Relay, incluyendo helpers especializados para conexiones e identificación de objetos. La biblioteca cubre una amplia superficie de gestión de API, con control de acceso granular, versionado de esquemas para mantener la compatibilidad hacia atrás y actualizaciones en tiempo real mediante suscripciones. También incluye herramientas de gestión de tráfico para proteger los recursos del servidor, como la limitación de complejidad de consultas y de tasa de peticiones. El desarrollo y la observabilidad están respaldados por herramientas de análisis de AST, trazado de ejecución y utilidades de prueba especializadas para la verificación de carga por lotes.
Provides a comprehensive implementation of server-side GraphQL interfaces to serve structured data to clients.
graphql-go es una biblioteca de servidor para implementar servidores GraphQL en Go. Proporciona la infraestructura central para el análisis de esquemas, mapeo de resolutores y ejecución de consultas. La biblioteca incluye un motor de suscripción que permite la transmisión de datos en tiempo real a los clientes utilizando transporte WebSocket. También cuenta con un trazador de ejecución para monitorear y perfilar el rendimiento de las consultas a través de herramientas de telemetría. El sistema gestiona el consumo de recursos y la estabilidad a través de un optimizador de consultas que aplica restricciones de profundidad y controla la concurrencia de los resolutores. Admite la optimización de la obtención de datos mediante prefetching a nivel de campo para reducir las solicitudes repetitivas a la base de datos y utiliza un mecanismo de transformación de pánico a error para mantener la estabilidad del servidor.
Provides a flexible data layer implemented in Go to handle complex GraphQL queries and structured retrieval.
graphql-go es una biblioteca GraphQL y servidor de implementación para Go que prioriza el esquema. Proporciona un motor de ejecución de consultas y un analizador de esquemas que convierte cadenas de definición de esquemas en estructuras ejecutables y valida las firmas de los resolutores. La biblioteca también incluye una implementación de streaming para suscripciones GraphQL en tiempo real utilizando canales dentro de los resolutores. El proyecto se distingue por la ejecución paralela de resolutores para reducir la latencia de las solicitudes y el uso de gestión de memoria de buffer-pool para reducir la sobrecarga de recolección de basura. Permite la creación de instancias de esquema clonables a partir de un árbol de sintaxis compartido para aplicar configuraciones o sobrescrituras de resolutores únicas. La biblioteca cubre amplias áreas de capacidad, incluyendo la gestión de esquemas con definiciones de escalares personalizados y exportación de metadatos, y seguridad mediante limitaciones de profundidad y complejidad de consultas. También proporciona herramientas para la obtención eficiente de datos mediante la inspección de conjuntos de selección para evitar consultas N+1, así como observabilidad mediante trazado de ejecución y manejo de pánico en resolutores.
Provides a full implementation of a server-side GraphQL interface to process queries and return structured data.
backend-cheats is a comprehensive backend engineering reference guide and a collection of technical cheatsheets. It serves as a knowledge base for server-side development, networking, and computer science fundamentals, delivered as a markdown-based static site. The project provides detailed handbooks for API design, specifically covering REST and GraphQL interfaces, and software architecture patterns such as Monolithic, Microservices, and MVC. It includes a database architecture overview comparing relational and NoSQL paradigms, as well as a web security reference for identifying vulnerabilit
Includes technical guides on implementing GraphQL APIs using schemas and types for efficient data retrieval.
Este proyecto es un boilerplate preconfigurado y un proyecto semilla para construir aplicaciones web serverless utilizando React y Firebase. Sirve como una plantilla integral para configurar el entorno, el enrutamiento y la infraestructura necesarios para lanzar aplicaciones de una sola página (SPA). El framework integra una capa de datos utilizando GraphQL y Relay para coordinar peticiones y mantener una gestión de estado escalable. Incluye un kit de interfaz de usuario estandarizado basado en los principios de Material Design e implementa la división de código asíncrona para reducir los payloads de los bundles iniciales. El sistema cubre la gestión de identidad a través de integraciones con Google y OAuth, junto con scripts de línea de comandos automatizados para desplegar activos estáticos y funciones en hosting en la nube. También proporciona una interfaz visual para ejecutar y validar consultas GraphQL con verificación de sintaxis en tiempo real.
Implements a server-side GraphQL interface to provide structured data to the frontend.
Graphene-Django es un framework de integración GraphQL y mapeador de esquemas utilizado para construir APIs tipadas para aplicaciones Django. Funciona como una capa de API de base de datos que transforma campos y relaciones de modelos de Django en un esquema de grafo, permitiendo a los clientes solicitar datos específicos en una sola llamada. El proyecto implementa la especificación Relay, proporcionando herramientas para la identificación global de objetos y paginación estandarizada basada en conexiones para gestionar grandes datasets. Se distingue por mapear modelos de base de datos, formularios y serializadores directamente en tipos de objetos y mutaciones de GraphQL. El framework cubre una amplia gama de capacidades, incluyendo control de acceso a nivel de campo, interceptación de solicitudes basada en middleware y el manejo de operaciones en tiempo real a través de enrutamiento WebSocket. También incluye utilidades para la inspección del rendimiento de SQL y envoltura de transacciones de mutación para garantizar la integridad de los datos durante las actualizaciones. Se proporciona un cliente de prueba especializado para verificar las respuestas de la API y ejecutar consultas contra el endpoint.
Implements a full server-side GraphQL interface to expose Django data models and logic via a typed schema.
Este proyecto es un boilerplate de monorepo full stack y plantilla de API GraphQL en Node.js. Proporciona un proyecto semilla que integra una API GraphQL schema-first, una base de datos PostgreSQL y un frontend de React dentro de un único repositorio para compartir tipos entre el backend y la interfaz de usuario. La arquitectura incluye un wrapper serverless para despliegue en la nube y escalado automático. Implementa una capa de procesamiento por lotes de peticiones para optimizar el rendimiento de la base de datos evitando el problema de consultas N+1. El proyecto cubre la gestión de bases de datos mediante versionado de esquemas basado en migraciones y archivos semilla. También incluye capacidades para la integración de identidad de usuario, abarcando autenticación, autorización y control de acceso basado en permisos.
Implements a type-safe, schema-first GraphQL API layer to handle data requests between the client and server.
light-4j is a Java microservices framework designed for building scalable distributed systems. It provides a toolkit for developing cloud-native services with integrated support for service discovery, telemetry, and secure inter-service communication. The project includes a runtime OpenAPI request validator to ensure communication consistency by checking data against formal specifications. It also features an OAuth2 API security gateway for verifying identity tokens and managing credentials, alongside an event-sourcing messaging system for building command query responsibility segregation arc
Implements data-driven GraphQL APIs using generated schemas and a plugin architecture to fetch microservice information.