Project Space-Com

High-Level Project Summary

Our team have developed a web-based communication application. Our application enables users from around the world to interact with each other through interactive real time console logs and as a database that stores important details regarding a mission . A real time interactive console logs is vital for the exchange of information between space crew and ground support team so that ground support team can provide timely assistance if necessary. Information stored in database can be extremely valuable for improving future space flight and empowering scientific research based on space crew and ground support team experience.

Link to Final Project

Detailed Project Description

Brief Introduction

Our application has 3 basic features, namely communicating with other users using real time console log, viewing of past console logs stored in the database and viewing profile of other users.


User Registration and Login

Before using our web based application, the user need to register an account to be eligible to use the application. After registration, the user will have to enter their registered username, email and password to login to the application.


Application Lobby

At the landing page or the lobby, the user can choose one of the 3 features he/her wish to use on the Graphical User Interface (GUI). If the user choose to utilize the live communication feature, the user will then be redirected to another page that enables the user to choose which room (which corresponds to one mission) to join. User will experience similar process if choose to view the past console logs except the user will be prompted to choose from rooms of past missions.


Room of near instant communication

In the room for live communication between users, the user will be greet with a web page that is being divided into 3 main areas:

  • The left section is a retractable menu that shows participants of the room.
  • The middle section will show all the console logs submitted by all the users in the room that is editable by other users in the room.
  • The right section will show all the console logs submitted by the users.

Users can submit console logs in the form of texts, images, voice and video. The users can 'officially approve' their console logs after the end of the mission so their console log will become unmodifiable.


Digital Museum

In the room for past console logs viewing, users will encounter a GUI that is similar to the GUI of live communication room. The retractable side bar will have a search bar and a list of all the participants that joined the room. Clicking on the names of the participants will extract and display all their "officially approved" console logs in the middle section. The search bar can be used for searching a particular participants in case their are a large number of participants that had joined the room in the past. The right section of the page will display the logs that are "officially approved" by the user.


Hall of Profiles

Upon completion of the loading the page of user profiles, the user will be welcomed with a GUI that consists of a retractable side bar on the left and a collections of user past missions on the right. In the retractable side bar, the user have the ability to search or select different users to view their past console logs on different missions. When a different user is picked, the UI will automatically be updated to display the past missions on the right side of the UI of the selected users.


Information storage on some faraway hardware

Users information and console logs will be stored on a cloud database. Upon pressing the submission button, the application will send the console logs created by the users to be stored at the database for future references. When requested by application, the server will send back the relevant information. We are using NoSQL for database implementation because of its horizontal scalability and unstructured data support which is perfect for a communication application. We are JWT to authenticate the user so as to prevent unauthorize usage of application.


Future Improvement and Concept Expansion

Due to time constraint, we only managed to get some basic features done for this project. However, there are a few more features we think that can be added to make the application more useful. First of all, we think that it is possible to implement the concept of Internet of Things(IOT) in our application. Computers or electronic equipment that are abroad the transportation device used for missions can be connected to our application to provide live updates on different parameters measurements. These information may provide valuable information for the space crew and ground support team for live monitoring of the device or as useful data for future scientific research. Secondly, another feature to be implemented is the ability of the user to add customs tags to the console logs they submitted or approved. Thirdly, when viewing past logs, the user is able to filter the console logs based on the tags attached to the console logs instead of filtering based on user only.


Tools

We have used React (a JavaScript library) to build the GUI and logic of our application. Our application is web based which indicate that our application supports compatibility across different Operating System like Windows, MacOS, Linux and many more. On the server side, we have utilized MongoDB as over server to store information. For communication purposes, we use Discord for live time communication, Google Drawings for idea visualization and Google Sheets for task delegation. Besides that, we have used Git Hub for collaboration between team members for programming.

A logo of React JS. Image source : https://reactjs.org/


Notes: The link in the "Link to Final Project" session contains these 2 links:

https://github.com/simjinyi/nasa-space-app-2021-client and https://github.com/simjinyi/nasa-space-app-2021-server

Space Agency Data

For our project we have used the examples of past Logs and Journals given by NASA as our sources of inspiration. The examples gave us some glimpses on how a console log used for space missions looked like. Those examples have provided us with some ideas on what are the crucial elements that need to be included in our web-based communication application. Combining the inspirations and utilizing currently available technologies, we have also added some additional features that we think can improve the value of our communication application and of great use to the users. For example, we have implemented a features that allows the users to search for the console logs of past users on a particular mission to simplify the process of searching for a console logs written by a particular user.

Hackathon Journey

Our Experience

Our Space Apps experience is thrilling, rewarding and memorable all at the same time. It is thrilling because this is a challenge that puts our time management skills, ability to plan ahead and capability of executing the plan to a test in just 2 days. It is rewarding because witnessing our project went from ground zero to a functional application in just 2 days is quite an achievement. We are able to learn new things, develop new skills and grow in the process. It is memorable because we get to cooperate with people from different backgrounds virtually to achieve the same objective.


Why We Choose This Challenge

Our team chose this challenge because we think that communication is the key for a successful mission or project, not only in field of astronomical but also academic and commercial. Timely communication enables people involves in the mission to resolve any issues that arise as soon as possible to minimize any possible chain reactions. Besides timely communication, preservation of past missions is also equally important. Past records enables us to realize any mistakes that are done during a mission, which in turns allows us to implement improvements to future projects or missions. Just like Rome is not built in one day, the ability of human to explore places as far as Interstellar Space (which is where Voyager 1 and 2 are currently located) and physically land humans on moon is the cumulation of experience and mistakes made by our predecessors.


Our Approach

Our approach to developing this project is that we separate the challenge into 2 main phases, which are the planning phase and execution phase. In the planning phase, we plan out objectives to be achieved, software features that need to be included, User Interface(UI) to be implemented and the execution of our plan prior to the commencement of the challenge. Brain storming of the UI designs, page features and transitions between pages are visualized on a collaborative platform. In the execution phase, we then have a division of labour based on pages to be implemented, for example one person will be responsible to realize the User Interface design of a page, configure the page to perform the features. Upon completion of individual web pages, there will be an integrator to integrate all the pages into one complete front end software by routing the pages. Besides the front end, there will also be a member working on setting up the database and ensure the smooth transfer of data between front and backend of the application.


Challenge and Resolve

Obviously our journey in this challenge is not a smooth ones, there are many challenges to be overcome and errors to be debugged. The first major challenge faced is to have every members on the same page regarding the designs and features of the web-based software. Different backgrounds and distinct experience of team members led to a variety of ideas flooding in in regards to design and features of the software. Each member will have to explain and help other to visualize their designs and throughs. Luckily, we are able to overcome this first threshold through voice chat and utilizing cloud service like Google Drawings and Google Sheets. Second major challenge is each team member has different experience of using React.js, with some members more familiar than others. Our solution to this is to help each other out in times of need and utilizing modern powerful search engine to acquire relevant resources online to help with debugging. Being a 2 days challenge, it is clear that we are racing against time to get our application complete in time. As such, our team are programming the pages in parallel before integrating the pages together to maximize our efficiency.


Special Thanks

We would like to thank each of our team members for willing to spend their time in planning and bringing this software to reality.

We will like to give our appreciation and credits to these amazing website that provided the background wallpapers four application.

For the login, register, and the page of user profiles :

Image by <a href="https://pixabay.com/photos/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=1023340">Free-Photos</a> from <a href="https://pixabay.com/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=1023340">Pixabay</a>

For the lobby page :

https://wallpaper.dog/nasa

Besides, we would like to thank NASA Earth Science Division for organizing this challenge and giving us this precious opportunity to grow.

Tags

#Web Application #Console Logs #Space Communications #React JS #Cloud Database

Global Judging

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