Daptin Save

Daptin - Backend As A Service - GraphQL/JSON-API Headless CMS

Project README

Daptin - Headless CMS for the 100x Developers

Take the API overhead out of your brain with Daptin. Complete granular access to your data over the network. A single binary to power up your application.

                ┌──────────────────┐         ┌──────────────────┐        ┌────────────────┐
                │                  │         │                  │        │                │
                │ OpenAPI 2/3      │         │  Database        │        │  Cloudstore    │
                │                  │         │                  │        │                │
                └────────▲─────────┘         └───────▲──────────┘        └───────▲────────┘
                         │                           │                           │
                         │                           │                           │
                         │                           │                           │
                         │                           │                           │
                         │                           │                           │
                         │                           │                           │
                         │                           │                           │
                         └─────────────────────────┬─┴───────────────────────────┘
                                                   │
                                                   │
                                                   │
                                                   │
                                                   │
                                                   │
                                                   │
                                        ┌──────────┴───────────┐
  ┌─────────────────┐                   │                      │                     ┌────────────────┐
  │                 │                   │                      │                     │                │
  │  Actions        ◄───────────────────┤    Daptin            ├─────────────────────► SMTP/IMAP      │
  │                 │                   │                      │                     │                │
  └─────────────────┘                   │                      │                     └────────────────┘
                                        └──────────┬───────────┘
                                                   │
                                                   │
                                                   │
                                                   │
                                                   │
                                                   │
                                                   │
                                                   │
                                                   │
                                                   │
          ┌─────────────────────────┬──────────────┼──────────────────┬──────────────────────────────┐
          │                         │              │                  │                              │
          │                         │              │                  │                              │
          │                         │              │                  │                              │
          │                         │              │                  │                              │
┌─────────▼────────┐        ┌───────▼───────┐      │         ┌────────▼───────┐             ┌────────▼─────────┐
│                  │        │               │      │         │                │             │                  │
│  YJS Live Collab │        │  JSONAPI.org  │      │         │ GraphQL        │             │  WebSocket       │
│                  │        │               │      │         │                │             │                  │
└──────────────────┘        └───────────────┘      │         └────────────────┘             └──────────────────┘
                                                   │
                                                   │
                                                   │
                                         ┌─────────▼────────┐
                                         │                  │
                                         │     Static site  │
                                         │                  │
                                         └──────────────────┘

Quick start with a generic web dashboard

Travis Build Status Build Status

Software License Go Report Card Go Doc

Codecov branch Release

DownloadDocumentationCommunity

The most powerful ready to use data and services API server.

  • Define data tables and relations from config files or API calls
    • Middleware for handling data normalizations and conformations
    • Create indexes, constraints on columns
    • Column can be have images/video/audio/blobs attachments, stored appropriately in #cloudstore
  • Authentication and Authorization on APIs, define auth using APIs
    • Add users and user groups
    • RWX based permission system for rows and tables
    • JWT token with configurable expiry time
    • User sign in/sign up/password reset flows
  • JSON API and GraphQL API
    • JSONAPI.org complaint endpoints
    • GraphQL endpoint with Data/Query and Mutations available
    • Pagination and filtering using page number or cursor based
    • Fetch relationships in a single call
  • Cloud storage, create storage using API
    • Connect to over 30 storage providers (localhost/HTTP/FTP/GDrive/Dropbox/S3 and many more)
    • Manage files using daptin actions
    • Automated 1 hour sync scheduled
  • Static and HUGO sites
    • Host site on multiple domains
    • Inbuilt HTTPS certificate generation with lets-encrypt
    • Web file browser and FTP access (disabled by default)
  • Action workflows & 3rd party API integration, create new integration using API calls
    • Supports v2/v3 openapi in yaml or json format
    • Call any 3rd party API by importing OpenAPI Spec
  • Email server
    • Enable SMTPS and IMAPS services and use daptin as your daily email provider
    • Multi hostname mail server
    • Multiple email accounts, database backed email storage

Overview

Javascript/Typescript Client

https://github.com/daptin/daptin-js-client

Starter kit: https://github.com/daptin/vue_typescript_starter_kit

Define Schema

Find

Get By Id

Create

Delete

Delete relations

List relations

  • Versioning of the data
  • Authentication and authorization
  • JSON API endpoint
  • GraphQL endpoint
  • Actions and integrations with external services

Get Started

APIs

Users

Asset and file storage

Sub-sites

Client library

Ruby Python Javascript
Typescript PHP Dart
.NET Java iOS
Elixir R Perl

API spec RAML

OpenAPI V3 spec is auto generated for each endpoint exposed. This can be use to generate further documentation and clients.

YAML API documentation

curl http://localhost/apispec.yaml

Road Map

  • Normalised Db Design from JSON schema upload
  • Json Api, with CRUD and Relationships
  • OAuth Authentication, inbuilt jwt token generator (setups up secret itself)
  • Authorization based on a slightly modified linux FS permission model
  • Objects and action chains
  • State tracking using state machine
  • Data connectors -> Incoming/Outgoing data
  • Plugin system -> Grow the system according to your needs
  • Native support for different data types (geo location/time/colors/measurements)
  • Configurable intelligent Validation for data in the APIs
  • Pages/Sub-sites -> Create a sub-site for a target audience
  • Define events all around the system
  • Data conversion/exchange/transformations
  • Live editor for subsites - grapesjs
  • Store connectors for storing big files/subsites - rclone
  • Market place to allow plugins/extensions to be installed
  • Online entity designer
  • Excel to entity identification
  • CSV to entity identification

Alt

Open Source Agenda is not affiliated with "Daptin" Project. README Source: daptin/daptin

Open Source Agenda Badge

Open Source Agenda Rating