Anahita® Framework
"We wanted business social apps, but none of the existing software could manage the complexities in a simple and logical fashion. So we created the Anahita® framework for developing social apps that could not be developed using the other frameworks."~ The Anahita® Co-founders
Anahita is RAD, SAASY, and SOCIAL!
- RAD: A rapid application development framework for building solutions that handle complex scenarios in a simple and logical fashion and you will write a lot less code too!
- SAASY: An ideal solution for developing software as a service businesses.
- SOCIAL: Specialized API for developing custom social networking apps.
The Nodes+Graphs+Stories Architecture
In Anahita everything and everybody are represented as nodes (people, groups, events, photos, topics, etc.) and relationships as edges (graphs). Stories are the smallest unit of information that propagate around on the network of interconnect nodes and edges (the social network).

Nodes can be basic or become more sophisticated once behaviours are added to them. The Anahita framework provides a comprehensive list of behaviours which can be added to the nodes. For example (Followable, Administerable, commentable, voteable, privateable, etc.)
Some of these nodes have identities and stories to tell. They are called Actors or Actor nodes. People, groups (collection of people), events, organizations, and AI bots are different examples of actors. An actor has at least a name, description, avatar, and a unique story feed. An actor is visualized using an actor profile. An actor profile can be extended by different types of social applications such as topics, photos, blogs, pages, etc. When one of these apps is installed on Anahita (for example the Photos app), it can be made available to different types of actors (people and groups for example) and by doing that instances of the social app becomes available within those actor profiles. (all people and group profiles have an instance of Photos app within their profiles.)
Another type of node that is commonly used within Anahita is the Medium node. Photos, topics, blogs, and pages are different examples of medium nodes. Some behaviours are associated with the medium nodes. For example: they are commentable, likable, and privatable (have privacy settings). Medium nodes are owned by actors. A medium node may have at least one or multiple owners.
Stories are the smallest unit of information that actors use to exchange messages, news, and information with each other. When people follow each other or other actors (groups, events, etc.) they are basically subscribing to their story feeds, in which case the actors that are being followed are called leaders.
Edges define the relationships amongst the nodes. Whether this relationship is about the social graph (people following each other, groups, events) or defining admins for a group or subscribing to a medium node, they are all defined and maintained by the edges. These relationships are called the Graphs.
Lead, Follow, Mutual (LFM) Social Graph
Anahita® uses one of the most flexible social graphing models on the web today which we call the Lead, Follow, Mutual or LFM.
In this model, rather than enforcing people to either be mutually friends or completely disconnected, person A can subscribe to the story feed of person B by following person B. In this case person A is the Follower and person B is the Leader. Person B may or may not reciprocate the relationship and follow person A back. If person B does follow back, then both people are mutually connected and subscribed to each other's stories.
Simple and Effective Privacy Management
Anahita® privacy settings are based on its social graphing model. If an actor can only be followed, then the following privacy options are available on every medium owned by that actor:
- Public: unregistered people can view the node.
- Registered Members: all registered people can view the node.
- Followers: The group followers and admins can view the node.
- Administrators only the group admins can view the node.
If an actor both leadable and followable (a person) then the following privacy options are available on every medium owned by that actor:
- Public: unregistered people can view the node.
- Registered Members: all registered people can view the node.
- Followers: followers, leaders, mutual, and owner/admin can view the node.
- Leaders: leaders, mutuals, and owner/admin can view the node.
- Mutuals: mutually connected and owner/admins can view the node.
- Myself Only: only the owner/admin can see the node.
Integration with Amazon S3 Web Services
The storage API in Anahita allows you to easily integrate with Amazon S3 services. This will benefit you in many ways, for example:
- You will get a lot of inexpensive storage room for uploaded files (avatars, photos, documents, packages).
- You can migrate your social network to a different server without having to worry about migrating all of the files. Anywhere that you go, you can always point your social network to the same storage.
100% Open Source
Anahita® Framework is developed by Anahitapolis.com and distributed under the GPL3 license.