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