Skip to content
This repository has been archived by the owner on Nov 3, 2021. It is now read-only.


Repository files navigation


This repo contains client prototypes for the Tin Can API.

  • GolfExample_TCAPI: a converted SCORM course, it can be packaged and launched from an LMS supporting Tin Can API, it generates statements and uses the State API for "bookmarking"
  • JsTetris_TCAPI: Tetris game generating statements and using the Activity Profile API
  • Locator_TCAPI: a location based activity, it generates statements
  • ReportSample: basic and activity-specific reporting on the statements generated by the above samples
  • StatementViewer: statement stream viewer with rudimentary query ability
  • OAuthSample: simple page for testing the OAuth compatibility of a Tin Can endpoint


Make sure to fetch all the code dependencies by running git submodule update --init --recursive

  • Place the prototypes folder on a web server, and note the URL to index.html. This is the url you will launch in your browser to run the client prototypes. If you do not have a webserver available you should be able to run the prototypes from your desktop, but you will have to use a modern browser that supports CORS (Cross Origin Requests) such as Chrome, Safari, Firefox or IE8+.
  • Copy the file config.js.template to config.js and set Config.endpoint to the LRS endpoint, including a trailing slash (ex:
  • Verify the LRS endpoint in your browser by navigating to the URL: <endpoint>/statements?limit=1
    • You should be prompted to log in, use the credentials provided by the LRS
    • You should then see: [], or JSON of a statement if statements have already been stored for this LRS.
  • Load index.html in a browser