Skip to content


Subversion checkout URL

You can clone with
Download ZIP
The Learning Record Store (LRS) and client prototype deliverables from the original "Project Tin Can" BAA effort.
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Project Tin Can Prototypes



This package contains server and client prototypes for the Tin Can API.

  • Client prototypes (see ClientPrototypes/index.html for details)
    • GolfExample_TCAPI : a converted SCORM course
    • JsTetris_TCAPI : Tetris
    • Locator_TCAPI : a location based activity
    • TinCanViewer : basic, and activity-specific reporting
  • LRS server prototype -- provides LRS functionality, except as described in known issues section

Client Samples Installation

Place the ClientPrototypes folder on a web server, and note the URL to ClientPrototypes/index.html. This is the url you will launch in your browser to run the client prototypes.

LRS (Learning Record Store) Installation

Prerequisite Installation

  • install mongodb (version 2.0.0 or later is required)
  • install node.js
  • install the following node modules (npm install <module>)
    • async
    • mongodb (this is the node driver for mongodb, and is needed in addition to mongodb itself)

LRS installation

  • Place the LRS folder in the location you want to run the LRS

Tips for Installation on Windows

  • DL and unpack mongo as per current github instructions
    • add /bin full path to %Path% env variable
  • DL and unpack node as per current github instructions
    • add node.exe full path to %Path% env variable
    • make folder c:\node_modules
  • download async
    • unpack into c:\node_modules\async
  • download mongodb driver
    • unpack into c:\node_modules\mongodb
  • copy 'ClientPrototypes' folder to web server root (wwwroot for IIS)
    • Launch MongoDB
    • open cmd line
    • > mongod
  • Run LRS
    • open cmd line
    • navigate to /LRS folder in project
    • > node LRS.js
  • Launch http://localhost/ClientPrototypes



  • By default the LRS runs on port 8080 and is accessable from other machines. If you wish to use a different port, or restrict access to the local machine or a specific IP, edit LRS/config.js.
  • Ensure mongo db (mongod) is running. You may simply launch a terminal and run mongod there.
  • Launch the lrs. In the directory "TinCan_Prototypes/LRS", type: node lrs.js
    • You should see:
      • Mongo DB version: 2.0.0
      • DB 'local' Initialized


  • If you will not be running the prototypes locally on the machine the LRS is installed on, then edit ClientPrototypes/prototypeConfig.js and set PROTOTYPE_ENDPOINT to use hostname and port to reference where you have installed the LRS.
  • Verify the LRS endpoint in your browser by navigating to the URL: <endpoint>/statements?limit=1
    • You should be prompted to log in, the credentials are: test/password
    • You should then see: [] , or JSON of a statement if statements have already been stored for this LRS.
  • Launch: ClientPrototypes/index.html (from your web server in your browser, not from the file system)

Known Issues

Something went wrong with that request. Please try again.