App Developer - High Level Overview

By integrating an app into the Quill platform, you are exposing it to 100,000 student learners and 8,000 teachers. To integrate an app, you not only register the app, but also post all of the individual exercises. This allows teachers to pick out the content they want to use from within an “app store” for educational exercises. Teachers assign it to students, and students can seamlessly jump into your app to experience that specific lesson.

Before you integrate an app, there a few key terms you must understand:

  1. Activity
    An activity on Quill is a single exercise. Typically the exercises are ten minutes in length and contain 10 to 15 questions. As an app provider, you post the name of the activity as well as some required meta-data, and we use that information to properly insert the activity into the library of activities.

  2. ActivitySession
    An ActivitySession is a single instance of an activity. When a student is assigned an activity by a teacher, Quill creates an ActivitySession for the student. When a student completes the activity, the produced data is stored within the ActivitySession.

  3. Meta-data: Section, Topic & Topic Category
    These three fields are required data fields for all Quill activities. These fields provide information for teachers to help them filter the materials to find what they need. Specifically, these fields contain information about which Common Core standards the activity relates to.

High Level overview of how you get the apps to talk to one another:

  1. You register as an OAuth app with Quill and get a token.
  2. You implement that token into your database to give it the credentials.
  3. Build a content management system for your app. You can use the “Empirical Core Pack” to quickly build a CMS for an Angular/Firebase app.
  4. In the CMS, you must organize the content into exercises. Each exercise should pull the section, topic, and topic category information from the Quill API.
  5. When a user saves an activity, it should post back the activity to the LMS with the activity name, section, topic, and topic_category, and concepts.

To Do:
What are concepts?
What does the pass backed data look like?
How do you integrate the button that allows you to return to the LMS?
How do you