egf2 by eigengraph

Scalable graph oriented back-end API frameworkV0.1.0

EGF2 is a scalable graph oriented back-end API framework for big data and complex distributed systems. With EGF2 you can build production ready scalable back-ends in days, not months (or years). EGF2 consists of a bunch of stateless micro services, each of which can be scaled independently. EGF2 is built on top of state of the art open source scalable tech. For storage you can use either Cassandra or RethinkDB. Streaming is powered by either Apache Kafka or AWS Kinesis. Caching is done with Redis. ElasticSearch is used for searching.

Graph based API

EGF2 provides a way to combine amazing tech available on the market into a cohesive, well thought out back-end system using graph oriented approach. System operates on objects and edges from the moment a request comes via our graph oriented API to the moment data is persisted using data storage solution of choice.

EGF2 streamlines construction of complex distributed scalable systems by providing support in the following areas

01

Configurable

Domain graph modeling, access control and object field validations are done via configuration. Huge percent of your needs will be covered easily out of the box. Extension points are available for more complex situations.

02

Graph Oriented API

Graph oriented API is available immediately, no need to even configure it!

03

Event Bus

Business logic can be handled asynchronously by utilizing system event bus. Extension points are provided.

04

Notifications

Notifications mechanism is provided, email transport (with SendGrid) is included.

05

Sheduling

Internal scheduling mechanism for services is provided.

06

Jobs

Long running task support is built in.

07

Users, File Operations

User authentication and file upload / image resize systems are included

08

iOS, Android

iOS and Android client libraries with data caching and model generation

We offer a documentation template for a system built with EGF2. The template saves you plenty of time and makes sure you document all important aspects of the system.

For more information please see our blog, guide and documentation.