Visit our blog to see pedagogical scenarios, as well as technical and research updates.
Fabricating and running orchestration graphs. To learn more about the design and architecture, visit our wiki.
(more examples, and videos, on the wiki)
clone the git repository
go to the root repository
install Meteor
make sure you have a recent version of Node (at least 9.10) (if you have node, but not the
latest, you can try npm install -g n; n latest
run the commands
./initial_setup.sh
(if problem occur with bcrypt you can try to run
meteor npm install --python=python2.7
from the frog/
directory)
go to the frog/
directory and run meteor
(or run npm start server
from any directory)
see more developer scripts and details here
Connect to FROG by typing in your browser
meteor --version
) (note that the Meteor version is
not important, Meteor will automatically download and install the correct
version when run the first time)node --version
), and
that npm
works (npm --version
-- will not be the same as the Node version)./initial_setup.sh
etc should be run as user, not root)ngrok
, which only exposes
a single port -- 3000 and 3002 need to be exposed)../initial_setup.sh
, execute these commands first.
(Note that this deletes any file that has not been checked in and
committed). It will also remove clean all Mongo collections (i.e all graphs and activities that have not been sent to the cloud library): git reset --hard; git clean -fdx; ./initial_setup.sh
bcrypt
, hiredis
etc are
OK, as long as the following lines are displayed:=> Started your app.
=> App running at: http://localhost:3000/
Learn Meteor framework with React: https://www.meteor.com/tutorials/react/creating-an-app
Note that we use yarn
extensively. Unfortunately, we currently need to symlink all
the packages from the root node_modules
directory into frog/
, because of a problem with
Meteor. This means a specific workflow:
npm start yarn
npm start unlink
, then do your actions, and then npm start link
to
be able to run the server againIn development mode, you can use the URL shorthand <host>?login={user}
to
automatically login as a given user (which will be automatically created if it
does not yet exist). For example, http://localhost:3000/<slug>?login=peter
, will
open the student view logged in as peter. To access to the
graph editor and the teacher orchestration dashboard you need to use the URL shorthand <host>/teacher/login={user}
. If you want to see the
"projector mode", you log in like <host>/teacher/projector/<slug>?login=teacher
. The slug is displayed once you create a new session.
If you open a number of windows in the same browser, they will all be logged in as the latest user, because of cookies. A way around this is to add entries like this in /etc/hosts:
127.0.0.1 localhost 127.0.0.1 dev1 127.0.0.1 dev2 127.0.0.1 dev3
Reload /etc/hosts
(on
MacOS),
and then log in to different users on different "domains".
All PRs should pass all tests (npm start test
in the repository root directory).
The main FROG program (in the frog/ directory) is licensed under the GNU Affero General Public License 3.0 (or, at your option, a later version). The licenses of all other packages may be found in their respective directories (LICENSE files in each sub-directory). While the main application is AGPL, we generally license more broadly applicable libraries, as well as specific learning activities, under permissive licenses such as the ISC license to facilitate their reuse in other systems. Please Contact us if you have any questions about licensing.