Skip to content

Overview

This API uses a CSV export from an activity in Mural to recommend content on an e-mentoring platform. The API creates a more portable JSON structure to store the information relevant to the recommendation functionality.

Project Context

This API was created as a class project to demonstrate portable information structures. Only portions of code are functional.

Problem

A mentoring program has a proprietary e-mentoring platform to support mentoring relationships and uses a third-party application, Mural, for interactive activities between mentors and mentees.

Opportunity

The program wants to automatically recommend content to mentees and mentors in the eMentroing platform based on their interactions in Mural.

Use Case Example

The program uses an activity called "What's on your radar?" for mentees to share their goals related to the 8 Dimensions of Wellness. They want to recommend blog articles and activities in the e-mentoring platform based on the mentee's responses. This will support the mentoring relationship by personalizing content and reducing the information overload of manual searching.

User Flow

Mentee adds the sticky note “How do I save up for a car?” in the Mural board under the category “Financial”

Mural sticky note in the Financial Category with the text "How do I save up for a car?"

Export Mural board to CSV. The CSV includes useful properties such as text, area, and tags.

Screenshot os a CSV file showing the properties exported about the sticky note.

Use python to extract keywords from the text string data and compare them to keywords from related content in the eMentoring platform.

Output recommended content on mentee dashboard with a link to the articles.

Screenshot of example recommended content.

New Information Structure

The API data is stored in a new JSON structure. See Transformation of Information Structure for more details.

[
    {
        "session": {
            "id": "10001",
            "call_time": "05/31/2023 3:30:00 PM",
            "url": "/session/10001",
            "tool": "Natural Language Toolkit (NLTK)"
        },
        "mural": {
            "mural_id": "MURAL05202023000001",
            "mural_url": "https://app.mural.co/12345",
            "sticky_note": [],
            "export": {
                "export_id": "202300520120000",
                "export_format": "json"
            }
        },
        "recommendation": []
    }
]