Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SagittariusA11/1042d88f5e560366770307be8a9db108 to your computer and use it in GitHub Desktop.
Save SagittariusA11/1042d88f5e560366770307be8a9db108 to your computer and use it in GitHub Desktop.
This document serves as the conclusive report for the "**Rocket Launch Visualizer**" project, which was conducted under the auspices of the **Liquid Galaxy organization for Google Summer of Code 2023**. It encompasses an exhaustive documentation of the project's evolution, including a comprehensive work log. Furthermore, it provides essential hy…

Google Summer of Code 2023 Final Report

Project: Rocket Launch Visualizer - Liquid Galaxy

Overview

This document serves as the conclusive report for the "Rocket Launch Visualizer" project, which was conducted under the auspices of the Liquid Galaxy organization for Google Summer of Code 2023. It encompasses an exhaustive documentation of the project's evolution, including a comprehensive work log. Furthermore, it provides essential hyperlinks for quick and easy reference.

Project Details

All required details and guidelines for upcoming contributor can be found from above mentioned details cheers!

Acknowledgement

I extend my profound gratitude for the privilege of participating in the esteemed Liquid Galaxy organization this summer. My tenure within this dynamic and inspiring community has been nothing short of exhilarating. With Liquid Galaxy, I embarked on a transformative journey, culminating in the creation of something truly exceptional. This endeavor encompassed the crafting of visualizations on Google Earth through the deft manipulation of KML files and the development of a consequential Flutter application poised to bring tangible benefits to individuals worldwide and effect substantial change.

I must express my profound appreciation to both Liquid Galaxy and the Google Summer of Code program for entrusting me with this exceptional opportunity to contribute during this summer. This experience has been an unparalleled source of enlightenment, imparting wisdom beyond the confines of conventional academic coursework. Notably, my technical acumen has undergone a substantial evolution, particularly within the realm of Flutter, where my ability to produce pristine code adhering to industry best practices has substantially matured. Moreover, I have acquired the skill of comprehending and extrapolating pertinent insights from existing codebases to enhance my own work. My understanding of KML files and their efficacious deployment for the creation of aesthetically pleasing visual representations on Google Earth has expanded significantly. The configuration of the Liquid Galaxy rig on my system, a task necessitating proficiency in virtualization and networking, has further enriched my technical repertoire. Additionally, I have gained invaluable insights into the intricate process of deploying a Flutter application onto the Google Play Store, an endeavor fraught with unique challenges. Beyond the technical sphere, my communication competencies have been significantly honed, and I have forged lasting friendships that I deeply cherish.

I reserve a special note of appreciation for my principal mentor, Yash Raj Bharti, whose unwavering motivation and encouragement have been the cornerstone of my journey throughout the program. His steadfast belief in our collaborative potential has been a constant source of inspiration. I also extend my gratitude to my auxiliary mentors, Victor Carreras, for their steadfast support and invaluable feedback, which have been instrumental in the success and aesthetic refinement of the project. The Liquid Galaxy mentorship cohort at large has been an invaluable wellspring of support and guidance, consistently fostering an environment of collaboration and shared achievement.

The fruition of the application owes a substantial debt to the diligence and expertise of the Liquid Galaxy Lab Testers, namely Mohamed Zazou, Navdeep Singh, and Imad Laichi, whose meticulous testing on actual Liquid Galaxy rigs unearthed potential issues and ensured a robust final product. Finally, I offer my profound thanks to mentor Alejandro Illan Marcos, whose dedication and tireless efforts facilitated the challenging process of deploying our applications to the Google Play Store.

In closing, I reserve a special acknowledgment for our Organization Admin, Andreu Ibanez, whose unwavering support and active involvement have been indispensable throughout my internship. His consistent guidance and assistance have been instrumental in the realization of a successful application that now graces the Google Play Store.

In reverence, I extend my gratitude to the entire Liquid Galaxy community, from our esteemed Organization Admin to our mentors and contributors, for their unwavering support and guidance. The fruition of our application stands as a testament to the collective efforts of this remarkable community.

Liquid Galaxy Organization

The Liquid Galaxy, an open-source initiative, was inaugurated by Google and conceived by Google Employee Jason Holt in the year 2008. Its inception centered around the creation of a panoramic, multi-display Google Earth Viewer, yet over time, it has metamorphosed into a versatile data visualization tool catering to the domains of operations, marketing, and research. This extraordinary platform offers a distinctive and immersive experience, enabling users to traverse the realms of Google Earth, peruse images, explore screen layouts, access balloons, locate placemarks, and construct interactive tours.

The architectural foundation of Liquid Galaxy comprises three or more computer units, each dedicated to managing a specific display. The system operates on a master/slave framework, where the master node assumes the responsibility of aggregating and disseminating all data, facilitating synchronization among the display units via SSH message passing. Such synchronization ensures a harmonious and coordinated presentation across the multiple screens. Further insights into the Liquid Galaxy project can be gleaned from the dedicated source at this link.

It's imperative to clarify that while the Liquid Galaxy Project interfaces with Google Earth software, it does not actively engage in the development of the Google Earth codebase itself. Google Earth, though freely accessible, is proprietary software and not open source. Instead, the Liquid Galaxy Project directs its efforts toward augmenting the Liquid Galaxy system with open-source software components. This strategy serves to enhance administrative functionalities and facilitate the integration of open-source applications, thus enabling the presentation of diverse content within the immersive panoramic environment.

Annually, a cadre of Android applications emerges, harnessing the power of Liquid Galaxy technology to address societal and educational needs. Each of these applications is a testament to innovation and utility in its own right. One may explore this repertoire of applications on the Play Store or delve into the intricacies of their source code on the GitHub repository.

Project Detail

The project "Rocket Launch Visualizer" conducted under the Liquid Galaxy organization for Google Summer of Code 2023 is a comprehensive endeavor that involves the retrieval and visualization of a wealth of data from the SpaceX API. This ambitious undertaking encompasses the retrieval of information regarding SpaceX launches, rockets, landing and launching pads, Starlink satellites, mission specifics, and payload details. This data is elegantly displayed on a Flutter-based mobile application, designed for tablet users, with a strong emphasis on accessibility. The application not only presents dynamic and interactive visualizations but also offers diverse color themes, multilingual support, and dynamic font sizing, enhancing its accessibility to a broad user base. Furthermore, the integration of Google Maps enriches the user experience by providing geographical context for rocket launch locations. To bridge the physical and digital realms, the project incorporates the transmission of pertinent data to a Liquid Galaxy Rig, enabling the display of launch-related information on this immersive system. The following details provide a deeper technical insight into the various facets of this innovative project.

Proposed Objectives

  • Retriving data from SpaceX API about all launches, all rockets, landing pads, launching pads.
  • Displaying all these data retrived from API on Flutter App and displaying them on tablet in imersive UI.
  • Sending all these data from application to Liquid Galaxy Rig.
  • Diaplying app logo, launch pad, details about each launch on Liquid Galaxy Rig and executing them.

Achieved Objectives

  • Retriving data from SpaceX API about all launches, all rockets, landing pads, launching pads, starlink satellites, rocket details, mission details, launch pad details, payload details.
  • Displaying all these data retrived from API on Flutter App and creating data stracture for API response and algorithm to access all these data from API in efficeint manner and displaying them on tablet in imersive UI.
  • Adding accessibility features such as:
    • Adding multiple colour theme to the app for eye comfort of the user.
    • Adding multiple language support in the app for including language diverse users.
    • Adding dynamic font size for visually imared users to give them more assessiblity to the App.
  • Integrated Google Maps in the application to show the locations of launches in the app itself.
  • Sending all these data from application to Liquid Galaxy Rig using SSH Client method to Liquid Galaxy Main Rig and Liquid Galaxy Slave Rig.
  • Diaplying app logo, launch pad, details about each launch, launch pad, rocket details and mission details on Liquid Galaxy Rig and executing them.

Additional objectives under development and post GSoC plans

  • Adding more language to the application.
  • Syncing Google Maps in the app with the Google Earth on the Liquid Galaxy Rig, enabiling user to control the google earth on liquid galaxy rig using google maps on the app.
  • Adding voice commands to the applciation and voice control to the Liquid Galaxy Rig.
  • Adding text to speech functionality to the application.
  • Adding hapting touch response to the application.

Detailed script on objectives achieved

  1. Retrieving Data from SpaceX API:

    • Utilizing the SpaceX API to fetch a wide array of data, including information about launches, rockets, landing pads, launching pads, Starlink satellites, rocket details, mission details, launch pad details, and payload details.
    • Implementing API request mechanisms to efficiently retrieve this data using nested simultaneous API calls and store it in structured formats.
  2. Displaying Data in Flutter App:

    • Developing a Flutter-based mobile application to visualize and present the retrieved data.
    • Creating a well-defined data structure to store and manage the API responses.
    • Designing algorithms for accessing and rendering this data within the app's user interface.
    • Ensuring a responsive and immersive tablet user interface to enhance the user experience.
  3. Adding Accessibility Features:

    • Implementing multiple color themes within the app to enhance readability and provide an optimal user experience for individuals with different preferences and visual needs.
    • Incorporating support for multiple languages to make the app accessible to a diverse user base.
    • Implementing dynamic font sizing, allowing visually impaired users to adjust text size for better readability and accessibility.
  4. Integrating Google Maps:

    • Integrating Google Maps into the Flutter application to display geographic locations of rocket launches.
    • Using the Google Maps API to mark and visualize launch sites, providing users with geographical context.
  5. Sending Data to Liquid Galaxy Rig:

    • Establishing a secure connection and implementing SSH client functionality within the app to communicate with the Liquid Galaxy Main Rig and Liquid Galaxy Slave Rig.
    • Transferring relevant data, such as app logos, launch pad details, rocket details, mission details, and other pertinent information to the Liquid Galaxy system for display using KML files.
  6. Displaying Information on Liquid Galaxy Rig:

    • Rendering the app logo, detailed launch pad information, and comprehensive launch, rocket, and mission details on the Liquid Galaxy Rig.
    • Executing the necessary commands to ensure the seamless display of this information on the Liquid Galaxy setup.

Throughout the development process, rigorous testing and optimization has been critical to ensure that the application runs efficiently, providing a smooth and user-friendly experience. Additionally, maintaining a clean and modular codebase will facilitate future enhancements and scalability of the application. Finally, thorough documentation of the project's technical aspects and functionality will aid in project maintenance and knowledge sharing.

Main Work Progess Details

  • Initial commit and creatiung Splash Scrren and Onboarding Screen link
  • Added UI of LG Task, Help and Settings scrren link
  • Added connection manager to connect to LG link
  • Added LG tasks to perform tasks on LG link
  • Initialised Multi Languge Support link
  • Enabling multi color theme and dynamic font size link
  • Integrated Google Maps to the app link
  • Integrated API Calls for rockets, launches, launch pads link
  • Added additional information about fetched details apart from API link
  • Added KML file link
  • Enabled different LG functionalities such as flyTo and Orbit link
  • Added starlink satellite data link

Important Project Links

Screenshops of application UI and Liquid Galaxy Rig

Here are the screenshots of App UI and Liquid Galaxy visualization. OnBoarding Screen Connection Manager Screen

Home Screen

Map Screen Launch Info Screen LG Tasks Screen Rocket Info Screen Liquid Galaxy Visualisation

Conclusion

I am profoundly appreciative of this enriching experience; it has been an educational journey of immense value, culminating in the development of an application poised to serve the greater good. My commitment to the project extends beyond its culmination, and I remain resolute in my dedication to maintain the codebase, diligently addressing any issues that may arise, thus enhancing the luster of the Rocket Launch Visualizer.

Engaging in the Google Summer of Code program and aligning myself with the esteemed Liquid Galaxy community has indelibly marked my personal and professional growth. Throughout this voyage, I confronted a multitude of challenges and grappled with hitherto unfamiliar complexities. However, my resourcefulness, innovative thinking, and adept utilization of cutting-edge technologies empowered me to surmount these obstacles. This experience has substantially bolstered my confidence in my problem-solving acumen. At present, I stand resolute in the belief that solutions exist for every challenge, and I firmly hold that, with unwavering determination, any obstacle can be surmounted.

I hold a profound affection for this experience, and if the opportunity for a return engagement were to arise, I would embrace it unreservedly. My enthusiasm remains undiminished, and I eagerly anticipate continued contributions to the Liquid Galaxy project beyond the conclusion of the Google Summer of Code program. My heartfelt gratitude extends to my mentors and organizational administrators for their steadfast guidance and unwavering support during the challenging phases of the coding period.

If you are interested in contributing to Liquid Galaxy projects, you can reach out by sending email to Liquid Galaxy Lab

Email: liquidgalaxylab@gmail.com

Contact Information

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment