

I will use this blog to provide an overview of how the app works, all my work done during this period, features, completed milestones, what couldn’t be completed, and future roadmap.
REDDIT RETROSHARE CODE
I will also explain and document the code structure in the hopes that potential contributors will find it easy to get started. If you want to see the work I have done exclusively during GSoC, it is all in a single Pull Request. The purpose is very simple A web-app that can be used to manage your Retroshare node, interact with friend nodes, and make use of Retroshare’s features. In other words, an alternative to the Qt-based interface of the client app. This is made possible through the JSON API provided by Retroshare, which allows everyone to utilize the power of Retroshare’s technology to create their own services, interfaces, or even build apps on top of Retroshare. The web interface itself works in a pretty straightforward manner, making use of modern browsers to act as a front end for the Retroshare platform and it’s services. Made using JavaScript, and the only external library being used is Mithril, which is a very fast and lightweight framework for building single page web applications. If you look at the source code, you can see that it is built using qmake, the config file webui.pro executes build scripts in webui-src/make-src.

The build scripts in webui-src/make-src (most notably build.sh) iterate over all files from the source directory( webui-src/app), copying files into their respective destinations.Īll JavaScript files are compiled into app.js and CSS files into app.css, these compiled files are put into the destination directory which is webui.

The build scripts also copy all the static files, from webui-src/assets over to the destination directory, maintaining their directory hierarchy. Static files are the ones that do not require any modification in order to be used, like the HTML, font files, some CSS styles, and so on.Īnother important aspect of the build process is how it compiles all the JavaScript files into a single file. css files together, JavaScript however doesn’t work that way: Since CSS is simply a set of rules without any structure, the output file can be built simply by appending all the source. You may have noticed another file in make-src called template.js.
