5 min read
2024-08-26
1.0.1
)2.0.6
)apache/airavata
: https://github.com/apache/airavata/pull/4351.0.0
)In Janurary 2024, I joined the Apache Airavata VIP team at my school (Georgia Tech). There, I developed a Local User Interface for Airavata MFT using Electron.js
and gRPC
.
Afterward, Dimuthu and Suresh invited me to join their Google Summer of Code program. And thus, the journey begins...little did I know how much I would learn.
First, I was tasked with developing a desktop application that mimics the MD Cybershuttle portal to present at the 61st Workshop on Computational Biophysics at Auburn University.
In addition to having the features of the MD Cybershuttle Portal, the local agent also needed to be able to manage files from finished experiments through Jupyter Labs and VNC sessions.
Over the next few weeks, I built version 1.0.1
of the Cybershuttle Local Agent, with features for...
Some screenshots from 1.0.1
:
| The instruction manual for MD Cybershuttle Local Agent version 1.0.1 can be found on the Cybershuttle website.
Challenges faced While developing the first version of Cybershuttle, I faced many challenges, specifically:
These challenges were all resolved through lots of debugging and the help of the Apache Airavata team.
After presenting the first version of Cybershuttle Local Agent at Auburn, we sought feedback from attendees. Thus, we learned that scientists wanted a way to run Jupyter Labs both on their local machine and in remote environments, all in the same Jupyter Notebook.
Thus, we began building Cybershuttle Local Agent version 2 to present at PEARC24.
After speaking with Dimuthu and Lahiru, we decided it would be best to separately create a Jupyter Notebook that supports both local and remote execution. This notebook would then be packaged into a Docker container to be rendered in the local agent.
Dimuthu and Lahiru developed the Docker container that housed the custom Jupyter Lab.
I developed the local agent. The result can be seen in this demo:
In the updated version (2.0.6
)...
Thus, version 2 of the Cybershuttle Local Agent was developed and presented at PEARC 24. The local agent is also avaliable for download at https://md.cybershuttle.org/.
After finishing up work with the Cybershuttle Local Agent, I shifted my focus to the next project, the VEDA Auth Portal, a web app for NASA that provides authentication for the VEDA project.
First, Stella and Philipp developed a wireframe for the VEDA Auth Portal.
After a few meetings to discuss priority, we decided to focus on the group management UI.
Using this wireframe, I developed the UI for group management using React.js
and Vite.js
.
Next steps include integrating authentication so we can replace the mock data with actual user information.
Throughout this entire process, I have been sending updates on the Apache Airavata development mailing list.
Whenever an major development milestone was reached, I sent out an email to the mailing list, actively seeking feedback for improvement.
One of these emails are attached below for reference!
I have learned so much during these past few months working with the Apache Airavata team. Specifically, the following:
Frameworks
Electron.js
, React.js
, REST
Tools
Generally...
From developing the first version of the Cybershuttle Local Agent to pivoting and then develping the second version to working on the VEDA Auth Portal, I'm so grateful for the opportunity to participate in Google Summer of Code 2024.
A huge thank you goes to Dimuthu Wannipurage, Lahiru Jayathilake, Eroma Abeysinghe, Suresh Marru, and the entire Apache Airavata team for making my experience at Google Summer of Code 2024 so fun, rewarding, and enriching.
~ Ganning Xu © 2024