Overview
Discover what makes Graphweaver powerful
Graphweaver is a **code‑first, fully customisable** GraphQL engine that abstracts multiple heterogeneous data sources—SQL databases, REST APIs, SaaS platforms like CRM and accounting systems—into a single queryable endpoint. Unlike schema‑driven alternatives, it generates the GraphQL schema automatically from your source definitions and then exposes a rich set of hooks that let developers inject business logic, authentication, or performance optimisations at any stage of the request pipeline. The core idea is to keep the GraphQL server as a thin orchestration layer, allowing you to maintain full control over data flow while still benefiting from the flexibility of GraphQL.
Auto‑generated CRUD
Custom resolvers
Permissions & Auth
Cross‑source queries
Overview
Graphweaver is a code‑first, fully customisable GraphQL engine that abstracts multiple heterogeneous data sources—SQL databases, REST APIs, SaaS platforms like CRM and accounting systems—into a single queryable endpoint. Unlike schema‑driven alternatives, it generates the GraphQL schema automatically from your source definitions and then exposes a rich set of hooks that let developers inject business logic, authentication, or performance optimisations at any stage of the request pipeline. The core idea is to keep the GraphQL server as a thin orchestration layer, allowing you to maintain full control over data flow while still benefiting from the flexibility of GraphQL.
Architecture & Technical Stack
Graphweaver is built on Node.js (TypeScript), leveraging the graphql library for schema construction and Apollo Server for execution. Data source adapters are implemented as pluggable modules, each exposing a standard interface that maps CRUD operations to underlying APIs or databases. The runtime uses TypeORM for relational database integration and axios for HTTP adapters, enabling seamless federation across RESTful services. Persisted schema fragments are stored in a lightweight JSON or SQLite store, allowing hot reloads without restarting the server. The admin UI is a React SPA served from the same Node process, communicating via GraphQL mutations and subscriptions for real‑time configuration updates.
Core Capabilities
- Auto‑generated CRUD: One line of code can expose full create, read, update, delete operations for any supported source.
- Custom resolvers: Override auto‑generated logic by providing a TypeScript function that receives the request context, arguments, and source metadata.
- Permissions & Auth: Integrate with JWT, OAuth2, or custom middleware; declaratively attach policies to types and fields.
- Cross‑source queries: Compose queries that span multiple adapters (e.g., fetch customers from CRM and their invoices from an accounting API in a single request).
- Admin Panel: Drag‑and‑drop schema builder, live preview of queries, and audit logs—all configurable via the same GraphQL API.
- Webhooks & Subscriptions: Expose real‑time events from any source; developers can subscribe to changes or trigger downstream workflows.
Deployment & Infrastructure
Graphweaver is intentionally lightweight and container‑friendly. A single Docker image (built from the Dockerfile in the repo) contains all dependencies, making it trivial to deploy on Kubernetes, Docker‑Compose, or even a bare‑metal VM. The application reads configuration from environment variables and optional YAML files, allowing you to spin up multiple instances behind a load balancer. For persistence, it can use any supported database (PostgreSQL, MySQL, SQLite) or even a cloud‑managed NoSQL store; the choice is entirely declarative in the source config. Horizontal scaling is straightforward—each node can serve requests independently, and shared state (like schema cache) is stored in the configured database.
Integration & Extensibility
Graphweaver’s plugin architecture lets developers add new adapters or extend existing ones without touching core code. The public API surface includes:
- Adapter hooks (
beforeQuery,afterMutation) for data transformation. - Middleware stack that plugs into Apollo’s request lifecycle.
- Webhooks to expose internal events (
onSchemaReload,onAuthSuccess). - Custom UI components via a simple React plugin system, enabling bespoke admin dashboards or analytics panels.
Developer Experience
The project ships with comprehensive TypeDoc and markdown documentation, covering every hook, configuration option, and best‑practice pattern. A vibrant GitHub community maintains a growing list of adapters (Postgres, MySQL, Stripe, HubSpot, etc.) and quick‑start examples. The codebase follows strict linting (ESLint + Prettier) and CI checks, ensuring that contributors can reliably add features. Documentation is annotated with code snippets (in TypeScript) but deliberately omits installation commands, focusing on conceptual clarity. The MIT license guarantees no vendor lock‑in, and the open‑source nature means you can audit every line of code.
Use Cases
- Enterprise API Gateways: Expose a single GraphQL endpoint that pulls customer, order, and inventory data from disparate SaaS platforms.
- Rapid Prototyping: Spin up a CRUD API in minutes for internal tools or MVPs, then iterate on resolver logic as requirements evolve.
- Data‑driven SaaS: Build a multi‑tenant platform where each tenant’s data lives in separate databases or services, yet the public API remains uniform.
- Legacy Integration: Wrap old REST endpoints or CSV exports with GraphQL, adding authentication and schema evolution without rewriting the backend.
Advantages Over Alternatives
Graphweaver offers maximum flexibility: because it is code‑first, you can override any generated resolver or authentication flow. Its performance benefits from in‑memory caching and efficient query planning across adapters, while the scalability is built into the containerised architecture. Licensing is a major win—MIT means you can ship proprietary services without compliance headaches. Finally, the extensibility model (adapter plugins, middleware hooks) allows teams to grow their data ecosystem without refactoring the core engine.
Open SourceReady to get started?
Join the community and start self-hosting Graphweaver today
Related Apps in development-tools
Hoppscotch
Fast, lightweight API development tool
code-server
Self-hosted development-tools
AppFlowy
AI-powered workspace for notes, projects, and wikis
Appwrite
All-in-one backend platform for modern apps
PocketBase
Lightweight Go backend in a single file
Gitea
Fast, lightweight self-hosted Git platform
Weekly Views
Repository Health
Information
Tags
Explore More Apps
YOURLS
Self-hosted URL shortener with full data control
Apache Guacamole
Clientless remote desktop gateway via HTML5 browser
farmOS
Open‑source farm management platform
Termix
Web‑based SSH terminal and server management platform
cmyflix
Fast DIY Netflix clone for Raspberry Pi and NAS
InvoicePlane
Self‑hosted invoicing and client management
