rishabhdeepsingh
8/11/2018 - 10:26 AM

GSOC2018_OpenRobertaLab_RishabhDeepSingh.md

Google Summer of Code 2018 Final Work Product

StudentRishabhdeep Singh
MentorStefan Sauer
Github@rishabhdeepsingh
OrganisationOpenRobertaLab
ProjectOpen Roberta Standalone app for Desktop and Mobile

OpenRobertaLab

Aim

The Open Roberta Lab is a server-side Web Application and the idea of a standalone version is to bundle the server with a built-in Web Browser. This can be achieved by using JCEF (Java Chromium Embedded Framework) provide a complete implementation of the Web Client. The JCEF need some packaging improvements to run automatically. This might involve the adoption of some of the Javascript packaging code, if necessary or making a Jar for Other modules as well. Also combining this standalone application with parts of USB program which will help users to connect Robot with the Open Roberta Lab easily. Customize some User Inteface changes for the single-user mode.

Video

Worklog

  • First Evaluation

    • Created Project Fork Link.
    • Reading The CodeBase and JCEF
    • Testing different programs on different Robots
    • Made the Desktop App using CEF and Pandomium.
    • Made the Jar for Desktop App.
    • Added Jar to the OpenRobertaServer.
    • Integrating the Desktop App with Server
    • Uploaded the Video showing Desktop App which you can find here.
    • Updated the Desktop app on OpenRobertaParent.
    • Created separate Classes to run Server and Desktop app.
    • Removed unnecessary files
  • Second Evaluation

    • Debugging server as its giving some error on desktop app
    • Making separate classes for Desktop app and Server.
    • Adding run.sh script to run the Desktop app.
    • Removed unnecessary sleep() and other classes.
    • Working on --single-user to remove the login as a default login will be done automatically and also remove the gallery.
    • After making some edits able to pass single.user from Desktop App to server.
    • Working on how to get the isSingleUser from java to Front end code.
    • Made the gallery hide if single-user is true in single-user.json File
    • Checking how to user this Test Login to the Desktop app single user.
    • Created a simple JSON file saying single-user=true or false based on how the user wants to run the Desktop App
  • Final Evaluation

    • Single-user and Database Part done for Desktop App
    • Squash up Some changes
    • Transfer command line arguments to rundesktopapp.sh
    • Finished the Rebase.
    • Sent PR Regarding Desktop App
    • Added support for Windows as well

TODO's

  • Change language options in Desktop App
  • Build a single executable for Desktop App

Blog Posts

All of my blog posts related to my work can be found in the Open Roberta Google Group https://groups.google.com/forum/#!forum/open-roberta