Telepat.io Docs

Server Components

Implemented

  • Front-facing endpoint. Implemented using Express, exposes the following functionality:
    • Administration tasks:
      • Creating a new administrator account
      • Logging in as administrator
      • CRUD for Telepat apps
      • CRUD for collections
      • CRUD for schemas and ACL
    • Registering new and existing devices (browsers or mobile devices)
    • Retrieving app collections
    • User management tasks:
      • Authenticating users using Facebook
      • Authenticating users using Twitter
      • Authenticating users using username/password
      • Verifiying account email address by sending email
      • Resetting the password with email validation
      • Logging users out
      • Updating a user profile
      • Deleting a user profile
    • Object management tasks:
      • Subscribing and unsubscribing to basic object channels
      • Restricting access to object read/write based on user status (anonymous, authenticated, admin)
      • CRUD for objects
      • Subscribing to channels using advanced filters (less than, greater than, equal to and text search operators)
      • Support for limits/offsets in object subscriptions
      • Allowing objects to have multiple owners and to be access-restricted to their owners
  • The messaging queue layer, currently offering adapters for Apache Kafka and RabbitMQ.
  • The aggregation queue layer, implemented using . Currently supports "replace" operations on object properties.
  • The persistence layer, currently offering an adapter for Elasticsearch.
  • The synchronization layer, using the following available transports:

Coming soon

  • More unit testing!
  • Scalability benchmark and guide to scaling Telepat
  • Real-time access to a list of a user's currently logged in friends
  • Exposing hooks to allow data-manipulation at the aggregation level
  • Support for developer-defined services
  • Couchbase persistence layer implementation
  • Support for "increment" operation, as well as operations for array editing
  • Support for 3rd party adapters for the messaging queue layer, persistence layer and synchronization transports

Planned

  • Real-time access to channel metadata, like instant subscriber or object count
  • Real-time access to a count of all related objects (know how many objects belong to the current one, as defined in the schema)
  • The ability to define "actions" (like, view, bump etc.) that can be executed by users on objects
  • Real-time access to action-related metadata on objects and channels
  • Support for login with Google and GitHub

Considered

JavaScript Client

Implemented

  • Registering new and existing devices
  • Retrieving app collections
  • User management tasks:
    • Logging users in using a Facebook token
    • Logging users out
  • Object management tasks:
    • Subscribing and unsubscribing to basic object channels
    • Subscribing to channels using advanced filters (less than, greater than, equal to and text search operators)
    • CRUD for objects
  • Update notifications emitted by channel object

Coming soon

  • Unit testing!
  • Offline data access and synchronization
  • Update notifications emitted by objects themselves
  • Real-time access to a list of a user's currently logged in friends
  • Support for "increment" operation, as well as operations for array editing
  • Support for limits/offsets in object subscriptions

Planned

  • Real-time access to channel metadata, like instant subscriber or object count
  • Real-time access to a count of all related objects (know how many objects belong to the current one, as defined in the schema)
  • The ability to define "actions" (like, view, bump etc.) that can be executed by users on objects
  • Real-time access to action-related metadata on objects and channels