GSOC 2016 final blog post
Git Backend
This project was aimed to create a git like backend for Turtle JS and Sugar Journal which will support git functions like versioning and forking.
Project Proposal :Proposal
Final Progress: We have nearly met all the goals that we described/explained in the project proposal. A Git Backend Api was created which was used in TurtleJS(web activity) and Turtle Art(python activity) as examples. Server integration was also given in the case of TurtleJS. Enough progress have been made with the project to progress in the future, the idea of a Git Backend was explored and the future part is to integrate the backed api code to all other sugar activities.
Git Repositories i worked on this summer:
1. Git Backend Code : Git Backend
2. Turtle JS with git backend : Turtle JS(with Git Backend)
3. Turtle Art with git backend : Turtle Art(Git Backend)
Turtle JS
Turtle JS is originally maintained at TurtleblocksJS, changes i made to the code are:
1. Converted the TurtleblocksJS app to a flask application.
2. Added the git backend functionalities to the web activity.(Explained in the repo)
Before:
After:
In the bottom image multiple new git buttons such as pull, clone, add , status, diff, etc are added.
Turtle Art
TurtleArt is originally maintained at TurtleArt, the changes i made to it are:1. Added the git backend functionalities to the activity(Check repo for detailed description).
Before:
After:
In the above image various git buttons are added. The buttons in both the Python activity and the web activity are meant to produce the same results even though they have very different UI's.
Documentation: Documentation