High-Level Project Summary
The idea of this project is to provide pub/sub mechanisms and custom/focused user interface for the exchange of log entries during missions by flight controllers and other applicable observers. The system offers real-time integration of logs from logged users in a seamless view where log entries of a particular user are displayed to that user along with those of other selected user's. The system also enables the use of extended attributes, tagging, mentions and categorization of messages all embedded in the new message textbox interaction.Also this system is scalable to many other operations scenarios where collaborative exchange of observations at a scale (hundreds of participants).
Link to Project "Demo"
Link to Final Project
Detailed Project Description
Lunar Pubs team was named with the idea of having a relax place to collaborate and exchange information, also to evoke the pub/sub nature of the challenge.
Team Members:
- Wendy Solano (9th year student at Technical High School Don Bosco - looking for software development specialty)
- Mathias Nunez (8th year student at SAMAGU)
- Jose Nunez (Senior Technologist and Software Engineer. IT Development Manager at Trevi Pay CR)
The goal of this challenge is to create an application that can immediately and seamlessly integrate log records of many users (at least 100+ users on the same network). Such an application could be valuable to real-time mission support and long-term record keeping of future lunar human spaceflight missions for the benefit of scientific communities and the public.
LPC is conceptualized as a specialized log registry for NASA's requirements, though the same concepts apply to many other scientific operations including research, surgery, rescue, etc. The following list describes its target features prioritizing those marked as [MVP].
- User Identity and Access Control [mvp]
- Scalability to hundreds of participants in a single logs/journal network. [mvp]
- Central console for log entries registration and observation. [mvp]
- Capability to integrate logs from other participants in a single view. Since number of participants may be around the hundreds, a feature to select which participants will be integrated in the log viewer is provided. [mvp]
- On-the-fly edition of one's log-entries while preventing the edition of log entries of other participants. [mvp]
- Capability for enriching log entries with a number of elements beyond the message which include tags, mentions, links, images, videos, audio, attachments and extensible attributes, categories, sensitivity classification of entries. [mvp]
- Approval of one's log records in batches, which make them permanent read only and formally published to the network.
- Capability to add and maintain notes on log records of all users. This means that a user can add a note to entries of another user as a participant for discussion.
- History tracking of editions to log records.
- Capability to export full or partial logs of a mission or network in formats such as HTML, PDF and EXCEL/CSV

Space Agency Data
We based our design of the solution in different sources from NASA and the Space Apps Challenge site. The following elements were of particular importance for us:
- Apollo 13 - Day 3, Part 2: 'Houston we've had a problem''- Corrected Transcript and Commentary Copyright ©2015-2020 by W. David Woods, Johannes Kemppanen, Alexander Turhanov and Lennox J. Waugh. All rights reserved. at https://history.nasa.gov/afj/ap13fj/08day3-problem.html
- Lunar Surface Operations Challenge Resource - EVA Console Log by NASA at https://www.youtube.com/watch?v=bQdpfA0Wsho
Other resources we explored:
- Lunar Exploration Analogue Deployment (LEAD) - Rover Data by Canadian Space Agency at https://donnees-data.asc-csa.gc.ca/en/dataset/9151430-4v0p-4t5c-468vnhj714ao64
Hackathon Journey
- Jose - I was initially inspired by the technology challenge this represents. I have recently been investigating about message distribution technologies such as web sockets and server-sent-events (SSE) and created a module for general purpose pub/sub using SSE, that is implementable under the LAMPP stack (Linux/Apache/PHP/Perl) which enables message distribution from platforms where web sockets are not an option. Furthermore NASA is quite an inspiration for me and many people I know, and aiming to collaborate with NASA in any level is always inspiring for me.
- Wendy - I was inspired by having a little participation with NASA. Some years ago I started learning Software Development and this is a great opportunity to apply and grow such knowledge. Speakers and testimonials have been amazing. I was inspired by MENTE network dedicated to promote women at STEM fields. This opportunity sparks a lot of curiosity about technology and a lot of inspiration for self growth and I hope things like this hackathon can inspire more women to aim high on technology. Being exposed to expertise.
- Mathias - I was very curious about the opportunity to do things with NASA. This is way too interesting. I learned a bit of PHP, JavaScript but more than that I learned about how other teams do their work, how people can have different approaches to solving one challenge and that may spark numerous other ideas.
References
- POKERPHASE-AGENT | A GENERIC MECHANISM TO IMPLEMENT PUB/SUB NETWORKS by Jose Nunez at https://docs.google.com/document/d/1S-MMJObDc6xF2uix1n1roXCtYiTCQIIIVkzNENK5cfw/edit?usp=sharing
- How to get Server Sent Events work nicely in PHP by Kevin Choppin at https://kevinchoppin.dev/blog/server-sent-events-in-php
- Caso de Estudio – SSE en PHP, connection_aborted() y register_shutdown_function() by Jose Nunez at https://costaricamakers.com/caso-de-estudio-sse-en-php-connection_aborted-y-register_shutdown_function/
- Eventos Iniciados en el Servidor (SSE) by Jose Nunez at https://costaricamakers.com/eventos-iniciados-en-el-servidor-sse/
Tags
#journals #logs #operations #PHP #SSE #Websockets #NASA #Console #Collaboration
Global Judging
This project has been submitted for consideration during the Judging process.

