The TaskTracker server is part of the TaskTracker toolkit for collecting and processing data of student activity during problem solving. TaskTracker server facilitates interaction with the TaskTracker plugin.
The primary goal of this project is data collection. First, tracking and analysis of students’ coding behavior can be a valuable source of insight into the learning process: for example, help the teacher to improve their course and understand which topics and assignments may be more difficult for students. Second, such data may be used in computing education research. If you choose to share your problem-solving data with us, it will help our studies in generating personalized hints during problem solving.
For more information about TaskTracker, consult the following resources:
- Download the repository.
- Run MongoDB. It has to work on the
localhost:27017
. - Install TaskTracker packages by issuing
install npm
as root from the server installation directory:
sudo install npm
- Issue
npm start
as root from the server installation directory. It will work onlocalhost:3000
.
If everything is done correctly, you will see the following message:
The data for the database can be found in configs. You can change the data before generating the database.
To generate a database for the TaskTracker plugin, send the POST
request to <path_to_your_server>/api/database-generator/task-tracker
.
Every time you change the configs, re-generate the database.
Note: The default <path_to_your_server>
is localhost:3000
.
See an example using Postman:
The section describes the models and API operations in the server. For a complete description of all models, see the API reference in the wiki.
The data-item
model stores code snapshots of user solutions from the associated TaskTracker plugin.
Field | Type | Description |
---|---|---|
id |
String | Internal MongoDB ObjectId. |
externalDiId |
Integer | External ID represented in public fields as id . |
codePath |
String | Path to the file with code snapshots. |
activityTrackerKey |
String | External ActivityTracker item ID. |
Endpoint | Method | Description |
---|---|---|
/api/data-item |
POST |
Save a TaskTracker file with code snapshots in the database. |
/api/data-item/all |
GET |
Get metadata for all TaskTracker files. |
/api/data-item/:id |
GET |
Get metadata for a TaskTracker file by its external ID. |
Note: For more information, see data item operations in the wiki.
The activity-tracker-item
model stores Activity Tracker logs with user actions from the associated TaskTracker plugin.
Field | Type | Description |
---|---|---|
id |
String | Internal MongoDB ObjectId. |
externalAtiId |
Integer | External ID collected from the file id in public fields. |
codePath |
String | Path to the Activity Tracker log. |
createdAt |
Date | Creation date. |
URL | Type | Description |
---|---|---|
/api/activity-tracker-item |
POST |
Save an Activity Tracker log in the database. |
/api/activity-tracker-item/all |
GET |
Get metadata for all Activity Tracker logs. |
/api/activity-tracker-item/:id |
GET |
Get metadata for an Activity Tracker log by its external ID. |
Note: For more information, see Activity Tracker operations in the wiki.