Skip to main content


23 Sep

InteractSimple - Schema Design

InteractSimple aims to simplify interaction within enterprise by indexing all chat into a tagged, searchable chat history database. In our previous post InteractSimple – Initial Thoughts, we have put across our initial ideas while in another post SiteInteract & InteractSimple – Technical Architecture, we described the technical architecture, and in this post we will present the schema design which briefly shows what data points are being captured and how data is being organized.

interactsimple schema overview



As can be seen from the mindmap above, InteractSimple schema contains entity (with whom or about what the interaction is being done), session (represents the rolling window session with standard expiry of 30 min), account (represents an organization which encircles set of users, groups & rooms) and interaction (the actual interaction between people either directly, in group or room). Session represents the actual user session from any of web or mobile clients, so the fields captured are that. Fields captured for account are pretty straight forward like identification (id, vcard, auth), people (users, groups, rooms) and personalization (features, preferences, settings).

Entity and interaction sections require further expansion and explanation to see what fields are being captured and their purpose. Below mindmap provides details on entities like user, group, room while topic, place and app are left to be explored in future.

interactsimple schema entity


Fields captured for entities are kept minimal right now with identification (id, auth, vcard, avatar for people and url for content), properties (geoloc, privacy_list, roster, caps/capabilities for user, members for group & room), personalization (features, preferences, settings) & authorization (accounts).

Last section presents details on the fields captured for interaction either direct, group or room. As interaction is the actual message sent the fields for different types messaging is pretty similar.

interactsimple schema interaction


The fields captured can be described as addressing (from, to, group, room), timing (timestamp), type (type of message), content (content, format, lang), entities (mentions of entities), threads (conversational threads), authorization (accounts). Accounts field captured at various places helps in defining and implementing the authorization for accessing data in any part of application. This is first cut for developing the beta version, changes are bound to happen as more functionality gets implemented and clarity comes in from feedback.

Akhil Agrawal

Member for

11 months 1 week

Founded Digikrit with vision of doing high quality software development & data science. Ten years experience in software product development, big data analytics & technology consulting, completed B.Tech. in Computer Science & Engineering from IIT Guwahati in 2006.

. get in touch .

Ready to work with us in areas of our expertise or have more questions related to our work or want to collaborate with us on opensource projects ?

  • #

    address HAL 3rd Stage Kodihalli, BLR 560008

  • #

    Phone 1.720.685.6150 

  • Email contact [at]

. send us a message .

We are always interested in knowing & understanding your project requirements and would love to work with you & your company on timely delivery of your project.

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.