Awards & Nominations

Diana has received the following awards and nominations. Way to go!

Global Nominee

D.I.A.N.A

High-Level Project Summary

A distributed-network based application for real-time collaboration on the Moon and on the Earth! Does your lunar mission need to keep track of multiple logs, inventory, and people? DIANA is an all-in-one platform in which astronauts can organize their data collectively, while people on Earth are updated with the latest events.

Detailed Project Description

 

The Challenge

WE ARE GOING BACK TO THE MOON! The Artemis’ missions will gradually bring people to Earth’s natural satellite.

 

As the project progresses, hundreds of people (astronauts, scientists, engineers, researchers, …) are going to be working together. 

 

Therefore, a new problem appears: How to organize all the data being generated in these missions, so that it can be safely and efficiently used by everyone involved?

 

New frontiers are the place for new challenges! Our team developed a full application that helps the crew of these missions to store and organize their data, while people on Earth can review and perform analysis.

 

The Solution

The solution we’ve developed is D.I.A.N.A: A Distributed and Integrated Access Network Application

 

It’s a digital platform in which each person involved in the lunar mission can sign up to cooperate. 

 

We have 3 different user’s roles:

 



  • Astronaut: Can embark on a mission, append new information (logs and sample data files) and visualize peers’ logs;
  • Mission-Control: Can create new missions, schedule astronauts on missions, and view all data;
  • Visitant: Can’t append or modify information, only visualize approved data.

 

During the mission, samples will be collected, hardware will be used and spacewalks will need to be logged. In order to store all this data while also keeping everyone in touch, our solution uses a decentralized-network (peer-to-peer) based architecture, making use of the InterPlanetary File System (IPFS). With this model, everyone connected to the same network represents a node that can hold data and communicate with others. This way, our application is serverless, and this brings multiple benefits:

 



  • Reduced costs: There is no need to power and maintain a big server;
  • Increased speed: At this system, files can be retrieved from connected nodes instead of relying on a central server;
  • Increased reliability: Servers in many cases can represent a Single Point of Failure (SPF). Using an IPFS network the data is distributed and replicated among all nodes;
  • Data safety guaranteed: Taking into account that all data is decentralized and identifiable, their integrity can be easily verified.

 

How it was developed

 

Backend

The backend of the application was built using the OrbitDB library (based on IPFS), which provides a handful of different databases to use on the project.

The communication with the frontend was made through a custom javascript API, developed with ExpressJS which is a web server framework for NodeJS.

 

Frontend

The frontend application was built based on ReactJS, which is a javascript framework for quickly developing browser applications.

All the screens use HTML and CSS for their structure and styles, and for more visually complex components, Material UI was the go-to option.

The communication with the backend API is performed using REST requests through Axios, and frequent polling from the server guarantees that the client’s information is always up-to-date.

 

Features

 

Authentication

A simple Sign In and Sign Up system was developed for user identification on the platform.

 

 

Create a Mission

At this screen, a new Lunar Mission can be created and its crew assigned (user with an Astronaut Role that can be allowed on the mission).

 

 

Main Dashboard

This is the main view for a user on the platform. Here, it's present the most important information, and some quick access to other pages as well. On this page a user can:

 



  • See theirs or peer's Mission Logs
  • See User Info (Name and Role)
  • Check Mission's Crew info
  • Easily check Systems Health (Battery, Temperature, Radiation)

 

 

Peers List

At this screen, the user can check all the latest samples collected by the crew. Here there is a quick way for accessing other peers information.

 

 

Call for Help

We all know that accidents can always happen, especially in a hostile environment like it's in Earth's natural satellite. This screen presents a fast possible way of calling for the help of the crew if anyone is in need.

 

 

Add a Sample

This page's objective is to provide a system for the mission's crew to input samples on the platform. They can upload information like Name, Description, and Additional Sample Data (Photo, Video, or Audio).

 

Space Agency Data

According to the challenge description, it was not necessary to use real mission data to demonstrate how our application works. However, in order to have a knowledge base about lunar missions and which samples are usually collected on them, we used some information contained on the website Apollo in Real-Time. And we also got some references from NASA’s presentation “LunaNet: A Flexible and Extensible Lunar Exploration Communication and Navigation Infrastructure”.

Hackathon Journey

Our experience with Hackathon Space Apps 2021 started with the choice of the challenge. We used the Decision Matrix methodology, in which we analyzed three challenges, using the following criteria:

 



  • Impact;
  • Space for innovation;
  • Technical Knowledge of the team;
  • Viability;
  • Use of Data;
  • Space for testing (application of scientific knowledge);
  • Technologic innovation;
  • Inspirational Factor.

 

For those three challenges, scores from 1 to 5 were assigned for each criterion. In the end, the one with the highest score would be chosen. In this case Lunar Surface Operations: Real-Time Collaboration. More than just theoretical criteria, we were excited to work on this project, because we grew up listening to the stories of the Apollo Missions and how humanity managed to go to the moon.

 

With the theme defined, we started the planning phase of our application. To conduct meetings with team members, we used the Discord and Google Meets platforms. At Miro, we brainstorm some ideas. while using Figma, for the designs of pages for D.I.A.N.A.

 

Our brainstorming at Miro:

 

With all ideas organized, it was time to develop the JavaScript codes in VS Code. This was the stage that we encountered the most difficulties because some of our members were not familiar with this programming language. To solve this problem, we resorted to some sites on the internet that indicated the commands needed to perform the actions we wanted, such as the CSS-Tricks. Finally, we put together a presentation on Canva for our final project video. In order to create a live demo, we hosted our project from Github's main branch as a Heroku app.

 

Check our Elevator Pitch ->

 

Check our presentation on Canva ->

 

Check our design process on Figma ->

 

Check our Github repo ->

 

Check our live demo ->

 

It is clear, therefore, that despite the activities having been carried out remotely, our experience at Hackathon was very fruitful. Our project covered several areas, such as managing teamwork, designing for websites and presentations, as well as the programming part.

References

Data


Apollo in Real-Time - details about the samples collected and data from the flight including (audio, images, and reports).


LunaNEt - as D.I.A.N.A is based on distributed data, the reference from LunaNET as a comparison.


Resources


EVA Task Console Log Demo - As users update data and notes, the tasks should be updated and be presented in the mission log. The mission console log in DIANA was inspired by the video.


Handwritten log - In the past, the logs were handwritten and it was a limitation to that information in a number of people and time. DIANA would limit the access only by its user credentials, so all the information that one user needs would be available.


As the mission occurs, the status is updated so the peers online can have access to its data and situation. It also improves real-time communication as the peers can always be informed. These journals inspired the communication feature in D.I.A.N.A.


Apollo 11 Flight Journal 

Apollo 13 Flight Journal

EP-72 Log Apollo 11


Tools


Miro - the first drafts and detailing of the challenge chosen were done in Miro.

 

Figma - each page on DIANA was first designed at Figma. Also, the path to each page and the flowchart to each process that was considered: creating an account; creating a mission; uploading data; reporting a problem; choosing data to access by a peer, last updated, and By mission. Also, the project logo was designed using Figma.

 

VS Code - the code drafts in Javascript, HTML, and CSS were written on VS Code. Node js, npm were used to support the code.

 

Canva - the demo presentation was made in Canva.


Heroku - a cloud platform as a service (PaaS) in which D.I.A.N.A.


Google Meet and Discord - real-time communication tools that were used by D.I.A.N.A developers.

Tags

#Artemis, #Lunar, #IPFS, #software, #decentralized

Global Judging

This project has been submitted for consideration during the Judging process.