saaskit
    TypeScript icon, indicating that this package has built-in type declarations

    0.1.6 • Public • Published

    SaaS Kit

    Installation

    # npm
    npm install saaskit
    
    # Yarn
    yarn add saaskit

    Background

    This module is based on the idea that a SaaS app being decomposed to its elemental abstractions of:

    • Nouns
    • Triggers
    • Searches
    • Actions
    • Functions
    • APIs

    Nouns

    Nouns represent the things, or resources, that the application interacts with. Typically, these Nouns can be be interacted with in a List + CRUD format, where the List of current instances can be queried, along with the ability to Create, Read, Update, and Delete these Nouns.

    These resources could be scoped to the owner tenant, where resources created by a user (or a user's tenant) can only be accessed by the creator. Alternatively, these resources could be scoped to have delegated authorization, where they can also be accessed by authorized users/tenants. And finally, there is the option to have globally accessible resources, where the Noun can be created by a user/tenant who would own it, but where that Noun could be accessible and visible to any User/Tenant in the system.

    Triggers

    Triggers are the events that occur within the application and the Nouns represented.

    Searches

    Searches are the ability to query or search instances of Nouns.

    Actions

    Actions are the ability to perform a function, or lambda, either on an instance of a Noun/Resource or in a general stateless behavior.

    Functions

    Functions are the capability to encapsulate a behavior in a stateless function, or lambda, that can perform a defined function or capability.

    APIs

    APIs are the interfaces with the Nouns, Triggers, Searches, Actions, and Functions. They can be exposed via REST, GraphQL, or WebSockets.

    Keywords

    none

    Install

    npm i saaskit

    DownloadsWeekly Downloads

    1,182

    Version

    0.1.6

    License

    MIT

    Unpacked Size

    91.9 kB

    Total Files

    25

    Last publish

    Collaborators

    • nathanclevenger