@revisium/endpoint
v2.5.1
Published
Revisium is a tool (UI/API) inspired by JSON (JSON Schema) and Git, designed to provide a flexible and low-level headless CMS solution.
Readme
@revisium/endpoint
Dynamic API generator for Revisium — unopinionated data platform with referential integrity.
Your schema. Your data. Full control.
Referential integrity with foreign keys at any depth. Git-like versioning: branches, revisions, drafts. Schema evolution: migrations with data transformations.
Part of the Revisium ecosystem. Available on npm | Docker Hub.
Overview
Endpoint generates GraphQL and REST APIs automatically from your Revisium schemas. Each revision gets its own API endpoint with schema derived from table definitions.
Requires @revisium/core as the backend data source.
Architecture
┌─────────────────────────────────────────────────────────┐
│ Generated APIs │
├───────────────────────────┬─────────────────────────────┤
│ GraphQL │ REST API │
│ - Type-safe queries │ - OpenAPI/Swagger spec │
│ - Nested relations │ - CRUD endpoints │
│ - Apollo Federation │ - Filtering & pagination │
├───────────────────────────┴─────────────────────────────┤
│ Schema Generator │
│ Transforms JSON Schema → API Schema │
├─────────────────────────────────────────────────────────┤
│ @revisium/core API Client │
│ Fetches schemas and data via GraphQL/REST │
├─────────────────────────────────────────────────────────┤
│ Infrastructure │
├─────────────────┬───────────────────────────────────────┤
│ PostgreSQL │ Redis or pg-sync │
│ (Shared DB) │ (Multi-pod notifications) │
└─────────────────┴───────────────────────────────────────┘Generated APIs
| API | Features | |-----|----------| | GraphQL | Type-safe queries, nested relations, filtering, pagination, Apollo Federation | | REST | OpenAPI 3.0 spec, Swagger UI, CRUD operations, query parameters |
Modes
| Mode | Description |
|------|-------------|
| Monolith | Runs embedded within @revisium/core |
| Microservice | Standalone service communicating via Redis |
Auto-sync
Schema changes in Revisium are automatically reflected in generated APIs — no manual regeneration required.
Configuration
See ENV.md for all environment variables.
Related Packages
| Package | Description | |---------|-------------| | @revisium/core | Backend API — required data source | | @revisium/schema-toolkit | JSON Schema utilities for schema transformation |
License
Apache 2.0 — See Revisium for full license.
