Match is the first module developed within the Knowledge Exchange Platform, meant to enhance team collaboration by providing:
The module is developed following the API/client architecture, which will also power the rest of the KEP app.
The backend is built using Rails-API and it exposes a RESTful API with token authentication, while the frontend is an ember-cli app.
Platform members can upload and edit two types of submissions:
Assignments are posts defining a specific task to be executed by its taker(s). An assignment has well defined requirements, such as location, necessary skills, languages etc., as well as rewards given by the poster to the person(s) that will complete the given task.
After submitting an assignment, there are a series of things happening on the platform:
After modifying (updating) an assignment with new information, if any of the attributes that power the match making are touched (i.e. skills, languages and locations), the backend will recalculate matching scores to notify the newly matched users.
Resources are posts describing a shareable entity, such as information, skills, physical materials (furniture, tools, consumables, etc.). Resources owners can (and they should) specify one or more intentions they have with that specific resource (e.g. Brainstorm or Article writing), so visitors would know if they are qualified (and motivated) to take that opportunity.
Resources can be consumed in three ways:
The Knowledge Exchange Platform (KEP) has a built-in notification system that will alert users of various events by email or using the web UI.
The current state of notifications is:
Profile pages are platform sections that accommodate all the information on members. There are user completed sections, such as biography, skills, but there are also a few resources that are not in the scope of this page:
In order to enhance user interactions and avoid confusion around its specific features, Match provides visual assistance in accomplishing manual tasks, such as posting, and matching of existing entities. A set of visual cues are provided (work in progress) for the following tasks:
After posting a resource/assignment, a timeline will be visible on the top defining all the possible states the post can have. The current one is highlighted and the possible ones are clickable. This way, users can interact with the timeline to change current post's state (if and only if they own the post) without the need for extra buttons and interface clutter, also providing a visual logical sequence for observing post's life cycle within the platform.
Manual matching is a feature that allows members to suggest a possible match between two entities. For example, a visiting user can observe similarities between an assignment and a resource and (s)he can create a match; this means both owners of the two entities will be cross-notified by the other post matched against theirs, making the user that made the match a match maker. Match making is recorded within the module as a total score, based on the number of matches made and number of succeeded matches (i.e. owners that really connected as a result of the match), for further possible gamification purposes. A good example of this would be StackOverflow with its badges and reputation system.
This is the most obvious matching feature, where a member can create a match between one item from the left column (Resources) with an item from the right (Assignments).
Matching is triggered by pressing the “Match” action button in the “Actions” dropdown, then the platform will provide the following guidance:
This is the other kind of match, where a member of the platform is able to suggest a Resource/Assignment to another user (while also suggesting the other user to the item's owner).
Concrete workflow is designed, but not fully implemented yet (this section will be updated when it happens).