Artemis Lunar Missions Control

High-Level Project Summary

The Artemis Lunar Missions Control is a UI application which will enable all the collaborators of the lunar missions to log their observations in a seemless manner. This UI allows the collabrators to create an account of their own and post his/her logs into it and gives a choice to either allow his/her logs to remain private or put it in public or share with people he/she wants. No one apart from the account holder has the access to edit his/her logs but other members can view context of the log and download attachments like images, text files,etc posted by the person. This mainly provides protection to the person's work and also ties together all the logs he/she worked on at one place.

Detailed Project Description

Artemis Lunar Missions Control is project that has been developed to address the challenge of the real time collaboration of different people and communities during the lunar missions. The UI has been created to allow the people who are part of these lunar mission to post their observations in a seamless way. They are provided with the ability to decide if they want their logs to be kept to themselves or share it to all the other fellow collaborators or share with the people of their choice. No one other than the person in question has the ability to edit the logs in any way, thereby protecting their observations. There is also a place where all the public logs can be viewed by everyone with an account. They can filter their searches by any keywords relating to the project or by date.


Firstly every member has to register themselves by giving the username, email and password. Once the account has been created then he/she will directed the his/her logs summary page. This page shows all the logs he/she has posted since the account has been created in a tabular form which is supported by pagination as well. The tabular form shows the subject and context along with time when the post was created or last updated. To view the log in detail the person needs to click on view option to route him/her to the log detail page. He/she can find his/her log posted in detailed manner and also can update his existing log as well.


Generally when a person creates the account they dont have any logs created by them yet. To create the log all they have to do is click the Post Logs option from the top nav bar. This will direct them to post logs page. In this page the person needs to provide a subject for the log along with some context as well. Then on the right hand side we can see the files associated with the log. The person can put the attachment files related to post or delete any existing attachments in case of already submitted log. Finally the user has the choice to decide the accessibility of the log whether to keep it private or public. If its public then he can find his log under the Public Logs option on the navbar. Public logs mean anyone with valid account can see it. If its private then the person gets a feature to share his post with one or more people. Once this log is shared with person X then that person can view the shared logs under Shared logs option on the navbar.


All of the shared logs will be presented in tabular form like in the case of the Post Logs. The logs can be filtered by keywords related to subject or context of the log or by the date when it was created or last updated.


Advantages provided by this UI logging tool are









  1. Logs are always protected : No one apart from the account holder can edit the logs.
  2. Different accessibility options : The logs can be posted to public or retained with oneself or shared with known associates.
  3. All work under one place : All of logs or work done by the person can be viewed at one stop in a tabular form with filtering options.
  4. Logs typed or supported with attachments: A person can give detailed typed entry in the log or can save the data in files and put them as part of the log in the form of attachments.
  5. Real time access to logs : Any one can post the log as public and anyone from any where in the world can view it in real time. This will help people to share their observations to larger set of people enhancing better communication and leading to better prospects.


Tools :


Angular 8 was used to develop the UI or the client . MySQL is the database which is used stores all the of the data.Finally the server code is written using the node js and this is the backend responsible for making the UI tick.


Further development:


Certainly there is a good scope to improve the project.









  1. Mainly the lack of time didnt provide the chance to host the project into AWS cloud .
  2. Few more validations can be in on the UI side.
  3. Much better CSS modifications to make the UI look ravishing.
  4. Better Authentication


What was achieved:


Well i can say one thing with certainty that this project will enable a better interaction for the all the people who will be a part of the lunar missions. From astronauts to people on ground any one can quickly share the information they want to a large audience or to only few people. Simplicity involved with UI dev work will make to easy for people to post their work or observations and also the protection provided to their work to help them from not having sleepless nights :D ......


Github links:


Backend Code : https://github.com/KrishnaSai07/ArtemisLunarMissionBackend/tree/develop

FrontEnd Code: https://github.com/KrishnaSai07/ArtemisLunarMissonUI/tree/develop


In order to make the front end work one has to just follow the Readme.md instructions in the github link . Also to make the backend work one can setup the schema and tables into their local MySql Database. All the information related to DB is in file AlldatabaseDetails.txt file. Then one can set up the reference data by following the info given in the Readme.md file. To start backend server just run 'node server.js'.


Just make sure that in your local you have the Angular 8, Node js , NPM and MySQL database.


UI Designs:


Few images of the UI



Space Agency Data

In order to understand the purpose of this challenge all the resources shared were quite helpful. But the real help was the existing NASA resources website which brought me different ideas as to how to develop this UI which is enabled with pagination and give tabular view of the data stored. Since it was application to be developed for logging point of view there wasnt much data of the NASA and other esteemed space agencies i could use but like i said in the above statement the maintenance of the data by all these agencies really helped me to get the design that was needed for the UI.

Hackathon Journey

This is one of my most favorite places to write ... haha .. :D ... because after working on for almost 40 hrs this is where you put forth all the experience you earned by particiapting in the hackathon. This is my second space apps hackathon i have been a part of . But i can say one thing with certainity that unlike last time i could this time finish my project atleast 80 -85% . And it has given me a sense of belief that i can make quality Web interfaces which are more or less addressing the challenge in question. This belief that i got is completely owned to these challenges for which i wait every year.


Being a software engineer developing UI gives a bit of happiness especially when the effort to design the UI, develop the backend etc is for a greater purpose like this. Nothing inspires or motivates me more than the fact that there is chance that with my contribution if it is right for the cuase can make a difference to the world. And also looking at other teams and their work gives me a chance to add new horizons to my existing knowledge. Today i can quickly wip an working UI but with every time i can see different challenges brought by NASA for space apps i feel more motivated to learn other aspects of Computer sicence like Mobile App development, Machile learning as i am sure that there is always one place where i can test or apply my knowledge and abilities against poeple all over the world and become better everyday.


Approach to this project was always the idea to keep things simple. Looking at the UI designs of NASA and other space agencies gave me a fair idea as to how the UI will look for my project for this challenge. Having good knowledge in angular and Nodejs made it plausible for me to draw up this project in the very limited time.


Few of the challenges i faced were how to get this fairly large project completed in time. Also to provide the ability to add the upload and download actions on UI was quite challenge as i worked before on those in very limited capacity. So wasnt sure if I will pull this functionality off in the given time. But my persistant efforts to do right with the project allowed me to achieve this.


The only drawback unaddressed was the inability to put this project on AWS cloud. To those who will read this post if anyone wants to do that all one needs is couple of ec2 instances for deploying the UI and backend and an RDS DB instance for persistance.


The only thing or person i can think would be NASA space apps challenge .. yeah sounds a bit like i am buttering up the judges but honestly i am not. Every year since i have known about space apps i have something to look forward to address a challenge with the existing knowledge i have and also with the belief that in future when i try to learn other things there is always a place to apply it and

to apply it for a greater cause.


My sincere request would be to all people who view the project that please do try to get the code from the git and follow the instructions in the readme file and run this project in the local to view the effectiveness of this project. Again i sincerely apologize for lack of time to deploy this UI.

References

UI development : Angular 8


Backend Development : Node js , NPM


Persistance or DB : MySQL

Tags

#ArtemisLunarMissions

Global Judging

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