All Projects → OpenRoberta → Robertalab

OpenRoberta / Robertalab

Licence: apache-2.0
IMPORTANT: this repository statys for HISTORICAL reasons only. The actively supported repository is "openroberta-lab". In the "develop" branch of this repository please read the files "" and "". Thank you very much.

Programming Languages

50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Robertalab

30 Seconds Of React
Short React code snippets for all your development needs
Stars: ✭ 3,991 (+3198.35%)
Mutual labels:  education, programming
Es6 For Humans
A kickstarter guide to writing ES6
Stars: ✭ 5,170 (+4172.73%)
Mutual labels:  education, programming
Informações gerais sobre o Centro de Treinamento
Stars: ✭ 345 (+185.12%)
Mutual labels:  education, programming
CircuitPython online IDE
Stars: ✭ 15 (-87.6%)
Mutual labels:  education, ide
Easily create native mobile applications.
Stars: ✭ 36 (-70.25%)
Mutual labels:  ide, education
Awesome Algorithms Education
A curated list to learning and practicing about algorithm.
Stars: ✭ 267 (+120.66%)
Mutual labels:  education, programming
Course management service that enables auto-graded programming assignments.
Stars: ✭ 528 (+336.36%)
Mutual labels:  education, programming
A library for building language-specific, CodeMirror-friendly editors that are a11y-friendly.
Stars: ✭ 22 (-81.82%)
Mutual labels:  programming, ide
Snapp! turns Snap! projects into standalone executables!
Stars: ✭ 26 (-78.51%)
Mutual labels:  education, programming
The Complete Guide To Modern Javascript
A comprehensive, easy-to-follow ebook to learn everything from the basics of JavaScript to ES2020. Read more on my blog or buy it here Get the course here
Stars: ✭ 827 (+583.47%)
Mutual labels:  education, programming
Ted2Go IDE is a leading IDE for Monkey2 programming language. Written on Monkey2! Based on original Ted2.
Stars: ✭ 16 (-86.78%)
Mutual labels:  programming, ide
Learn Vim
Vim 实操教程(Learning Vim)Vim practical tutorial.
Stars: ✭ 1,166 (+863.64%)
Mutual labels:  education, programming
A tool that helps you write code in your favorite IDE: your word processor!
Stars: ✭ 37 (-69.42%)
Mutual labels:  programming, ide
Awesome Courses
List of free online programming/CS courses [Massive Open Online Courses]
Stars: ✭ 273 (+125.62%)
Mutual labels:  education, programming
Short C# code snippets for all your development needs
Stars: ✭ 132 (+9.09%)
Mutual labels:  education, programming
RARS -- RISC-V Assembler and Runtime Simulator
Stars: ✭ 413 (+241.32%)
Mutual labels:  ide, education
Pylon IDE, a Cloud9 v2 descendant with some added extras and support for modern node >= 10.20.1 (including v11.x, v12.x, v13.x, v14.x, v15.x). OSS licensed.
Stars: ✭ 156 (+28.93%)
Mutual labels:  ide, programming
The programming environment »Open Roberta Lab« by Fraunhofer IAIS enables children and adolescents to program robots. A variety of different programming blocks are provided to program motors and sensors of the robot. Open Roberta Lab uses an approach of graphical programming so that beginners can seamlessly start coding. As a cloud-based applica…
Stars: ✭ 98 (-19.01%)
Mutual labels:  programming, ide
Learn Vim
Learning Vim and Vimscript doesn't have to be hard. This is the guide that you're looking for.
Stars: ✭ 7,221 (+5867.77%)
Mutual labels:  education, programming Frontend Only Archive
Bookmarking for Developers & Co
Stars: ✭ 38 (-68.6%)
Mutual labels:  education, programming

Open Roberta Lab

Build status:

  • master master
  • develop develop

We use BrowserStack for Cross-Browser Testing


The steps below explain how to get started with the sources. If you just want to run the server locally, please have a look into the wiki - installation. If you want to contribute, please get in touch with us, see wiki - Community before you start.

After a fresh git clone you get the robertalab project folder. It includes everything you need to setup and extend your own browser programming environment. License information is available in the docs folder.

Things you need on your computer:

  • Java 1.8
  • Maven >= 3.2
  • Git
  • Web browser

If you would like the server to compile code for the different systems, you need to install additional software:

on linux:

  • Arduino based robots
    • sudo apt-get install libusb-0.1-4
    • sudo apt-get install gcc-avr binutils-avr gdb-avr avr-libc avrdude
  • NXT
    • sudo apt-get install nbc
  • Calliope
    • sudo apt-get install gcc-arm-none-eabi srecord libssl-dev
  • micro:bit
    • pip install uflash

on windows:

Please also check our wiki for detailed installation instructions, development procedure, coding conventions and further reading. We also use the github issue tracking system. Please file issues in the main project robertalab.

Fast installation with maven

Step 1: Clone the repository and compile

git clone # get the repository
cd robertalab        # cd into repository
cd OpenRobertaParent # cd to parent project
mvn clean install    # generate the server
cd ..                # return to the repository	

Get a coffee! Might take some time.

A successful build looks like:

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] RobertaParent ...................................... SUCCESS [  2.479 s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:16 min
[INFO] Finished at: 2018-01-07T13:05:00+02:00
[INFO] Final Memory: 60M/540M
[INFO] ------------------------------------------------------------------------

Step 2: Make sure you have a database

If you have a fresh clone of the server, make sure that the OpenRobertaServer folder has a subfolder db-x.y.z with the database inside, where x.y.z is the current version from the server. The actual server version is found in the pom.xml of the OpenRobertaParent project. If you don't have a database, you can create an empty database with

./ --createEmptydb

You can also create a specific db version:

./ --createEmptydb x.y.z

If the server version is x.y.z-SNAPSHOT, remove the -SNAPSHOT. If you update the server later with git pull, your database will not be changed.

Step 3: Starting your own server instance using a unix-like shell (on either lin* or win*).

./ --start-from-git # start the server using the default properties

You can also run ./ --help for more options.

Step 4: Accessing your programming environment

Start your browser at: http://localhost:1999

That's it!

Development notes

You can follow the test status on

Development happens in the develop branch. Please sent PRs against that branch.

git clone
cd robertalab
git checkout -b develop origin/develop

The project OpenRobertaServer contains the server logic, that accesses

  • a database with Hibernate-based DAO objects
  • plugins for various robots which are supported in OpenRoberta
  • services for browser-based clients
  • services for robots connected to the lab either by Wifi or USB

The server is made of

  • an embedded jetty server exposing REST services
  • the services are based on jersey
  • JSON (sometimes XML or plain text) is used for data exchange between front, robots and server

Furthermore, the project OpenRobertaServer contains in directory staticResources for the browser client

  • HTML and CSS
  • Javascript libraries based on jquery and bootstrap for the frontend
    • assertions (DBC), ajax-based server calls (COMM), logging (LOG) and
    • javascript resources for blockly (see:
    • controller and models written in Javascript, which implement the GUI

To run specific tests, use mvn test with the -Dtest= option to specify the test name and -DfailIfNoTests=false to avoid a failure if a test of such name is not present in every sub-project of the repository. Example:

mvn -Dtest=de.fhg.iais.roberta.syntax.codegen.PythonVisitorTest -DfailIfNoTests=false test

If the tests report broken dependencies, make sure to run mvn clean install first.


We are using Blockly, it is located in a separate repository. The build of the blockly is only done in the OpenRoberta/Blockly project and then copied to the OpenRobertaServer/staticResources. You can not build Blockly in OpenRobertaServer project directly.

Have a look at the notes in LICENCE and NOTICE

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].