Backend API for your frontend codebase

Incredibly simple. Extraordinary results.

users.js
reset-password.js
contact-us.js
if(hasAccess('users:d'){
<button>Delete User</button>
}

Introduction

About

Backstack is a BaaS platform for developers, performing multi-layer access control and functionality so you can focus on coding.


Features

The platform provides a range of features and processes required in frontend development.

Common Features

  • Log in
  • Forgot password
  • Sign up
  • Account management
  • Multi-user environments
  • Application UI tips
  • Application alerts and user notification management

Access Control

  • Session-specific RBAC
  • Multi-domain application environments
  • Configured application feature access

Monetization

  • SaaS application versioning
  • In-app feature integration
  • Account B2B networking with optional revenue sharing
  • Account invoicing and payments

Intelligent access control

Manage all aspects of the application schema with a single function in your preferred language to handle real-time session authorization values.

if (hasAccess('payment-methods:d')) {
  return <button>Delete Payment Method</button>
}

Simplified API endpoints

The entire API is accessed through three distinct categories of logic. Simplifying the thought process while working within your codebase.

/app

Endpoints relating to the current app schema.

GET /app/session
{
  "jwt": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
  "app": {
    "id": "app_1234567890",
    ...
  },
  "account": {
    "id": "acc_1234567890",
    ...
  },
  "user": {
    ...
  },
  "access": {
    "account-users": "crud",
    "payment-methods": "r",
    ...
  },
  ...
}

/account

Endpoints specific to the current session account.

GET /account/users
[
  {
    "id": "usr_1234567890",
    name: "John Doe",
    ...
  },
  ...
]

/user

Endpoints for interaction with the current session user.

GET /user/notification-settings
[
  {
    "id": "ntf_1234567890",
    "title": "Someone logged in to your account."
    "email": true,
    "sms": true,
    "app": false
  },
  ...
]