Go to file
2018-04-03 16:20:12 +02:00
docs Extend documentation with framework basics 2018-04-03 16:20:12 +02:00
lib Add LICENSE file and include copyright notice in source files 2018-04-03 14:49:14 +02:00
nginx Fix nginx config for Angular 2018-03-14 10:23:46 +01:00
supervisor Remove supervisor components that should be in child images 2018-03-29 16:50:47 +02:00
.gitignore Implement frontend dependency management 2017-12-11 17:37:21 +01:00
.gitmodules Add submodule with remote tracking 2018-03-09 17:41:23 +01:00
.pyenvrc Rearrange project and dockerize 2017-11-27 21:09:56 +01:00
Dockerfile Migrate baseimage to debian from ubuntu 2018-03-28 16:27:35 +02:00
LICENSE Add LICENSE file and include copyright notice in source files 2018-04-03 14:49:14 +02:00
README.md Extend documentation with framework basics 2018-04-03 16:20:12 +02:00
requirements.txt Upgrade python packages 2018-03-15 16:11:35 +01:00
VERSION Add VERSION file. First official TFW release 2018-03-27 13:36:25 +02:00

baseimage-tutorial-framework

This is the beating heart of TFW the Docker baseimage containing the internals of the framework.

All tutorial-framework challenges are child images of this one: their Dockerfiles all begin with FROM avatao/tutorial-framework.

This document explains the general concepts of TFW and should be the first thing you read before getting started with development.

For more on building and running you should consult the test-tutorial-framework repo.

The framework

The goal of the tutorial-framework is to help content developers in creating interactive tutorials for the Avatao platform.

To make this possible TFW implements a robust messaging system and provides several pre-written components built upon it, such as a file editor or a terminal (running in your browser).

The foundation of the whole framework is the messaging system connecting the frontend with the backend. Frontend components use websockets to connect to TFW, which you can hook to several event handlers to define ways to handle specific messages.

TFW architecture

Note that our reference frontend implementation is written in Angular (frontend-tutorial-framework repository). Most of pre-made EventHandlers are writen in Python3, but you can write event handlers in any language that has ZeroMQ bindings (this virtually means any language).