Giter Club home page Giter Club logo

daptin-js-client's Introduction

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

daptin-js-client's People

Contributors

artpar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

djun

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.