Skip to content

daptin/daptin

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
bin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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